How to update GNSS Flex pHAT - ZED-X20P firmware with u-center 2

I tried to follow the u-blox guide on YouTube to update firmware. The guide was created for the u-blox EVK-X20P evaluation kit, so I tried to follow it the best I could. I can’t get it to work.

I connected the USB-C port on the pHat to a USB-A port on my laptop running Windows 11. I can receive satellites. When I try to update firmware, I get a warning after a few seconds that COM5 is disconnected. I see more error messages, and then an traceback for an uncaught JavaScript exception. The only way I can reconnect is to power down the Pi completely and restart.

How can I update my X20P firmware?

Hi Steve (@steve.talent ),

The ZED-X20P can only be updated via UART1. Sadly, it is not possible to update via its built-in USB port. This is a quirk of the X20P, other u-blox modules can be updated via USB.

The easiest solution is to buy the new Flex Breakout - at the link below - transfer your ZED-X20P Flex module to that and update using the “UART” USB connection. Channel A of the CH342 provides direct access to the ZED UART1.

It is possible to update the X20P while it is mounted on the pHAT, but it is much more involved:

  • Remove the pHAT from the Raspberry Pi
  • Connect pHAT USB-C to a power source (computer port, wall wart or battery pack)
  • Use a male-male jumper wire to link the 2x20-way GPIO header Pin 2 (5V) to Pin 1 (normally 3.3V)
    • This enables the main 3.3V regulator on the pHAT, providing 3.3V power to the ZED
    • Don’t connect anything to Pin 17 (normally 3.3V) as this will now be 5V
  • Use a 3.3V FTDI USB-UART cable or breakout and jumper wires to interface to:
    • GPIO Pin 8 (normally GPIO14/TXD) : this is connected to ZED RXD1
    • GPIO Pin 10 (normally GPIO15/RXD) : this is connected to ZED TXD1
    • GPIO Pin 6 : GND

Sorry for the inconvenience. Let me know if you need more help - or diagrams.

Best wishes,
Paul

1 Like