I’m pleased to introduce a new development and product that I have been working on in the past months: MightyHat !
It’s my first RaspberryPi hat and it it primarily meant to serve as an easy to deploy gateway for the Moteino Framework of wireless devices. It is a combination of ATXRaspi and MightyBoost with a bunch of other features that I long envisioned would be nice to have in such a gateway. Here’s a rundown of that:
- atmega328p @ 16mhz, 3.3v interfacing with the Pi via seveal GPIO: 2 for the power control (similar to ATXRaspi), 2 for serial (TX, RX), and a pin to RST the atmega328p
- ability to program it via FTDI header (when Pi is off), from the Pi with avrdude (when the Pi is running), and wirelessly through Moteino’s Wireless Programming capability
- optional Nokia 5110 84x48px backlit monochrome LCD for anything you want to display, the sample sketch will make use of this, see below for link. This is a great LCD alternative to the 2×20 character LCD I’ve been using before, and cheaper/more common too, and with the great u8glib font support, you can fit really long messages on the screen
- optional battery (standard 1 cell Lithium Polymer, 2Ah+ recommended) backup can be hot plugged in any time if you want to have backup power. It will also run without a battery without any issues. While plugged, the charging circuit is activated and will charge the battery if external power is present. If external power is lost the battery kicks in to keep your Pi running. The included sample sketch has a voltage threshold that once reached will trigger the Pi to shutdown cleanly
- Fun fact: a 2000mAh battery will run a typical setup like the one below (Pi B+, wifi dongle, MightyHat + active atmega328p + RFM69HW + LCD) for about 3 hours before it will shutdown the Pi when the battery reaches a low voltage threshold:
- external power is conveniently provided through the usual micro USB or 2.1mm jack
- included red/green button makes for a nice power button that will control power to the Pi through the GPIO header and a power path that includes a 5V booster (similar to MightyBoost). The power path to the Pi is latched so that regardless if the atmega328p is reset, the power to the Pi is uninterrupted (as long as USB or battery is plugged in). This makes it possible to reprogram the atmega328p at any time, even directly from the Pi as I will show in a future walkthrough
- allow RFM69W/HW and LoRa RFM95/96 transceivers to a wide range of low power and long range RF applications
- the Pi GPIO is doubled to the top of the board where you can solder headers to bring it to the side. The included headers will also protrude and make all pins accessible on top of the PCB already
- buzzer if you want to get creative with beeps/alerts
- SMA footprint allows soldering SMA connectors for more aesthetic/commercial looking antennas if you mind the usual wire monopole antenna
- compact design brings all essential ports to one side (where USB/ethernet is) while allowing easy access to all secondary ports (HDMI, audio, SD card access, etc)
What is great about MightyHat is that it can run “headless” somewhere in a box with only power and a Wifi dongle attached (and battery if you want power fail safe). The R/G button is right on the board and will show the power status of the Pi in colors (red, green or orange) with blinking and PWMing for different changing states, most of how this works is borrowed from ATXRaspi, with a few differences.
What was particularly difficult in making MightyHat was finding all the right parts to fit everything together and feasible for a case (hardware, headers, positioning of parts on top/bottom of the board etc), and getting everything right in just 2 prototype runs. Also I’ve been looking and testing graphics libraries for the Nokia 5110 LCD that goes on top of it, and I finally settled on u8glib which I think is superior to others that aim to do the same thing and it supports a ton of devices and has a ton of included fonts, awesome. I am working on an acrylic case which I hope to have ready soon as well. I published a sample sketch for MightyHat and I will continue to tweak and improve it. There is also a MightyHat page where more info will be added as it becomes available.
A lot of work has gone into this and a lot more needed to bring more documentation and a user guide to all the features. As work progresses I will release a new Pi image that will have everything setup for this MightyHat to work right out of the box. Stay tuned for that…
Finally, I put together a MightyHat customizable kit which is available in the shop (R3 kit shown):