Initial OTA firmware update - Howto?



  • I finally got my GPy board in the mail today, and was super excited, but it seems to be missing some of the libraries mentioned in the docs. For instance, LTE is missing from network, which is kind of a big deal for this device. I'm guessing I need to do a firmware upgrade - the version that shipped is "release 1.10.1.b1". But like a fool I didn't realize I needed to buy an expansion board to use the standard update process for linux/mac/windows, and it's going to be at least a week in the mail getting here. In the meantime I see that there are supposedly OTA updates supported, but I've lost all day to trying to trigger one without success. Specifically, I guessed out the url for GPy's release 1.18.0 from the downloads site and have appimg.bin from its .tar.gz, but I can't seem to get it to take. I've tried both FTP upload to /flash/sys/appimg.bin, and separately writing custom code that calls ota_start, ota_write a bunch of times on the 1256432 bytes pulled over network, and finishes with ota_end, with no error; but in both cases when the device restarts it always comes back up at 1.10.1.b1. I think I need to tie P2 to GND to invoke bootloader mode, but then I lose the FTP+telnet means of talking to the device I've been using. Relative embedded noob here, some hand holding appreciated.



  • @jadowdl You do not need an expansion board. Almost any USB/UART bridge and a few cables will do. You just have ot take care that the USB/UART bridge can supply 5V while the UART signals are at 3.3v. If you already have a REPL prompt through USB, then you are almost set. The only additional step for upload is to connect P2 to GND and pzsh reset.
    About Pin numbers, look here:https://docs.pycom.io/chapter/datasheets/development/gpy.html


 

Pycom on Twitter