Best power solution for multiple boards

In my project I will have an ESP8266 NodeMCU and a Nano Board; each module drive separately some electronics. The two will communicate by an I2C link (master/slave).
I'm puzzled on how to power the whole board. I already have an input +V (7..12V) and a +5V from a Vreg; this last is used to power a LCD to avoid to overcharge the ESP internal regulator. The LCD communicates with the ESP by I2C.

I thought to a scheme as per attached image (maybe there are others), but I get a doubt about what happens when one of the two modules is powered by the USB port during testing.

  1. Is there any risk concerning the I2C link powered at a single end only?
  2. Is it safe to have the LCD powered ON with the ESP OFF?
  3. Is there any other issue I should consider for the modules safety?

Thanks

"Powering the I2C line..." makes no sense. Both master and slave should be powered, or not powered.
Having some circuits powered and some not powered is gerally not good.
Power those 5 volt circuits the same way as the LCD, from the 5 volt source, not from board 5 volt output. Okey, loads using less than 100 mA are okey.

This was my original idea

then I found this advice on Arduino Doc

3V3/5V Pin

Avoid this option since the risk of damaging the onboard voltage regulator is high. It can be done safely if the applied voltage to the 3V3 or 5V pins is not higher than the input voltage of the voltage regulators.

If I undestand well, when one of the boards is powered by the USB its voltage could fight against the 5V supply.
And what happens if the Vreg 5V is something higher than the USB power?

  1. 5V VCC
    The board should have a Schottky protection diode, so it should not be a problem to power the board with a 5V and USB at the same time.

  2. I2C
    The Nano works with 5V normally. The ESP32 always with 3.3V. You need a logical level converter between the boards.

1 is against what has been told before. Powering via Vin and 5 volt pin has that kind of protection if I don't have a bad day.

The ESP8266 is actually running at 3.3V. So you have an I2C voltage mismatch between it and both the display and the Nano since both of them are 5V. However, I keep seeing claims that the ESP8266 pins are actually 5V tolerant, although the datasheet doesn't say that. So if you aren't feeling lucky, you may want to use a bidirectional level shifter circuit coming out of the ESP8266.

Or you can use one of these multiplexers:

https://learn.adafruit.com/adafruit-pca9546-4-channel-i2c-multiplexer

They are normally used when multiple devices have the same hard-wired I2C address, but they also do automatic level shifting. Ralph Bacon has a video on the 8-channel version.

My understanding was that an old data sheet said this, and then it was withdrawn.

Some people on the internet have tested and declare it to be tolerant. This is a wildly stupid idea because testing just one process for a very limited time is not going to tell you anything. You need at least 300 devices running at elevated temperatures for over six months, to get any idea of the reliability of such protection.

My guess is that the manufacturers did tests like this and found the failure unacceptable, or found the protection did not work under all circumstances.

It is the height of folly to ignore the data sheet on any product and the stupid suggestions of amateur inexperienced people on the internet should be ignored.

Or you could actually try drinking bleach, it is up to you.

1 Like

I can't believe that you can find something like that on a datasheet.

But you can read this:
Is ESP8266 5 V Tolerant? This Curve Tracer Says Yes! | Hackaday

And assume that the datasheet is wrong :stuck_out_tongue:

Well, if there really isn't a protection diode from the GPIO to Vcc, and if we're only talking about a 10K pullup resistor to 5V on the I2C line, I think I would be inclined to take a chance on it. That would be for a personal project of course, not a product.

Has the Hackaday guy also tested ESP32?

But of course you can't do that with an AVR processor running on 3.3V since they do have protection diodes.

I like what?
I did see it on an old data sheet and now it is gone from it.

Data sheets are like legally binding documents on the supplier. If it says something on the datasheet which turns out to be not true you can sue the A*** out of them. So it has to be true and consistent under the conditions it quotes. I was working at a place where one group had trouble with LEDs that were failing at 10% after a year. We tried to sue them but it turns out the engineers were over rating them because they were being multiplexed. The data sheet did not mention any pulse ratings and so we lost the case. Cost us multiple hundreds thousands dollars in a recall of customer products.

As the name implies Hackaday is a hacker, he is not a professional engineer. I have read that link before and is the sort of ignorant C**p I was talking about.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.