megacontroller_collage

CuPID MEGA Remote : Killer Controller

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.

 

Components for our MEGA controller
Components for our MEGA controller

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.

Our board and components, assembled, with a demo fit into our box.
Our board and components, assembled, with a demo fit into our box.

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:

Profiles of our controller, all assembled.
Profiles of our controller, all assembled. The displays are nicely elevated for viewing

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:

Getting all the IO into the box. In this case, we've got 5V USB power in, a 24VAC furnace run contact, and a 1Wire temperature sensor.
Getting all the IO into the box. In this case, we’ve got 5V USB power in, a 24VAC furnace run contact, and a 1Wire temperature sensor.

And finally, here is the end product:

All wired up! Everything sealed up and in its place.
All wired up! Everything sealed up and in its place.

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.

Reference

The above makes use of the open source libraries available on github, including sketches, python and all web libraries:

Explanation and installation here:

 

Leave a Reply

Your email address will not be published. Required fields are marked *