FiPy on Expansion Board 3.0 does not work with external power supply

  • Working on a FiPy mounted to an Expansion Board 3.0, I recently discovered an issue considering the usage of an external power supply.
    Everything works fine when powering the device via USB, but not so when instead it is powered with an external 5V power supply. The exact same setup works just fine with an Expansion Board 2.1A, so I believe the cause is related to the Expansion Board 3.0 itself. I tried several Version 3.0 Expansion Boards, all with the same issue.

    LEDs on the Expansion Board light up when the power is connected but the FiPy does not do anything at all, like it might not be getting enough power or any at all.
    There as a voltage of 5V at the Vin pin. I have also tried soldering the positive terminal of the power supply directly to the Vin Pin on the bottom of the Expansion Board. This also results in the same issue.

  • @jmarcelino So it is the unpowered PCI which pulls GPIO0 low. Adding a stronger pull-up is not really a solution, because that would also increase quiescent current. The proper cure would be to add a switch transistor which is off when not needed. But that would required the PIC to change the polarity of the signal, and a new board design. or you need a two stage single transistor inverter, where the first stage is driven by the PIC power.
    As a hot fix, since not all boards seem to be affected, can you try to do a sligth level shift with a diode (or two) soldered over the break you made?

  • @jmarcelino
    Power is not the problem here, so powering through USB would be an option for me.

    Unfortunately it does not show up at all. I tried other Expansion Boards (2.1A) for comparison, which do show up. Thus, there is no way for me flash the firmware. Could it be, I screwed up these Expansion Boards?

  • @jmarcelino

    Thanks for the tip! I'll try to. Best

  • @mgripp
    If you power through USB the chip doing the serial interface will also be powered wasting significantly more energy in deepsleep.

    Is the board not detected at all when plugged in? If it shows up as an Unknown device it could be in DFU mode, see for instructions on how to flash the firmware there

  • @jmarcelino
    Wouldn't it also be an option to power the device with an USB charging cable (2 wires, not 4)?

    Also, I discovered that now all the Expansion Boards I started with P8 and 3.3V connected are not being recognized by my PC when plugged into on of its USB ports. Is there a way to reverse whatever I have changed to be able to upload via USB again?

  • @mgripp
    There is a way. You can drill this trace (marked in green) but then you'll lose the auto-programming mode and will need to use a jumper wire again like the Exp v2.

    0_1526387344324_image1 copy.jpg

  • @jmarcelino
    In other words, there is no way to run an Expansion Board 3.0 with an external power source and at the same time use an SD card?

  • @rcolistete
    Correct, the SD card won't work.
    P8 to high prevents the ESP32 from going into programming mode.

  • Hi!,
    I'm having almost the same problem:

    • the reset button doesn't work when the system (LoPy4 + Exp3.0) is powered only by the battery;
    • the Vbatt read-out (Pin16) is completely different compared to the Vbatt read-out I get with LoPy4 + Exp2.0;
    • the ADC channel attenuation levels are not correct to me: for example adc.ATTN_11DB = 9dB, instead of 11dB (with Exp2.0 adc.ATTN_11DB = 11dB);
    • when my piece of code asks for some tasks to be done by the Exp3.0 (example: writing on an SD card or communicating through the I2C port) the system works well for some time and then it stops running suddenly because of an unknown error, which occurs at the last line of the;

    I've just tried to jump G15 to 3V3. Now the reset button works but the SD card doesn't mount anymore. Any idea?

  • @jmarcelino
    Why this "jumper P8 (G15) to 3.3V" solves the problem ? P8 has SD_Data.

  • Thanks @jmarcelino , that did the trick.

  • Hi @mgripp

    Does it work if you jumper P8 (G15) to 3.3V? (make sure it's jumpered to 3.3V not Vin)?

    I believe this is caused by the auto-programming mode design of the Expansion Board v3.

Log in to reply

Pycom on Twitter