Mad not-quite-HATting

With space at a premium in this year’s bot (it amounts to a squared-off Pi):

Pi overlaid with a square, showing the size of the enclosure

and because I fancied having a go at it, and, Lance had his hands full with the CAD work, we decided to design a custom PCB. It’s now on its way to us from Shenzen 🙂

Picture of our boards in bubble wrap
The board house sent us a photo when they finished production, which was a nice touch

The custom PCB needed to combine several functions that were separate boards and breakouts last year:

  • I2C mulitiplexer
  • propeller microcontroller for interfacing with the motor drivers/encoders
  • connectors for all the peripherals (IMU, motors and distance sensors)

along with some new functions that we wanted to squeeze in (screen and voltage sensors to monitor the batteries, for example).  I also thought it’d be a good idea to add some isolation and level shifting chips to the design so that we could better isolate the motors and support having noisy and clean power supplies.  Previously, we’d had gremlins that we thought might be down to noise and brownouts caused by the motors.

Since it’s pretty much the only game in town for open source PCB design (and Lance and I had used it before), we used Kicad to draw the schematic and then design the board itself.

We’ll cover a  bit more detail on the design in the next few posts but, if you are interested in making your own board, my number one tip is to punch “Kicad” into Youtube’s search box.  There are great how-to videos on there that guide you through the whole process.  My second tip is to search for “Kicad push and shove”; which will show you how to use the automatic layout tools.

Note about the title: while it fits on the Pi, our board isn’t a HAT because there are rules about what makes a HAT 😛  also, we’re mad to try soldering some of the chips we plan to put on there; they’re tiny :-O





One thought on “Mad not-quite-HATting”

Leave a Reply

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