Projects with Ryan Slaugh: Boosting a BeagleBone Black

Projects with Ryan Slaugh: Boosting a BeagleBone Black

Hi, this is Wayne again with a topic “Projects with Ryan Slaugh: Boosting a BeagleBone Black”.
The beaglebone black is truly a cool little piece of hardware. Not only is it a single board, linux computer, but it has a lot of different. I o available, including analog inputs. This makes it very useful for a hardware junkie, like myself in this article, i’m going to show you how i designed a hardware platform that connects to the beaglebone black. This design includes configurable analog inputs, relay controls on the board, current measurement ability and a breakout of all the other i o available as usual.

I want to start with a circuit analysis. Here we have the two large headers, the beaglebone black has two main headers that connect all the gpio, and here i have all the net listings out on my schematic, showing what’s connecting to each one of those pins from here. I can go out to the individual circuits over here. We have a relay circuit and actually on this board, i’ll have four relay circuits. All of the relays are able to switch up to 220 volts, ac and controlled by one of the gpio lines. A few of them have current sense circuits, where i can actually measure the ac current going through into the load.

Projects with Ryan Slaugh: Boosting a BeagleBone Black

This current is fed back into an analog input. Each relay is configured the same with a normally open and normally closed and a flyback diode when the field collapses around the inductor after it’s turned off that diode will protect the input. I also have an indicator led and the whole thing is controlled. With a transistor, i break out all the serial interfaces into one header, all the available serial interfaces. This allows me to connect any peripheral.

Projects with Ryan Slaugh: Boosting a BeagleBone Black

I need on the side one serial interface. I use the tx to control a 3.3 volt serial lcd that i’ll locate on the board. All of the other gpio that i don’t use on board are broken out into headers, much like what you’d see on an arduino or similar chip.

Each header allows me to connect a wire from them over to a break out board or a breadboard. I also include analog sensors as a fixed sensor and as adjustable sensors. Most of these adjustable sensors have a three pin termination, two jumpers to control whether they are five volt or 3.3 volt controlled and the output line going into the processor. These lines are adjustable by dual resistors, so i can scale them for the input.

Projects with Ryan Slaugh: Boosting a BeagleBone Black

One sensor: that’s on the board in a fixed position is this temperature sensor. I again can still scale the input for the analog input, but i can determine the temperature around the board. The beaglebone black has a few pins that can be used as an i2c interface. I break out this interface, both in connector fashion, to connect things off the board connecting all the bus, the scl and the sda to a temperature ic. So i can actually have another temperature value, that’s useful for calibration and a memory interface. This i can store some short-term data, or even identifier numbers. I bring out the pin header that contains all the pulse width modulation to one header, so i can find them all in one place and feeding the whole thing is a power supply that gives me 5 volts, 12 volts 3.3 and some led indicators that allow me To see when all the power rails are functioning properly, to put all this together, i could do much like my protoshield project and wire it in by hand. However, there’s a lot of connections going on on this board and it would be nowhere near as neat looking as this, and it would probably drive me crazy trying to do it all for this project. I’M going to step it up and make my own printed circuit board, and this is something you can do easily. There’S a lot of software out there that allows you to do the schematic and then link it to the program that does the layout.

Therefore, everything runs together and it’s easy to port from one to the other and make changes. This layout format allows you to see where parts are placed and see where the routing of the traces go. This does all my wiring for me and gives me a really neat product at the end, it’s like christmas, when the board that you designed shows up in the mail it’s a piece of art in my opinion, and it’s a piece of technology you can send them Out and they’ll build them exactly to your specifications, putting parts where you need them drilling holes where you need them and putting in the text on top, so you can read what’s going on on the board all in your design.

It’S also christmas: when all the parts arrive, a big box full of toys to play with you get them, you sort them out and you compare them to your schematic and your bill of materials and where they need to go on the board. Make sure you take careful inventory and get started with the build, it’s very satisfying, as these things start coming together and you put the components on the board. The big power supply, the measuring cts and you start finding some of your mistakes as well. Then i get a little power up test before i put a beaglebone on there. I want to make sure that all the power rails are right, plug it in the lcd works correctly powers up.

Then i take my meter and i do a few measurements of each voltage – rail, 12, 3.3 and 5 volts to make sure they are in fact, 12 3.3 and 5 volts i’d hate to put 12 volts into the beaglebone. Then i put the beaglebone on the board. Looks like it’s controlling the outputs as programmed the relays are set, and everything looks to be working just as designed set up the beaglebone according to the quick start guide via the usb cable from there i’ll give it a static ip to where i can plug it Into my network and talk to it from anywhere else on the network, i usually go in through the cloud9, ide or integrated development environment. This allows me to program up all of the devices and all the i o, for instance, here i’m programming to toggle some of the relays and to read an analog input.

The programming is actually somewhat like the arduino programming language. The programming right now just has it toggling a few of my relay outputs and reading an analog input. Pin once every few seconds. This pin is actually from one of the relay circuits and it would be reading the current going through that switch circuit.

So here’s the first revision of the beaglebone black doghouse. There are some imperfections and mistakes, but something i can clean up for the next rev. I do have a lot of analog inputs with resistor divider networks to scale the inputs to what i need: pulse width, modulation, header and gpio headers, bringing out virtually every other available gpio pin onto the edge of the card, so i can hook them into breadboards. I also have some serial connectors where i can connect to three different serial ports.

Externally there are four relay circuits, two of which use current transformers to measure the current through the load that they are switching giving me good feedback and an lcd that i can display any data that i choose, be it temperature current sense. Whatever and a nice big power supply running the whole thing, i hope this project encourages you to go out and try some schematic and layout. It really is art and technology mixed together and there’s nothing like seeing that finished product sitting on your desk that you built happy building. .