Last we met, we built a prototype temperature wireless RF temperature controller. We got some good ideas and a Beer Fridge monitor out of the deal. We also realized, however, that we were flying pretty close to the sun in terms of the available memory we had to work with. Considering we weren’t concerned about power consumption, wanted to make our IO as flexible as possible (for example more interrupts and UARTs), we decided that a more powerful micro is in order. Enter the Moteino MEGA. Take a Moteino R4 and swap out the ATMEGA328P for a 1284P, add a reset button, and you get the Moteino MEGA. Fantastic idea. It’s a slightly larger footprint, but all progress has a price, right?
Now since last time, when we realized soldering was going to be a chore with all of our itty-bitties on one board, we had a couple PCBs made. Since we wanted to use the same enclosure and still use all hand-solderable DIP components, we ended up needing two PCBs stacked. We left the headers for our Moteino exposed, however, so we can still get to them easily. Shown below are the boards with all of the components (some optional) that we can jam onto it.
The other great part about stacking boards is that it will put our displays high enough that we won’t need to attempt to fix them to the inside of the enclosure. This helps for taking it apart and service, and also eliminates the need for the messy silicone arrangement we were attempting on the last build. Here are a few photos after it’s all assembled. You’ll notice the switch mode power supply is not used here, as we’re controlling a thermostat, which has a 24VAC contact. We put this on the mechanical relay, an advantage for when you need to handle things like AC voltage.
The astute reader will note that the board has been modestly pruned in a few locations where my CAD skills and attention to detail were a bit, um, unfocused. This is why we prototype! Here are a few more pics that show the fit, including the height of the displays:
Finally, we need to attach our encoder for user input, as well as the remainder of our IO. Here, we’re going to use a waterproof 1Wire temperature sensor, and close a relay contact for 24VAC that runs the house furnace. We’ll power it on a USB power supply and feed that in. We’ll also need to drill holes for the cable glands. We won’t bore you with those details. Here are a few pictures from during assembly:
And finally, here is the end product:
Now on to the installation and programming. In our next post, we build this guy into a home thermostat using a Raspberry Pi in our CuPID base unit as our control/sensor gateway.
The above makes use of the open source libraries available on github, including sketches, python and all web libraries:
Explanation and installation here: