NULLCape. How to Roll your own BeagleBone Capes (Part III)

In part II ( I explored the contents of our cape EEPROM. This time I will show how I physically built the NULLCape...

I would say I'm reasonable good at software. I'm kind of average at hardware. But I'm a complete noob at mechanics. Yes, even building the simplest BeagleBone Cape ever, I made several mistakes. You will read about them in a while and maybe my simple advices would be of any use to you.


As usual, all the information you might ever need to physical build your cape is in the System Reference Manual. Specifically in section 8.7 you will find all the mechanical specifications for building your cape.

That is reference information, the cape does not need to exactly fit the drawings in the manual, however it is good to read the section anyway.


I started with a perfboard big enough to fit over the Beaglebone. Then I just place it on top and used a marker to select the areas to cut off. As the SRM manual mentions is good to do the cutting to fit the Ethernet as it allows easy identification of the right orientation of the cape when plugging it in.

NULLCape Part 3. Marking perfboardNULLCape Part 3. Marking perfboard

Then, with a rotatory tool I cut off the parts of the perfboard I previously marked.

NULLCape Part 3. Rotary ToolNULLCape Part 3. Rotary Tool

The board fitted OK on top of the BeagleBone...

NULLCape Part 3. Perfboard cutNULLCape Part 3. Perfboard cut

... but, here it comes my first mistake. Instead of counting the holes on perfboard I just draw the line by hand... and I missed the last pins row in the BeagelBone Black header. For the NULLCape it doesn't matter as those pins are not used... but, it is just a stupid mistake.

NULLCape Part 3. Mistake 1. One row lessNULLCape Part 3. Mistake 1. One row less

After that, I placed the pins I needed in a protoboard to solder them in place. I added two pins on the right header to provide some stability to the board. Those pins are ground and are also available in the other connectors so you do not really need to use them, except for the extra mechanical stability of the cape.

NULLCape Part 3. Placing pinsNULLCape Part 3. Placing pins

NULLCape Part 3. First solderNULLCape Part 3. First solder

Now I can physically connect the board to the BeagleBone!

NULLCape Part 3. First ContactNULLCape Part 3. First Contact

There is a capacitor close to the USB host connector. It looks like it won't allow the cape to fit, but the extra spacing in the pins soldered to the perfboard makes the match perfect, as you can see in the picture above.


Now you just need to add the cape components to the perfboard. For completeness I will describe how I did it... well actually, I will do that to introduce the second stupid mistake I did while building my cape.

So the first thing I added was a IC socket to place my EEPROM. I placed the pins for the I2C EEPRom close to the I2C pins in the BBB connector, using some tape to fix the socket to the board.

NULLCape Part 3. Holding the IC socket for solderingNULLCape Part 3. Holding the IC socket for soldering

And then I just soldered the socket to the board.

NULLCape Part 3. IC socket solderedNULLCape Part 3. IC socket soldered

Then I connected the EEPROM power and ground. For that I just used two wires.

NULLCape Part 3. Power and GNDNULLCape Part 3. Power and GND

And solder them, adding extra solder between the end of the wire and the Vcc and GND pins in the socket holding the EEPROM. Then, I added the pull up resistors for the I2C lines, using the leads of the resistors to do the connections. It looked like this.

NULLCape Part 3. Soldering wires and pull-up resistorsNULLCape Part 3. Soldering wires and pull-up resistors

And those are the pull up resistors in place.

NULLCape Part 3. I2C Pull-up resistorsNULLCape Part 3. I2C Pull-up resistors


Then my second mistake came. Not a big deal but it made my cape a bit more messy. When soldering the I2C signals you need to carefully check the right pin, taking into account that the whole thing is kind of reverse (because the EEPROM IC is on the other side of the board).

It is not a big deal, and you just need to double check that you are connecting the proper pins. At least I have to. In case you do it wrong (as I did), that is not a problem... it is just annoying.

So this is how my first connection looks like. Note how I did take advantage of the IC socket position to just connect one of the EEPROM pins directly to the BBB.

NULLCape Part 3. I2C connection to BBBNULLCape Part 3. I2C connection to BBB

Now is time to add the I2C address configuration. Here I had to do a sub-optimal solution as I didn't have any DIP-switch around so I had to "hard-wire" the I2C address. Not a big deal either for a "educational" cape but, still, I have to mention that.

So this is how the cape finally looks like from the bottom.

NULLCape Part 3. Semi-final bottomNULLCape Part 3. Semi-final bottom

And this is how it looks like on the top.

NULLCape Part 3. Semi-final topNULLCape Part 3. Semi-final top


As I mentioned above, the connection to the I2C bus was wrong. To solve it I had to add a new wire and my cape didn't looked that nice any more.

NULLCape Part 3. Final, connected to BeagleBone BlackNULLCape Part 3. Final, connected to BeagleBone Black

Well, this is it. I think there will be a final part for this NULLCape tutorial cover the devtree stuff and how to use other signals in the BBB.

The picoFlamingo Team


upside down

With one sided perfboards there is a way to mount it so that the components are on top. Push the plastic retainer on the male pin headers right to the end with a pair of needle nose pliers, then solder with the plastic piece on top o fit board and the pins pointing through to the underside. See this picture for what the male headers need to look like.

Good advice

Thanks. Hopefully next cape will look nicer!