I've tried so many things, but what is the correct way to flash a firmware to the M5Stack ATOM Lite ESP32 Development Kit using esptool? It is basically a ESP32-PICO-D4. This (among many other commands) is not working:
> esptool.py --chip auto --port /dev/ttyUSB0 --baud 115200 --before
> default_reset --after hard_reset write_flash -z --flash_mode dio
> --flash_freq 40m --flash_size detect 0x1000 ~/Downloads/tasmota32.bin
esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting.......
Detecting chip type... ESP32
Chip is ESP32-PICO-D4 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: d8:a0:1d:5b:d1:a8
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 1175280 bytes to 700387...
Wrote 1175280 bytes (700387 compressed) at 0x00001000 in 62.9 seconds (effective 149.4 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Flashing succeeeds, but when I look at the serial monitor of the arduino IDE I get over and over
> 11:10:25.593 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
> 11:10:25.593 -> configsip: 188777542, SPIWP:0xee
> 11:10:25.593 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
> 11:10:25.593 -> mode:DIO, clock div:2
> 11:10:25.593 -> load:0x3f400020,len:289900 11:10:25.958 -> ets Jun 8 2016 00:22:57
While I'm working with an M5 board, the M5Stamp Pico, and it too uses the ESP32-PICO-D4, I recognize it's not technically the same device. None the less, perhaps this will be helpful. MACs here all replaced with zeros.
I used the below command to flash the ESP32 MicroPython firmware to the board successfully on Windows, and it is functioning as expected. I used the latest ESP32 generic firmware from https://micropython.org/download/esp32/, the v1.17.
Board detail read:
Flash Erased
MicroPython flashed successfully:
That said, while the above does respond to your "or anything" request, I grabbed a second M5Stamp, and tried Tasmota.
I downloaded the ESP32 files from their repo to a folder: https://github.com/tasmota/install/tree/main/static/esp32
Also downloaded the Tasmota32 firmware to the same folder: http://ota.tasmota.com/tasmota32/release/tasmota32.bin
I then used their provided command from the below page, simply changing the COM port to my correct port, COM6:
Connecting to the console on COM6 at 115200bps, gave me an output indicating success. I checked WiFi networks with my phone, and saw a Tasmota SSID. I connected, used the page to select my network, and it's working as I suspect it's supposed to.