The Argon Wi-Fi product looks very interesting. From the block diagram, it appears that I can program the Nordic device but there does not appear to be access to the ESP32. Can I re-program the ESP32 device?
The ESP32 is not programmable.
Well if you really want to dig in deep it’s all open source so you could program it, but doing that is not supported or recommended. You’d have to fork the esp-at source (AT command interface) and use the ESP32 SDK to build your modified version and flash it over USB.
Thanks for the response. I’m purely looking at using the Argon HW. I have existing SW bases for the Nordic and ESP32 that I’d like to port to it.
The ESP32 is connected to the nRF52840 by serial. If you’re running bare metal you’ll likely need to flash a pass-through app to the nRF52 that connects the nRF52 USB CDC interface to the ESP32 serial interface and set the ESP32 boot mode pins connected to the nRF52 manually to program the ESP32. It’s a pain, but is possible.
Thanks for the clarification. Doesn’t sound too bad. Updates could be deployed via Bluetooth. Does such a pass-through app exist for public consumption?
Just to clarify because there is a high volume opportunity: The ESP32 can be programmed via the serial connection to the nRF52840, but you do note earlier that the ESP32 can be programmed, in the standard way, via USB.
No, there is no USB connection to the ESP32. The USB is only connected to the nRF52. That’s what makes programming the ESP32 difficult because you can’t do it the normal way directly, you need to use a pass-through app on the nRF52.
The Particle pass-through app is trivial, it’s like 10 lines of code, but it requires all of Device OS; you probably want a native nRF52 SDK USB to UART serial. It’s not as trivial but should not be hard to find as it’s a pretty common use case for designs with a coprocessor.
There is a flow like the one you describe for the CircuitPython port to Argon. There is an nRF program in CircuitPython that just updates the ESP32 with binary files. I don’t know exactly how this was created, but it definitely is possible and you can research how they did it. I have used it and it works.
Here’s a link to the doc at Adafruit:
Note that this path moves you away from the Particle ecosystem and just uses the Particle hardware.
Thanks guys. I bought an Argon and will give it a go!