[SOLVED] How update LoPy firmware through PySense expansion board
Is possible to update the firmware of a LoPy that it is connected to the PySense expansion board?
Thaks a lot.
edit-Conclusion: We need the Expansion Board 2.0 or a USB to TTL adapter (CP2104) to update the LoPy board.
This worked for me:
Yes that's it!
Now only I have just one CP2102.
OK, then I use this connection:
CP2102 RX --> LoPy TX0 (P1)
CP2102 TX --> LoPy RX0 (P0)
CP2102 +5V --> LoPy 5V
CP2102 GND --> LoPy GND
That module uses 3.3V levels (native to the CP2102 - modules with that chip that do 5V I/O have voltage translation like e.g. extra FET you can easily spot )
I'd still recommend the CP2104 and not the CP2102 because the CP2104 (or the new confusingly named CP2102N) will support faster programming rates, but just nitpicking and the CP2102 will do anyway.
Rx from CP2102 connect to TX
Tx from CP2102 to Rx
And connect 5V to 5V pin on Lopy
But still do not know what signal level is on Rx/Tx.
I do not see any jumper to change level on Tx/Rx to 3V3.
Are you sure it is capable to 3V3 level signals output?
This is a correct version:
- The embedded USB transceiver, without external circuit
- It contains the clock circuit, without an external circuit
- Reset circuit embedded on electricity
- Output voltage regulation can be within 3.3 V voltage
- Accord with the requirement of USB2.0 specification
- SUSPEND pin support USB state hung
- Asynchronous serial data bus controller interface compatible with all shake hands and modulation signal
- Support data format for the data of 8, 1, 2, and stop bit parity bit
- The connotation of the 512 - byte receive buffer and 512 words
No it is not correct
DO not connect 5V and in the same time 3V3
And also what is the level of signals from this CP2102 - have it some switch or jumper?
e.g. this one have jumper
You need 3V3 level on TX/RX pins.
DTR leave unconnected
How do I conect the CP2104? Does the next picture is correct?
The DTR pin Where I do conect it?
Thanks a lot.
I'm going to buy a USB to TTL adapter (CP2104)
As I was saying I don't think the PySense was designed to support updating the firmware on the LoPy, only to give you a Python REPL console.
The easiest option is to pick up an expansion board: https://www.pycom.io/product/expansion-board-2-0/
The cheapest is to get a 3.3V USB to TTL serial adapter (I recommend CP2104, plenty on Ebay for about $2-$5 ) and program the LoPy on a breadboard.
OK, now works fine with this driver.
But now, How do I update the LoPy firmware through PySense expansion board?
When I attach the LoPy to the PySense expansion board to upload the LoPy, How do I conect a jumper cable between G23 and GND? How do I put the LoPy in update mode?
Thanks a lot.
That driver is only for the PySense firmware update (DFU mode - which you get into by pressing the button at start)
Outside of DFU mode (i.e. if you don't press the button at start, or after 7 seconds if you do) Windows 10 should pick it up as a COM port without anything else. Then you can use that COM port in Atom.
If you still use Windows 7 then try the driver posted here https://forum.pycom.io/post/7912
I haven't been able to update the LoPy firmware using it, I don't think it's possible both because of the driver (USB ACM is very limited) and also because it's extremely awkward to try and connect GND to G23 on the PySense/PyTrack. I suggest the Expansion board instead.
I installed the Windows PySense Driver from:
(see this post: https://forum.pycom.io/topic/1320/pytrack-and-pysense-firmware-release-0-0-2/9)
I updated the PySense firmware to 0.0.2 version:
Then, How I acces to the LoPy attached to the PySense expansion board for update the LoPy's firmware? And how I connect the LoPy to PC (Atom COM port) for develop inside?