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!),