I made a few purchases that lead into those potential products, and some of the parts have now arrived. From Deal Extreme, I acquired a couple of CA-42 USB phone cables. One of them is now hacked off and soldered into some Veroboard, with an LE33CZ 3.3V voltage regulator, to make a TTL-level serial-to-USB cable. That cable now connects my various ATmega chips to the serial terminal emulators on my various host computers. It's a Prolific PL2303 USB chip, not the FTDI chip found in the Arduino, but I have drivers for Windows, MacOS and Linux (MacOS and Linux appear to have them pre-installed). From Rapid, I have acquired a number of handy 9mm square LED modules (I also got the LE33CZs there, and a Hall-effect magnetic field sensor). Each LED module has four LED chips in it, which can be wired in series-parallel to work off 5V. They stack nicely end-to-end, so my plan is to make another long row of them with 74HC595 chips to drive them from the Arduino. Finally, from Futurlec, I've ordered some 8x8 LED dot-matrix displays, in which the individual LEDs are square (the commonly-found types are round). Also from Futurlec is an LPC2119 ARM development board.
Make magazine liked my panoramic photo of the lab!
In the lab, as seen above, I've been upgrading from a 16MHz Atmel ATmega32 to a 20MHz ATmega324. It has more memory, a second serial UART and a few detailed changes in the register-level programming interface. The assembler-coded software for the ATmega32 is now converted to work on the ATmega324. Also, the assembler code computes the baud rate divisor and 100Hz clock divisor directly from the CPU clock frequency, which makes it easier to change things in future. I'll transfer that code back into the ATmega8 programs as I get round to updating them.
Spent Friday afternoon at the Pervasive Media Studio and came away with a number of interesting ideas for the Arduino, ATmega32 and 6809. Will be there again for Dorkbot next week.
And as for the ATmega8 (which looks a bit old-hat now that we have the ATmega328 in the Arduino), I need to get something to show at Dorkbot on Tuesday. So as a prelude to receiving those 8x8 pixel square LED arrays, I will be re-activating the dual 5x7 dot-matrix display. When I last had it running, I used an 8MHz ATmega8 module and a pair of 74LS374 8-bit latches. Since then, I've made a 16MHz ATmega8 PCB with two 74HC595 8-bit shift registers, originally as a persistence-of-vision wand. So now I must update the code to drive the shift registers, and to run at 16MHz. While I'm doing that, I might as well add a timer interrupt to make the scanning of the 10x7 display into a background task, and write some sort of simple game as a foreground task.