Issues with 3v3 to 5V level shifters

Hello Everyone,

I’ve been having some major issues with particle electron on a PCB I just had manufactured. The issue I’ve narrowed down to the Level Shifters and some sort of internal shutdown within the Electron that occurs when the board is powered up.

The Problem:
The electron is mounted on a board and is receiving Vin 5V power from the board. The board itself has a main power input of 12V. There are a couple of converters on the board that provide power to 3v3 and 5V planes. These planes are used to set the parameters of the level shifters I use.

When the board is powered through 12V power I am able to communicate to the board over the internet, but all the GPIO pins shut down and do not transmit or receive. These include pins that are not attached to the level shifters but are for I2C or just digitalRead pins to 3v3.

Electron Pins that go to level shifters:
C1
C3
C4
C5
A3
B0
B1
D2

Some tests I’ve conducted and their results:

  1. Running the electron solely from Lipo Battery Power. No use of external 12v main power.
    • The board works fine independently of the parts that need differently supplied voltages from 3v3.
  2. Running the electron from the lipo battery, then plugging in external 12V main power.
    • The board works perfectly. All level shifters work as they are supposed to.
  3. Running the electron from the lipo battery, then cycling external 12V main power.
    • The board works perfectly. All level shifters work as they are supposed to.
  4. Running the electron from the lipo battery, plugging in external 12V main power, then resetting the Electron.
    -The particle will reset and turn on, but again most pins will not work then.
  5. Desoldering the Level Shifters
    • The parts of the board not connected to the level shifters worked fine, as did the signal output from all Electron pins.
  6. Pulling all associated pins low on setup
    • didn’t change any of the above
  7. Using an external power supply for 5V Vin. The Board itself does not have a charged 5V Plane.
    -The board worked fine, even when cycling the main 12V power into the board.

It’s also worth mentioning I’ve had two EEs read the documentation front to back on the level shifters we’ve used and they know they’ve been installed correctly.

This has lead me to believe that there is something happening on power-up software wise that causes the Electron to internally interrupt, though we have no interrupts in the software. Any help would be appreciated! Let me know if you need more info, and I’ll do my best to supply it.

If you are looking for help I might suggest you share a schematic or part schematic of the board in question? Sounds like a pull-up or pull-down is missing?

We looked into this already unfortunately and have soldered in a pull down and pull up to see if the initial state changes to prevent the internal shutdown of the Electron. Unfortunately I can’t post the schematic, but the EEs I have working on this are very experienced board designers. They think it’s something with the software that we’re missing or the pin configuration.

What code is on the Electron? I.e. What are you setting as interrupt pins? How is the the Enable pin connected?

Another approach from a hardware viewpoint would be to create a carrier board for the Electron with ‘switches’ for all the pins then you could check which pin is causing the problem.

Not exactly the same but I had a power drain issue that was preventing sleep that got solved this way.

It looks like its centered around the level shifters - perhaps just post that section of the schematic

Wound up figuring out the problem. There was a unsoldered Cap that was causing a >5V signal to come through and cause an internal shutdown. What was interesting is we only saw this cause the shutdown on pin C1 and none of the other pins. Plugging in the battery before the main power caused substantial smoothing to the 5V rail and allowed the system to function normally.

In short, putting caps on the power supplies like the documentation says matters haha.

2 Likes