a couple ways stuck
Friday, November 24 2006
My attempts to log the goings on of my Arduino-based solar sufficiency controller have proved ill-fated. I had everything working reliably from the board up to the little Perl script that tags lines of data with a datestamp. I'd even made progress on writing the code necessary to boil down megabytes of data into a few hundred bytes of data highlights. But since that time the datalogging has proved unreliable. Something periodically causes the serial line to the basement to get stuck (I can't really say how) such that the Linux-based computer doing the logging stops. I'm no Linux expert, and the only solution I have in these situations is to reboot the logging computer. I've yet to find anything online telling me how to gently reset a stuck serial port on a Debian-Linux-based computer.
My interest in the Arduino development environment has me interested in finding ways to get it to work in other, more-capable processors besides the limited Atmega8, which only has 8 kilobytes of flash memory to work with (about twice what my first computer, a VIC-20, had). The Atmega168 was the most obvious initial target expansion processor, with its 16 kilobytes of flash memory and its compatible pin layout. Most of the work for processor had already been done by the Arduino team, though it required a sequence of undocumented hacks to load (burn) it with the necessary bootloader (this allows the Atmega168 to communicate with the Arduino environment running in a window on a personal computer). I became so adept at burning bootloaders that I actually became a supplier of Atmega168s pre-burned with the bootloader. (In so doing, I was surprised to discover that it only costs 97 cents to ship a 28 pin DIP IC to the Netherlands.)
Now I've set my sights on the Atmega32, which is a big 40 pin chip with 32 kilobytes of flash space and scads of I/O pins. Back when I didn't know anything about the Atmel processors, I bought an experimenter's breadboard allowing me to build something with an Atmega32. Before I can decide what that something will be, I've got to figure out how to program it. Ideally I'd figure out how to get it to work in the Arduino world. Using similar techniques to those I've used to burn bootloaders on Atmega168s, I've burned the Arduino bootloader (supposedly Arduino32 compatible) onto an Atmega32, but so far this hasn't permitted any sort of communication to take place with the Arduino environment. The Arduino guys gave me a few pointers on the Arduino messageboard, but I'd need more satisfaction from the bootloader before being able to benefit from their ideas.
It was demoralizing to run into a brick wall so early in the process. I'd been fantasizing that I'd get something working dramatically and well once I screwed up my motivation and set to work on it, but things don't always work that way. I'll have to circle around a few times and find a couple easy pieces in this puzzle.
For linking purposes this article's URL is:feedback
previous | next