Hmmm - I think I will de-lurk now!
My name is Doug Jackson. I have been active in the microcontroller
arena since 1982.
My first computer was a 8085 based TRS-80 Model 100, followed very soon
with a Pulsar Little Big Board Z-80 based CP/M system. My standard Tech
projects involved solving problems using state machines, when the rest
of the class was using discrete logic. I actively collect small micros
from the period before 1982, sporting a set of TRS-80's (and clones),
Commodore, and Apple systems, as well as various Intel and zilog based
development and training systems. Basically, I love the world before
the PC came and turned it all boring. I enjoy re-building old
computers, the way they were originally designed, and am working on a
re-creation of the ELF at the moment.
My primary programming language used to be Forth, and I have written a
few forth systems for clients in the early 80's. I am also comfortable
with various assembly languages, and C / C++. These days, I don't write
code for my day job, as I work in Information Security, telling clients
how to keep people like me out of their systems :-) But playing with
technology is a massive hobby for me, one that occasionally generates
I have to also admit that when I am solving a problem, I tend to use
whatever tool fits, and I do use a lot of PIC micros. Yes, they were
useless in the early years, but that is not the case now that they all
support flash memory, all have a useful mix of peripherals, and some
even have USB support that is onboard (which is mandatory for talking to
modern computers). Programming them is trivial - The instruction set
is a bit bizarre, but thats what the compiler is for. There is no way
on Gods Green Earth that I am writing USB routines in assembler :-)
The other reason I use them, is that you can get 6 parts, for a total of
$7.50 delivered from their samples website.
Now, before people ignore me, I have also used AVR components, as well
as Arduino boards, and none of them can compete with the about $1.20
price of the PICs. In fact, it is fascinating to hear people saying
"why don't you use the Arduino for that..." - I don't cause the boards
cost me $30. Apart from the different instruction set on the AVR, the
component was still just another Micro. I remember fighting the same
stupid things I did with the PICs when I was starting with the AVR.
I don't understand the "infrastructure security blanket" comment with
the PICS - the infrastructure for me, is a PC (mandatory for all modern
components that don't have some sort of front panel), the free compiler,
and assembler tools, and a trivial programmer that I built on a piece of
vero board. Lets compare the size of the blanket for the PIC with that
for the AVR - I still needed a PC, a compiler/assembler, and something
to program it. For the Z80, I still need some sort of computer (CP/M or
PC is ok), a compiler/assembler, an EPROM Programmer, and some extra
hardware on the board to make it work. For the ELF, you just need the
ELF itself, but if I try to embed an 1802 in a project, I still need
something to program an EPROM, as well as the logic on the project to
allow the 1802 to see the EPROM and the memory device. A solution that
should have been solved with one component needs 4 at least.
As far as forth, I have had renewed interest in Forth on the PICs - In
fact our sprinkler controller at home is built using a PIC 18F4455,
running forth. Have a look at PICForth. The sprinkler controller
consists of the following components on the PCB - 1 PIC, 9 resistors, 8
transistors, a voltage regulator, 4 push buttons, and a LCD display.
There isn't even a traditional resonator - it runs on the internal
oscillator. What's so bad about that?