Introducing MightyHat!

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):

7 thoughts on “Introducing MightyHat!

  1. Hi,
    This is great. Nice solutions! I like it very much.
    I immediately made an order now. I am very curious for this solutions. 🙂
    Roman

  2. Very nice Felix! One problem: I followed the link to your shop and went through the options, and it seems I can only select “No LCD (default)”. There is no option to actually select an LCD that I could see.

    • I only had a limited number of LCDs (less than the count of MightyHats) so I am sourcing more now. Since the LCD is so common you can always source it somewhere else or wait until I have it available again (by end of next week or so). Sorry about the inconvenience…

    • Just make sure the order of pins match on the LCD to the labels shown on the MightyHat board pictures. I have sourced the same as pictured but did notice that some alternatives available locally in the UK had a different pin order. May be a problem.

      • The expected pinout of the LCD is printed on the MightyHat silkscreen… I will try to stock more of the correct LCDs to make it more convenient for people…anyway I’m sold out of the hats already, need to order a new batch.

  3. Nice work! I didn’t see it in your store, but I’d suggest you also sell the optional LiPo that goes with it.

    • LiPos are tricky business to ship, many restrictions. I would recommend the 2000mAh battery from Adafruit, that is what I used and works well as a backup for MightyHat.

Comments are closed.