Hi Paul,

This project is a solar hot water controller that uses a Teensy++ and one of your 128x64 graphic displays. The relatively high cost of commercially available controllers that can deal with 5 zones and 2 pumps drove me to find a lower cost solution. Your seamless integration of Teensy into the Arduino IDE makes program development allot easier. Although I do have to admit I primarily use the vi editor to do most of the coding. Then the Arduino IDE does the rest.



The controller uses the following libraries:
EEPROM - to store configurable parameters.
GLCD - For the display.
Ethernet - A small webserver to get temperature data off the controller. And UDP to get ntp time data for the internal clock.
OneWire - There are a total of (6) DS18B20 temp sensors. The sensor out at the solar hot water collector is a long run. To get reliable communication with that sensor I put it on it's own pin of the Teensy. The other 5 sensors are on another pin.
Bounce - To de-bounce the buttons.
DateTime - I did not use most of this library. Just pulled a function that takes the ntp time_t seconds and fills a tm struct.

The hot water collectors are the evacuated glass tube type. These can quickly reach very high temperatures if the water/glycol solution does not remove the heat fast enough. A failure in the controller would cause over temperature and over pressure conditions within a couple minutes. So the hardware and software have to be robust and bug-free. There's 2074 lines of C code. It seems like such a simple project to simply turn on and off 5 zone valves and 2 pumps but in reality it's not so easy.

So, Thanks for turning Teensy into TeensyDuino. I can only imagine how difficult it was to get it to all work together (hardware, software and people!),

Rich