Firmware update Over the Air

  • Hello,

    Just received FiPy and I am able to connect it using PyMakr and ran some example code to change RGB LED., so far so good. I have read documentation but it seems I need an expansion board to update firmware. I got a FiPy board only from the Kickstarter campaign. I had no idea i would need an expansion board or PySense or PyTrack so I only pledged a FiPy. I asked a question during the campaign that whether i would need an expansion board to program or power it. I was told I will not need it so I didn't add one. Is there any way to do it over the air using wifi or bluetooth?


  • Hi @naveen, Sorry I'm late to the party here, but I believe that the PyMakr is the "expansion board". Take a look at the back of your PyMakr and it should say Expansionboard v2.X or v3.X. You should be able to update firmware using your PyMakr and this tutorial.
    Hope this helps!

  • @naveen @misterlisty You can do both.
    You can use any USB/Serial bridge to connect to USB. Two things have to be considered:

    • Supply through the Vin and GND pins only, do NOT us the 3v3 Pin for supply.
    • The Voltage at Tx/Rx shall not exceed 3.3V

    That is a little bit tricky with standard USB/Serial bridges, because even when they can be switched between 3.3 and 5 V outputs, the 3.3V output is not able to provide sufficient power for the FiPy. For the Pinout DIagram, look at
    I agree that it is inconvenient for a development board not to have that USB/Serial chip by default, especially if it is needed, at least for recovery.

    The WiF link provides both Telnet for the I/O and FTP for file transfer. You can also update the firmware with FTP. The main file system is /flash. If you want to update the firmware, transfer the file application.bin from the update package to /flash/sys and reset.

    Still, it is sometimes better to be able to connect via USB/Serial, for instance when you messed up with the WiFi-settings.

  • I assume you can just use a serial to USB adapter board? Just connect 3.3v,GND,RX and TX as indicated by the pinouts.

Log in to reply

Pycom on Twitter