Flashing ESP-Wroom-32 in production
Flashing ESP-Wroom-32 in production
Hi,
I am currently working on a project that involves using the esp-wroom-32 in a project that will hit factory production later this year (small scale initially).
I have written all the code needed and got the esp working as intended with all the external sensors, but currently I am working with development boards, which makes the flashing over usb to UART easy.
Now I do not think the company that I work with for the industrial design have experience with this specific chip, so I would like to have an idea which pins and what tools they should have available once the layout is made and the production starts. I think they previously have used a programmer with JTAG but I have now read several places that this is not supported/recommended with ESP32.
The product will be CE certified so this combined project is quite a financial investment for me, so I would love to have the correct pins available in a connector from the start and knowing what I should provide the factory with.
/Soren
I am currently working on a project that involves using the esp-wroom-32 in a project that will hit factory production later this year (small scale initially).
I have written all the code needed and got the esp working as intended with all the external sensors, but currently I am working with development boards, which makes the flashing over usb to UART easy.
Now I do not think the company that I work with for the industrial design have experience with this specific chip, so I would like to have an idea which pins and what tools they should have available once the layout is made and the production starts. I think they previously have used a programmer with JTAG but I have now read several places that this is not supported/recommended with ESP32.
The product will be CE certified so this combined project is quite a financial investment for me, so I would love to have the correct pins available in a connector from the start and knowing what I should provide the factory with.
/Soren
-
- Posts: 9711
- Joined: Thu Nov 26, 2015 4:08 am
Re: Flashing ESP-Wroom-32 in production
FWIW, for a device I built on a semi-small scale (several thousands) we use a test jig (bed-of-nails, essentially) with a Raspberry Pi with a specially developed shield on it. The software running on the Pi does a bunch of tests on the hardware (checking voltages, looking for shorts, the works) before essentially invoking the esptool.py that comes with esp-idf to flash the ESP32 over the serial port of the Raspberry Pi. I'm not entirely happy with the speed the flash is written with (10 seconds or something, for a fairly big (few megabytes) payload) but I'm not sure how much of that is due to the slowness of the flash in general.
Re: Flashing ESP-Wroom-32 in production
Hi ESP_Sprite,
Thank you for your answer, i think that will be the way to go for now.
/Søren
Thank you for your answer, i think that will be the way to go for now.
/Søren
Re: Flashing ESP-Wroom-32 in production
Where did you see that ?but I have now read several places that this is not supported/recommended with ESP32.
How about the ESP32 Programming Tool ?
Re: Flashing ESP-Wroom-32 in production
Hi,
I was referring til JTag, which by "google" it seems to be possible, but not recommended.
So yes, I will be using the programming tool over UART, which also seems quite easy.
I talked with the hardware team and we will make the pins for this available to flash the finished product, so i have figured it out
/Søren
I was referring til JTag, which by "google" it seems to be possible, but not recommended.
So yes, I will be using the programming tool over UART, which also seems quite easy.
I talked with the hardware team and we will make the pins for this available to flash the finished product, so i have figured it out
/Søren
Re: Flashing ESP-Wroom-32 in production
Glad you have it figured out, but I wanted to clarify this for others that may see this post.I was referring til JTag, which by "google" it seems to be possible, but not recommended.
There is nothing wrong at all programming it with JTAG.
Re: Flashing ESP-Wroom-32 in production
It is not recommended to use JTAG as the only means of factory programming, because typically JTAG will need to be disabled in the finished product. If the device needs to be reflashed after JTAG is disabled, that would require different interface (UART) to be used.
Re: Flashing ESP-Wroom-32 in production
Fair enough, thank you
I think we went out of the wrong path, as my initial goal was to find out which pins I should expose to ensure that flashing in production (100+ devices at a time) would be as easy as possible. I never had any intent of shooting down JTag, i simply have not been in this type of scenario before.
My conclousion are the following pins from ESP-Wroom-32:
* TX (UART)
* RX (UART)
* EN (Reset)
* GPIO0 (Boot mode)
* Ground
Which i will ask the factory to flash with the ESP programming tool.
Furthermore I will proberly expose JTag pins as well, just in case I need debugging.
Feel free to give me feedback on my plan
I think we went out of the wrong path, as my initial goal was to find out which pins I should expose to ensure that flashing in production (100+ devices at a time) would be as easy as possible. I never had any intent of shooting down JTag, i simply have not been in this type of scenario before.
My conclousion are the following pins from ESP-Wroom-32:
* TX (UART)
* RX (UART)
* EN (Reset)
* GPIO0 (Boot mode)
* Ground
Which i will ask the factory to flash with the ESP programming tool.
Furthermore I will proberly expose JTag pins as well, just in case I need debugging.
Feel free to give me feedback on my plan
-
- Posts: 9711
- Joined: Thu Nov 26, 2015 4:08 am
Re: Flashing ESP-Wroom-32 in production
Slightly offtopic, but... Maybe think about doing what I did and make an ATE jig that initially flashes a test program that, combined with the bed-of-nails jig, tests all the other hardware bits and pieces as well. Thoroughly, if possible, in such a way that mis-soldered components but also wrong components can be caught. See e.g. https://www.reddit.com/r/PocketSprite/c ... ostmortem/ for something we got burned by.
Re: Flashing ESP-Wroom-32 in production
You pin selection for serial programming is correct.
Should you need an off the shelf programmer you could use one of these.
http://www.electrodragon.com/product/es ... 266-esp32/
Or should you choose to program the modules before they are placed in your board, you can program them with this.
https://www.aliexpress.com/item/ESP32-T ... 47042.html
Should you need an off the shelf programmer you could use one of these.
http://www.electrodragon.com/product/es ... 266-esp32/
Or should you choose to program the modules before they are placed in your board, you can program them with this.
https://www.aliexpress.com/item/ESP32-T ... 47042.html
Who is online
Users browsing this forum: No registered users and 52 guests