Support for Pycom Expansion board v3?
haruotsa opened this issue · 5 comments
Hi,
I'm looking forward to experiment with Chirpotle with LoPy4. Is it possible to use the associated Pycom Expansion Board instead of usb-to-serial converter?
Hi,
I'm meanwhile using LoPy4 and Expansion Board as well, so that should be possible in general.
However, it's a bit tricky since the expansion board has its on firmware which does not work well with esptool
that is used for flashing the LoPy (since the framework is using custom C-based firmware and nothing like MicroPython), so you need to set jumpers correctly and probably cannot use remote flashing during chirpotle.sh deploy
. I'll try setting up a LoPy from scratch and get back to you/update the docs.
And just to be sure that we're talking about the same thing: Which revision of the expansion board do you have (it's printed on the silk screen at the bottom)?
Hi & thanks for a quick reply!
My expansion board revision is V3.1.
I checked again, but I don't see an easy way to automate the reset of the LoPy4 into ESP32 bootloader mode on the expansion board, which is required for flashing it with esptool
. The buttons on the Expansion Board only help you to get into the MicroPython bootloader/safe boot mode. As far as I understand the documentation by pycom, from there you can run a firmware update, but only of the application. For RIOT and ChirpOTLE, we also need a custom partition table etc.
On the other side, esptool most likely won't get support for the pycom firmware update mechanism either.
So sadly, I think the fully automated firmware flashing process will not work with the Expansion Board. However, you can flash your firmware manually once on the Expansion Board (but that needs adding a jumper wire and pressing a button) and then continue to use it without reflashing (if you don't modify the firmware's source, that is).
I documented the required steps and the differences between FTDI and Expansion Board here. Let me know if that works for you.
I understand. I'll try the manual flashing with the expansion board this week and let you know how it goes. Thank you btw for providing documentation too(!)
Meanwhile I have been able to flash the nodes manually using the expansion boards. For the record: I added KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyUSB0"
to map the ttyACM0 port of the expansion board to ttyUSB0.