Burned out BBB with AIN0 > 1.8V

Hi,

Yesterday I was trying to use some of the analog inputs on the BBB to read my photodiode, and instead, I think I blew up the power supply on my board.
With power applied, I get no PWR led, so I’m pretty certain it’s dead.

Short of replacing the power management chip, is there anything I can do/replace to get the board working again?

Brief Background

I hooked up the photodiode to an Arduino and was able to read 0 - 5V easily, so I wanted to do the same on the BBB.
I read some of the materials re: AIN on the BBB, but apparently I missed all the references to the max voltage of 1.8V!

I started by enabling the analog inputs on the BBB, and started with AIN0.

With nothing attached, I was reading about 0 - so far, so good.
Then I figured I’d try to see what a full 5.0V read out, so I plugged in the VDD 5V to AIN0, and all the LEDs went out instantly.

Now all LEDs stay off, even the PWR LED, when power is applied.

No doubt, it was stupid, but I have a few additional takeaways -

  1. Very minor references in most BBB documentation/webpages discussing Analog Inputs and max voltages.

Coming from working with Pi’s and Arduino’s, it was common to have analog inputs range from 0 to 5V, so the 1.8V was unexpected.

  1. Isn’t there any protection at all from this kind of damage? Or was the main problem that I used the VDD 5V and fed it into the AIN0 port?
    Would I have killed it if I used the VDD ADC instead of the VDD 5v or would using the VCC ADC possibly have protected it?

  2. What is the “normal” way of using the BBB analog inputs with 5V levels? Is it possible - or is there where I would use a level-shifter or zener diode?

Thanks for the any comments or additional info provided!

Hi,

Yesterday I was trying to use some of the analog inputs on the BBB to read
my photodiode, and instead, I think I blew up the power supply on my board.
With power applied, I get no PWR led, so I'm pretty certain it's dead.
Short of replacing the power management chip, is there anything I can
do/replace to get the board working again?

Brief Background

I hooked up the photodiode to an Arduino and was able to read 0 - 5V
easily, so I wanted to do the same on the BBB.
I read some of the materials re: AIN on the BBB, but apparently I missed
all the references to the max voltage of 1.8V!
I started by enabling the analog inputs on the BBB, and started with AIN0.

With nothing attached, I was reading about 0 - so far, so good.
Then I figured I'd try to see what a full 5.0V read out, so I plugged in
the VDD 5V to AIN0, and all the LEDs went out instantly.
Now all LEDs stay off, even the PWR LED, when power is applied.

No doubt, it was stupid, but I have a few additional takeaways -
1. Very minor references in most BBB documentation/webpages discussing
Analog Inputs and max voltages.
Coming from working with Pi's and Arduino's, it was common to have analog
inputs range from 0 to 5V, so the 1.8V was unexpected.

Actually, it's 0 to VCC on the MEGA and XMEGA chips. The Mega chips
can run at 3.3 volts, and the XMEGA chips *must* run at no more than
3.3 volts.

2. Isn't there any protection at all from this kind of damage? Or was the
main problem that I used the VDD 5V and fed it into the AIN0 port?

These are generally direct chip inputs, and there's generally no
buffering.

Would I have killed it if I used the VDD ADC instead of the VDD 5v or would
using the VCC ADC possibly have protected it?

1.8 volts maximum.

3. What is the "normal" way of using the BBB analog inputs with 5V levels?
Is it possible - or is there where I would use a level-shifter or zener
diode?

Level shifters are generally digital, and zener diodes don't help all
that much (and are not really a good idea here). My standard advice
would be to run the analog voltage through a non-inverting op amp
configured as a gain stage. You run the op-amp (and have to pick one
that does rail to rail and also runs from 1.8 volts) from the 1.8 volt
supply.

Harvey

1. Very minor references in most BBB documentation/webpages discussing Analog Inputs and max voltages.
Coming from working with Pi’s and Arduino’s, it was common to have analog inputs range from 0 to 5V, so the 1.8V was unexpected.

Not sure where you’re going on this one, but that problem is all on you. I’m not an EE, and even I know better than to start hooking up ANYTHING without first reading official documentation. Where the official documentation is the beaglebone reference manual, as well as the TRM for the A335x. So if you’re trying to blame someone else for your screw up . . . well it’s going to fall on deaf ears.

What more, 1.8v is an absolute maximum. Meaning; you’d be lucky to not blow the processor if going to 1.81v. Anyway, like Harvey said above, you have to scale input voltages, and then that also gets scaled in software.

By the way, you may have bolwn the PMIC I do not know much about that, but I’m pretty sure the processor is toast. If it’s a circuitco board Maybe you should talk to Gerald to see if they can recover the board for you. However unless you have something on the board that you absolutely have to have. Just buy a new board. It’ll be far cheaper for you that way.

Processor has gone to the happy processor graveyard in the sky and it is possible that it has take a few other chips from the board with it.

I would just buy another board and read up on voltage dividers.

Gerald

Thanks all!

No doubt it was my fault - I’m not trying to blame anyone else, I was more curious about what I did to my board. =)
I had a couple other BBB’s around so I was a bit cavalier with the whole thing - lesson learned, haha.

I really appreciate all the info, and will check all the suggested reading.

Gerald - Assuming I just killed the AM335, would most of the other components on the board be okay, aside from possibly the Power Management chip?

Gerald - Assuming I just killed the AM335, would most of the other components on the board be okay, aside from possibly the Power Management chip?

I cant tell you what Gerald can most definitely he knows the hardware better than I. However I can tell you if you have another board of some type that does I2C, perhaps even another beaglebone black, maybe you can tap into the I2C bus lines, and see if the PMIC responds. But . . . the fact that you say all LEDs went out my first instinct would be to say that the PMIC is fried too. If it was still functional the LED should at least come on for a second or two. But I do not know that 100% or not.

No, you most likely killed the DDR as well. 1.8V powers most of the I/O rails internal to the processor. So as you hit those pins which such high voltage, I would expect it to hit the DDR and maybe even the the Ethernet PHY. There is also a good chance the I/O rail bled over into the 3.3V rails, popping more devices. It is hard to know.

To replace processor to see if that was the only failure, could introduce back failures into the processor, while the processor was fixed, on power up the other parts that were left could damage it again. Not worth repairing.

Gerald

Yes, that's what I do. There are quite a few very low power op-amps
suitable for running from the 1.8 volt rail on the BBB. If OP is
interested I can look up the device, it's from TI if I remember.

Any suggestions or part numbers are much appreciated! Please, if it’s not to difficult, let me know which op-amps you’ve used.

I’ve worked with the LM324 in the past for another project so I’m relatively comfortable with this one.

Thanks again all!

Hi,

chiming in here because I’m about to build my first circuit that uses ADCs on BBB…

My standard advice
would be to run the analog voltage through a non-inverting op amp
configured as a gain stage. You run the op-amp (and have to pick one
that does rail to rail and also runs from 1.8 volts) from the 1.8 volt
supply.

Yes, that’s what I do. There are quite a few very low power op-amps
suitable for running from the 1.8 volt rail on the BBB. If OP is
interested I can look up the device, it’s from TI if I remember.

In my somewhat amateurish approach to this I was planning to use a DC-DC converter to provide 1.8 VCC for my sensors. I’m still learning about op-amps and anything more advanced than a transistor, so I wonder whether there are any advantages to using an op-amp compared to providing 1.8 V from a switching DC-DC converter?

I would be very grateful if one of the electronically literate participants to this discussion would share their insight with a newbie :slight_smile:

In my somewhat amateurish approach to this I was planning to use a DC-DC converter to provide 1.8 VCC for my sensors. I’m still learning about op-amps and anything more advanced than a transistor, so I wonder whether there are any advantages to using an op-amp compared to providing 1.8 V from a switching DC-DC converter?

I would be very grateful if one of the electronically literate participants to this discussion would share their insight with a newbie :slight_smile:

What you’re talking about does not make any sense. an ADC measures voltage. ADC’s do not have sensors connected to them. ADCs can use op-amps ( I suppose ) to scale input voltages to except-able levels for a given ADC. But you can also use a resistor network to achieve a similar end goal. But perhaps while a resistor network will work most of the time. It’s generally thought of as an amateurish / incomplete way of “dividing” voltage. But it can work in a pinch . . .

It’s generally thought of as an amateurish / incomplete way of “dividing” voltage. But it can work in a pinch . . .

Well I meant by its self. It’s my understanding that an auto ranging circuit is roughly a resistor network( divider ) in conjunction with other parts, in order to achieve a wider range of input voltage measurement.

What you’re talking about does not make any sense. an ADC measures voltage. ADC’s do not have sensors connected to them.

Sorry, I probably have not phrased my use-case clearly enough…

I’m connecting sensors to the ADCs. These sensors change their resistance when sensing something. So I want to measure the voltage over the sensors using the ADCs.

The sensors need 5V power to operate, but provide separate pins for measuring their resistance. On Arduino I was simply using the 5V rail to power the sensor and feeding the measurement pins, which obviously wouldn’t be such a good idea on the BBB (as the OP has nicely demonstrated :wink: ).

A resistor-based voltage divider seemed a bit wasteful to me since quite some power goes straight into heat just for the sensors. Hence the idea to use a switching DC-DC converter for the measurement circuit.

ADCs can use op-amps ( I suppose ) to scale input voltages to except-able levels for a given ADC.

Yes and I was wondering how to achieve this, especially how to scale down a voltage using an op-amp, i.e. from 5 V to 1.8 V, since this is what’s required for the OP’s problem if I’m not mistaken. So far my understanding of an op-amp was that it could scale voltage up (hence the amp part of it’s name). But as I said, I’m keen to learn and any pointers to suitable sources of information are greatly appreciated.

Hi,

chiming in here because I'm about to build my first circuit that uses ADCs
on BBB...

  My standard advice

> would be to run the analog voltage through a non-inverting op amp
> configured as a gain stage. You run the op-amp (and have to pick one
> that does rail to rail and also runs from 1.8 volts) from the 1.8 volt
> supply.
>
Yes, that's what I do. There are quite a few very low power op-amps
suitable for running from the 1.8 volt rail on the BBB. If OP is
interested I can look up the device, it's from TI if I remember.

In my somewhat amateurish approach to this I was planning to use a DC-DC
converter to provide 1.8 VCC for my sensors. I'm still learning about
op-amps and anything more advanced than a transistor, so I wonder whether
there are any advantages to using an op-amp compared to providing 1.8 V
from a switching DC-DC converter?

Let's see. Firstly, the goal is to make sure that the voltage to the
analog terminal does not go negative at all, and does not go more
positive than 1.8 volts, ever.

So firstly, let's feed all the sensors from 1.8 volts. Now this
works, and can work well. The question is how to get the 1.8 volts. A
switching converter, while efficient, generates noise, is relatively
complex, and is moderately large. An easier way to get 1.8 volts is
to use a simple 3 terminal regulator. There are some very small ones
available. They generate little electrical noise. A typical current
limit is about 100 ma, which should power a number of sensors.

Now, failing that we can (and often we cannot) power the sensors from
only 1.8 volts, we still need a method of reducing the input voltage.

Some will say to put a resistor in series, thinking that it's the
current you get with an overvoltage. This is not necessarily true,
often it is simply the voltage itself, and the damage is done by the
way that the processor is constructed.

Others would say that the best way is to add two diodes (back biased)
to 1.8 volts and ground, and then add a protective resistor. The
problem with this is that the diodes must conduct before they limit,
and that means that your voltage range is -.7 to 2.5 volts to the pin,
which violates the limits.

Another approach would be a zener diode. One problem is that the
zener needs roughly 0.001 amp to work, and that the sensor must supply
that voltage. Another is that if you are trying to drop 12 volts down
to 1.8, you can, but by a fixed amount. Go to 13 volts and you still
drop the 13 down to 2.8, and exceed the chip limits. Zeners are
standard diodes in reverse, so you have no protection below -0.7 volts
at the input.

Yet another way would be to use a voltage divider. This reduces the
input voltage by a fixed amount, and can be a decent solution IF and
ONLY IF the voltage does not go negative (and can NEVER go negative),
and the maximum voltage you can ever see is reduced down to 1.8
volts). As a specific cure, it can work, but as a general cure, it
isn't recommended because you can still go over 1.8 volts and less
than 0. For those who consider it important, the impedance of the
divider can also be an issue, too little and nothing drives it, too
high and the chip characteristics override the divider resistors.

Putting an op amp in allows several possibilities. Op amps can be
inverting or non-inverting. By running the op-amp from 1.8 volts and
ground, the maximum output voltage that the op-amp can put out is
limited to these values. You will need a chip that outputs rail to
rail (ground to positive power supply voltage).

Inverting: the voltage has to be offset to keep the opamp from going
negative (and it will try, even when powered from 1.8 volts and
ground). This also inverts the voltage so that as the voltage at the
input increases, the output decreases.

Non-inverting: the voltage increases and the output increases. Non
inverting unity gain (buffer) may have output voltage limits, so that
must be checked. It will have an extremely high impedance, though. If
gain is needed, then the non-inverting configuration with gain can be
used.

I'd personally recommend the op-amp for the most general solution, and
the resistive divider ONLY if the application can be guaranteed to
never exceed the voltage limits of the chip under any reasonable
conditions.

Level converters are digital devices, and not suitable for use on
analog circuits.

Good design is frequently paranoid design.

Harvey

Any suggestions or part numbers are much appreciated! Please, if it's not
to difficult, let me know which op-amps you've used.

MCP604SL, and there are 1 and 2 amp versions of that chip. It's
currently protecting an XMEGA (3.3 volt VCC here and 3.3 volts max ADC
input, practical input level 2.5 volts due to reference). Check the
specs, I think it's microchip and available from Mouser.

The 324 has a maximum output of about VCC - 1.25 volts, which is OK,
if you can live with that. Supposedly you can go down to ground.

The 604 has a different voltage limit depending on the configuration,
so you need to be a bit careful with it. It's inexpensive, though, so
it may work for your application.

It's in a +/- 20 volt 1.5 amp power supply board that allows current
measurement and setting output voltage from the XMEGA's onboard DACs.

(it's really intended for a transistor curve tracer, still in
development).

Harvey

Good explanation. The other benefit from using an opamp is the low impedance it provides to the ADC Sample&Hold circuit. As you know, when the circuit is in sample mode, it is charging and internal capacitance which means the current spikes for a short time and that will cause noise and measurement inaccuracy if a simple resistor divider is used. The opamp on the other hand is a low impedance source and can supply the current required by the ADC Sample&Hold circuit.

Regards,
John

Good explanation. The other benefit from using an opamp is the low impedance it provides to the ADC Sample&Hold circuit. As you know, when the circuit is in sample mode, it is charging and internal capacitance which means the current spikes for a short time and that will cause noise and measurement inaccuracy if a simple resistor divider is used. The opamp on the other hand is a low impedance source and can supply the current required by the ADC Sample&Hold circuit.

True, and if there's a buffer amplifier, this can possibly be set for
low or high impedance (can in the XMEGA... ARM? no idea). Didn't
occur to me, and on second thought, if a beginner can understand that
one, perhaps they're not a beginner?

Nice comment, though.

Harvey

Thanks, Harvey, that’s an awesome explanation!

So firstly, let’s feed all the sensors from 1.8 volts. Now this
works, and can work well. The question is how to get the 1.8 volts. A
switching converter, while efficient, generates noise, is relatively
complex, and is moderately large.

I was planning to use a 3-pin Recom device (R781.8-1.0) which supposedly has very low ripple voltage. The idea was to smooth the ripples down to an acceptable magnitude using an adequately sized capacitor.

An easier way to get 1.8 volts is
to use a simple 3 terminal regulator. There are some very small ones
available. They generate little electrical noise. A typical current
limit is about 100 ma, which should power a number of sensors.

Yeah, I thought about that too, but 100 mA is a little too skimpy for my application, unfortunately. Also, I’m concerned about efficiency since at some point it would be cool to run the whole thing on batteries. With a regulator I would churn out 2/3rds of the power used in the measuring circuit into heat.

Another thing that I should probably mention is that I really want the measurements to allow for a (more or less) precise estimation of the sensor resistance. Hence it’s not so much about just protecting the input from overvoltage - I’d rather avoid any nonlinear attenuation in the signal path, e.g. by a diode that starts conducting when the voltage approaches the upper limit.

Putting an op amp in allows several possibilities. Op amps can be
inverting or non-inverting. By running the op-amp from 1.8 volts and
ground, the maximum output voltage that the op-amp can put out is
limited to these values. You will need a chip that outputs rail to
rail (ground to positive power supply voltage).

I’d personally recommend the op-amp for the most general solution, and
the resistive divider ONLY if the application can be guaranteed to
never exceed the voltage limits of the chip under any reasonable
conditions.

After reading up a bit on rail-to-rail capable op-amps I have the impression that they’ll be outside their linear range once the signal approaches either rail. Since linear behavior is important in my case, an op-amp is probably not the best way to do things in my case, is it?

Any suggestions or part numbers are much appreciated! Please, if it's not
to difficult, let me know which op-amps you've used.

After a little looking I found it. I'm using LM10CN op-amps.

I've worked with the LM324 in the past for another project so I'm
relatively comfortable with this one.

Thanks again all!

N.B. *Please* don't E-Mail me as well as the list.