2168 powerDIO board

I spent the day learning how to use Kicad (open source PCB creation software), and here’s the result…


The board breaks out the DIO channels on the roboRIO and allows them to be individually connected to an external supply. The purpose of this board is allow an external 5VDC supply with a lower drop out voltage than the bus on regulator within the roboRIO. The concern being that in the event of a low battery condition, external sensors may lose power while the roboRIO continues to execute. User code may not act kindly in the event this occurs. For example potentiometers may read position incorrectly, or encoders used to sense relative position may lose their notion of where they are.

Good coding practices may make this hardware solution unnecessary, but it’s something I wanted to have available in the event it was needed. Hopefully someone else finds it useful as well.

It sits across the DIO headers. Female headers bring the DIO channels up to the board. Male headers on the top side of the board bring all the channels out so you can plug PWM cables in. On one end is a header to connect an external supply voltage (a low drop out buck/boost supply would make sense here). There’s a 3pin header next to each channel that lets you select whether or not the external supply or the roboRIO is powering the channel. There’s a spot on the board (for each channel) for a decoupling capacitor. I’ve found this to be useful for some of the sharp IR sensors which cause voltage drops on state changes that leads to toggling bits. Definitely an optional component, as it shouldn’t be required in most cases, but they’re cheap and I have a bunch on hand, so I put the footprints in.

The board can be ordered through OSHPark here.

There is a BOM here. Note that I designed the board around components I already had on hand. While I made an effort to source components which should work, I didn’t design the board to the BOM. That said, everything used is pretty standard stuff. Male/Femal 0.1" pitch headers, and a few (optional) 0805 surface mount components.

All source design files (schematic etc.) are available here.

Note that this board is untested, until I get them in house and populated (likely week 1 or 2 of build season).

If you’re interested in learning how to use Kicad, I followed these video tutorials. They’re a little lengthy and unorganized, but covered pretty much everything I was looking for.

Thanks for sharing!

This is key. We are doing something similar so we can trust our encoders.

Boards came in earlier in the week, a lot smaller than they looked on screen.
Haven’t had a chance to test these out yet.