Best way to connect to Arduino via serial?


I currently have an Arduino Mega 2560, and have pre-ordered one of the new BBB rev C’s. The Arduino collects data from environmental sensors placed around our house, and among other functions, is set up to dump the data from the sensors over serial.

I’m planning to have the BBB connected to the Mega over serial to collect the data, store it in a database, and notify me via push messages should something go out of the ordinary.

However, I’m concerned about blowing up the BBB, since there are a lot of caveats about making sure that things are sequenced properly and that no power is applied to the BBB inputs before it’s ready.

I know that the Arduino outputs 5v signals, and the BBB can only handle 3v3, so to address that, I’ve built a logic converter board based off of some ZVNL120A mosfets, following Phillips’ App Note AN97055.

My big question is - what’s the best way to prevent damage to the BBB? Should I add some extra mosfets inline with the rx and tx lines, and control the operation of the mosfets from the BBB (so that when the BBB is off, the serial connection to the Arduino is disconnected)? Or is there some other way that I should handle this?

Thanks much!

Just add a buffer like is the one on the BBB schematic for use by the debug port. Or, just use the debug port on the BBB for your serial connection…


power your arduino from 3v3, It’ll do fine.


Cool. Would something like this work? I was looking for a thru-hole equivalent since I’m not good enough at soldering to try surface-mount yet :slight_smile:

LP - I don’t think that my Arduino can run at 3v3; the specs say that it can run between 7-12v and has a 5v operating voltage. Thanks though :slight_smile:

It should. Make sure you hook it up correctly and make the powered side be the BBB side.


Awesome, thank you :slight_smile: I’m new to a lot of this, so wanted to have an expert double-check things :slight_smile:

Thanks again! :slight_smile:

PS - just for my curiosity, is there a reason that the capacitor is between 1OE and 2OE? I was just curious the difference it made being placed there versus on one side or the other of the output enable pins.

the 7-12 volt is the ‘raw’ power spec. This is converted to 5volt on the board. This is normally the main system power.
When you connect 3v3 to the VCC pin the board runs at 3v3. Technically the AVR chip is overclocked at this voltage, but I never have seen an arduino fail doing this.

Try it, what can you lose? You make your system a whole lot simpler, using only 3 volt logic.


Haha, I wish it was that simple as having everything the same voltage :wink: Unfortunately, most of my sensors run at 5v, so it’s either doing level shifting on 30+ sensors, or on one connection between the Arduino and BBB.

To be honest, if I’d been able to run everything at 3v3, I’d have gotten a Due and a BBB, then there wouldn’t have been problems at all :slight_smile:

In the future, instead of using an Arduino in a project, you may want to consider something like an MSP430 launchpad. If possible. It uses 3v3 serial as standard.

Now that I’ve been looking at things again, I think that I might have found a better buffer than the one I mentioned above.

Looking at the datasheet for this one, it passes data when the OE pins are high, and blocks when it’s low. So to me, that would be more ideal because when the BBB is powered off/disconnected, the OE pins would be low, so it would be blocking. (For the other buffer, it is blocking when the OE pins are high.)

A quick question though - for the VCC connection, should I power this through an external 3v3 supply, or will the 3v3 supply of the BBB suffice? I know that the OE pins will be powered from the 3v3 supply on the BBB, but wasn’t sure if that should also be the case for the VCC.

(Sorry for the double-post, for some reason it wouldn’t let me post it all at once…?)

And, just to make sure - am I interpreting it all correctly?

“To ensure the high-impedance state during power up or power down, OE should be tied to GND through a pullup resistor; the minimum value of the resistor is determined by the current-sourcing capability of the driver.” -

BBB_VDD_3v3B ----|

10K |


“All unused inputs of the device must be held at VCC or GND to ensure proper device operation.” :


100K 100K

Thanks again!