Microchip makes a line of cheap little embedded processors which they call PICs. PICs are kind of the bottom of the bucket of embedded processors, which is really an advantage. For about $2 you can get an 8-pin PIC that can barely compute in any meaningful fashion...perfect for embedding into projects in which you would otherwise not expect to find a processor. That said, so far I've been using the PIC18F1320, which is a relatively advanced PIC. For example, its instruction set makes it convenient to keep a stack!
But the point is that a PIC needs no external logic, no oscillator circuit, no RAM.
I like to fly radio control airplanes (when I have the time and all my ducks are lined up), and I have a simple 4-channel radio. I noticed that it has a buddy box connector, which is to allow you to slave one radio from another. I talked to my dad about this and he explained the protocol used on this connector, and it is indeed very simple. Finally I built a model where I really wanted differential, and another where having greater control over elevon mixing would please me. So I decided to upgrade to a fancy expensive computer radio!
So I built this little PIC TX box, which hooks up to the
buddy connector. In normal operation, the radio transmits the 4
channels representing the stick positions.
When buddy mode is triggered, it outputs the
4 channels as mixed by this PIC TX. If you have interest in building
one of these yourself, or looking at my source code, email me!
First, here is a picture of it in its closed box, so you can see it
is durable and can be thrown in with a big pile of radio equipment to
take to the flying field. The box came from a motor called the MAGNUM
XL:
Now, here it is with the cover off.
At the top are 5 buttons that
are like "soft-keys," the corresponding function of these buttons is
displayed along the top of the screen. At the upper-right is the ICSP
(in-circuit serial programmer) connector for upgrading the firmware.
At the upper-left you can also see the contrast adjustment trim
pot. To the left of that is all of the components for this. A 7805,
power supply filter capacitors, and some resistors and a transistor for
interfacing with the buddy connector. The PIC itself is under the
LCD.
Here it is connected to the radio:
And here is a close-up of the screen, while it is connected to the
radio:
Sorry for my poor quality camera. Along the top you can see the soft
buttons select 4 mixing controls: In: scaling and centering applied
first, Exp: exponential, Mix: cross-channel mixing (or even remapping),
Dif: differential,
-->: more options. Along the bottom is a neat display. "In" shows 4 bar
graphs for the stick positions (you can see that stick 3 is all the
way down, that is throttle). "Out" shows the output channel positions
sent to the aircraft (no effects are configured so it is the same as
In).
I wanted a thermal logger so I could better understand the effects of various changes I make to the airflow and other aspects of house heating. With this unit, I could build a thermostat as well.
Here it is:
Along the top, it is two buttons ("select" and "next"...I mounted the
display upside down, so the text is upside down), then a 5-bit shift
register I added as a hack when I found out the LCD's 4-bit control
mode didn't work (I had to run it in 8-bit mode, so I had to come up
with 4 more I/O pins in a crunch). Then there is the 24x1 LCD, which
was very cheap. Below that is an IC socket with a 1024kbit serial
flash EEPROM and some pull-up/down resistors and a capacitor for the
thermal sensor. Along the bottom is the PIC18F1320, then a 7805 with
filter capacitors, then an ICSP connector. The tan cable terminates
in the thermistor. The black and red cable terminates in that wall
wart.
See the test pattern on the LCD? ". . . . . ." Very clever!
The bottom side:
Note the liberal use of hot melt glue for physical assembly and to
keep the solder joints from getting fubared. Also note the hackish
addition of a daughter board for the 5-bit shift register! The
picture is not very good, but the IC sockets are all wirewrap for
super convenience.