ESP32 from Bare Chip
ESP32 from Bare Chip
A newbie here on ESP32, but has quite many experience with ESP8266. Forgive for newbie question.
I have some esp32 bare chips. Made a PCB and soldered those 48 pins of QFN and supporting components. The question is then what?
I tried to connect UART with USB to Serial module, and nothing appear.
From my experience with Atmel SAMD, I need to burn a bootloader before I can communicate via UART. I can use STLink v2 for that. Is that the case with esp32? Any lead of how to burn the bootloader on esp32?
Thanks guys!
I have some esp32 bare chips. Made a PCB and soldered those 48 pins of QFN and supporting components. The question is then what?
I tried to connect UART with USB to Serial module, and nothing appear.
From my experience with Atmel SAMD, I need to burn a bootloader before I can communicate via UART. I can use STLink v2 for that. Is that the case with esp32? Any lead of how to burn the bootloader on esp32?
Thanks guys!
Re: ESP32 from Bare Chip
ESP32, just like the ESP8266, has bootloader present in mask ROM, so there I no need to burn anything. Would you mind posting your schematic so that we can check the way the chip is bootstrapped? ESP32 has a feature that one of the pins can be used to disable UART output at boot time.
Re: ESP32 from Bare Chip
Hi ESP_igrr,ESP_igrr wrote:ESP32, just like the ESP8266, has bootloader present in mask ROM, so there I no need to burn anything. Would you mind posting your schematic so that we can check the way the chip is bootstrapped? ESP32 has a feature that one of the pins can be used to disable UART output at boot time.
Thanks so much for your reply. Please find attached schematics. It's basically heavily based on original ESP-WROOM-32 module. Please kindly review it.
One question though, even though the UART output is somehow disabled, would it be still be able to be flashed?
Thanks again.
Re: ESP32 from Bare Chip
Are MISO and SD2 nets connected? I see a pull up resistor on one of them, and a pull down on another, and both names are near MTDI pin of the chip... But that would only affect flash voltage selection. You should still see ROM bootloader output even if flash is not readable, provided that MTDO is pulled up high (which is the case in your schematic).
Aside from that, I don't see anything wrong with the schematic. I will show it to my colleagues to see if they can spot anything.
Aside from that, I don't see anything wrong with the schematic. I will show it to my colleagues to see if they can spot anything.
Re: ESP32 from Bare Chip
Yes, you're right, it's my mistake, MISO and SD2 are connected and pulled up and down apparently. But I've spotted that earlier and choose not to put the pull-up and pull-down resistors, yet still no output on UART. You're saying that "MTDO" should be pulled down in so that the flash readable?ESP_igrr wrote:Are MISO and SD2 nets connected? I see a pull up resistor on one of them, and a pull down on another, and both names are near MTDI pin of the chip... But that would only affect flash voltage selection. You should still see ROM bootloader output even if flash is not readable, provided that MTDO is pulled up high (which is the case in your schematic).
Aside from that, I don't see anything wrong with the schematic. I will show it to my colleagues to see if they can spot anything.
We're going to try to solder one more chip on a new PCB, and see if it's just soldering issue. Thanks.
Re: ESP32 from Bare Chip
MTDO should be pulled up high in order for UART bootloader diagnostic output to be visible. It will still work in UART download mode with MTDO pulled low, but you won't see a bootup message.
My colleagues have also pointed out that you have GPIO2 pulled up via R30. If GPIO2 is high, the chip will not go into UART download mode.
Please double check ESP32 bootstrapping pin requirements, you can find the table on the last page of ESP32 Pin List document:
http://espressif.com/en/support/downloa ... d%5B%5D=13
My colleagues have also pointed out that you have GPIO2 pulled up via R30. If GPIO2 is high, the chip will not go into UART download mode.
Please double check ESP32 bootstrapping pin requirements, you can find the table on the last page of ESP32 Pin List document:
http://espressif.com/en/support/downloa ... d%5B%5D=13
Re: ESP32 from Bare Chip
Thanks again for your reply and directions. Will check and revise the schematics.
Just an update. So we solder one more chip to a new PCB, by only soldering the chip, chip enabled pullup resistor, 40Mhz crystal and capacitors, and carefully inspect the solder quality, hey...it starts to spit out something:
Flash read err is understandable since the flash memory is not yet soldered. We'll continue to solder it and see what happen.
Will update.
Just an update. So we solder one more chip to a new PCB, by only soldering the chip, chip enabled pullup resistor, 40Mhz crystal and capacitors, and carefully inspect the solder quality, hey...it starts to spit out something:
Code: Select all
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK
>ets Jun 8 2016 09:22:57
Flash read err is understandable since the flash memory is not yet soldered. We'll continue to solder it and see what happen.
Will update.
Re: ESP32 from Bare Chip
More update. So we managed to solder the flash IC and success booting from flash.
It's time to upload a firmware. And when I did, it is ALMOST success, until the very last error:
The complete log:
Anyone experience the same? Any thoughts?
Thanks.
It's time to upload a firmware. And when I did, it is ALMOST success, until the very last error:
Code: Select all
A fatal error occurred: MD5 of file does not match data in flash!
Code: Select all
esptool.py v2.0-dev
Connecting...
Uploading stub...
Running stub...
Stub running...
Attaching SPI flash...
Configuring flash size...
Erasing flash...
Compressed 4192 bytes to 2755...
Writing at 0x00001000... (100 %)
Wrote 4192 bytes (2755 compressed) at 0x00001000 in 0.2 seconds (effective 136.5 kbit/s)...
Hash of data verified.
Erasing flash...
Compressed 96 bytes to 57...
Writing at 0x00004000... (100 %)
Wrote 96 bytes (57 compressed) at 0x00004000 in 0.0 seconds (effective 64.5 kbit/s)...
Hash of data verified.
Erasing flash...
Compressed 221856 bytes to 61331...
Writing at 0x00010000... (25 %)
Writing at 0x00014000... (50 %)
Writing at 0x00018000... (75 %)
Writing at 0x0001c000... (100 %)
Wrote 221856 bytes (61331 compressed) at 0x00010000 in 6.1 seconds (effective 288.8 kbit/s)...
File md5: feec42a7ea89f6f325443876744d21bc
Flash md5: fde8c39d84fd3405377df6361b1c38a5
A fatal error occurred: MD5 of file does not match data in flash!
A fatal error occurred: MD5 of file does not match data in flash!
Thanks.
Re: ESP32 from Bare Chip
Please check suggestions in this topic and follow up there if problem persists:
http://www.esp32.com/viewtopic.php?f=2&t=322
http://www.esp32.com/viewtopic.php?f=2&t=322
Re: ESP32 from Bare Chip
Long time not updating. Regarding the MD5 issue, I've solved it by changing the SPI flash IC.ESP_igrr wrote:Please check suggestions in this topic and follow up there if problem persists:
http://www.esp32.com/viewtopic.php?f=2&t=322
Initially I used S25FL116K0XMFI011. Then I used the exact IC as ESP-WROOM (and other boards), which is W25Q32FVSIG, the problem went away.
Anybody care to explain? I check a glance both IC spec. Both are NOR Flash, but with small different frequency (108 MHz vs 104 MHz).
Who is online
Users browsing this forum: No registered users and 73 guests