> Cool. Details? XScale or ARM9 for the "main" cpu, with an ethernet interface, a CF slot for the OS image, ram, etc. The usual embedded linux design. It depends on what's available at the time.
Each of the four zones gets an R8C/17 to run the zone on behalf of the main cpu; this mostly involves one-wire timing, polling, and coordinating mandatory delays expected by the LCD I'm using. They're about $4 each and, unlike FPGAs, you can program them with GCC. These chips were designed to be used this way. Those five use I2C to talk amongst themselves. Alternately, redesign the thermostats to use a cheaper LCD panel, but add an R8C or M16C in each of those (there are three at the moment), let that cpu do the temp/humidity measurements (cheaper sensors), poll the buttons (I/O pins), and run the LCD. Have those cpus talk rs232 to the zone cpus in the furnace (they'll manage the error recovery etc). Same furnace board, different communications protocol. The fourth zone remains one-wire because that's an outside sensor.
