FutureKit Temperature Controller
I bought this figuring it looked like a fun board to reprogram if I did not use it as a temperature controller. I don't see any source code floating around the Internet for it, so I will create some. :-)
First I thought I'd try it out in its stock form. Then I packed and moved from Oregon to California and lost the ATmega8 microcontroller! I am sure it's one of my storage bins! But coding is more fun that searching bins...
Here is the data sheet for this kit.
This is an approximately 8x10cm card with a large 4 digit red LED display, 5 push buttons, relay, LED, two 3 pin headers to connect temperature sensors via 3 wire ribbon, and a 7806 6vdc regulator. (6 volt? really? There is a diode inline that drops it below the 5.5vmax for the CPU.)
Board input power is spec'ed at 12vdc, so that the 12v relay can fire. I bet it would work down to the dropout of the voltage regulator, which must be around 8 volts. High voltage input is determined by other components (like electrolytic caps) but should be fine up to about 14vdc.
I am upgrading to an ATmega328P microcontroller to make it more compatible with my shiny new Arduino Uno. It will drop right in. I bought a replacement along with a USB tiny ISP programmer from Sparkfun; this board has pads for a 6 pin inline header that taps into the ICSP lines so I can reprogram the controller in situ.
Sensors are one-wire DS18B20 https://www.sparkfun.com/products/245
7 segment LED display: port D0-D7 control the segments:
PD0 g PD1 c PD2 d PD3 e PD4 dt PD5 b PD6 f PD7 a
port PB0,PC3,PC4,PC5 select the digit
PC5 1 (numbered left to right) PC4 2 PC3 3 PB0 4
Push buttons are on
1 PB3 (MOSI) 2 PB4 (MISO) 3 PB5 (SCK) 4 PD7 (shared with 7-seg segment 'a') 5 PD6 (shared with 'f')
Relay is on C0
Sensor #1 is on port B1 optional sensor #2 is on port B2
There is a programming port 1x6
1 RST 2 GND 3 MOSI 4 MISO 5 SCK 6 +5V
There is a 2x3 port, undocumented. These could be used to connect potentiometers or some other analog sensor (light sensor? PIR?)
PC1 (ADC1/PCINT9) 1 6 PC2 (ADC2/PCINT10) GND 2 5 GND +12V 3 4 +12V