As I mentioned in my last post, I think ISP programming of the BrushBot Comm boards is the way to go. What’s more, it should be possible to get double-duty out of an ArudinoISP based programmer and use it as a serial link for debugging. This requires hacking the ArduinoISP sketch and setting up some sort of serial comm between the BrushBot Comm board and the ArduinoISP.
Since the tiny44 doesn’t have a UART, we could either use the SoftwareSerial library to big-bang serial on any pin, or we could make use of the SPI hardware support provided by the tiny44’s USI module. The former is prone to timing problems, but is probably easier to setup. The latter makes sense because the necessary SPI comm pins are the same as that used for ISP programming, and thus are already cabled, and the hardware comm support should reduce the flash and resource usage in the tiny44. I’ve started down the SPI route and am adding USI SPI support to the BrushBot core that would more or less replicate the functionality of the HardwareSerial code found in the Arduino core. This will allow “print” statements to work over SPI.
In order to do both the ISP programming and debug comm with a single device, we’ll need to use an Arduino rather than Atmel’s AVRISP. I picked up a handful of cosmetically defective but fully functional Teensy 2.0‘s at Monday’s DorkBot at a very reduced price that will fit the bill. If you need an Arduino to use for programming, then see me at Saturday or Monday’s meeting and get one for what I paid for it.