GeekMagicClock / smalltv-pro

PRO version of GeekMagic smalltv
129 stars 15 forks source link

Unbricking #10

Closed satelliteseeker closed 1 year ago

satelliteseeker commented 1 year ago

I made a mistake and bricked the board when trying to fix an issue where firmware upload through browser would fail and cause the device to just reboot.

Following this guide I was able to flash a test image, but not a firmware file from this repo as it refuses to boot.

Can you please share the command and bootloader, partition binary files to reflash it using USB to UART programmer? It should be something like (just an example):

esptool.exe --chip esp32 --port COM4 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 C:\Users\apple\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4/tools/partitions/boot_app0.bin 0x1000 C:\Users\apple\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4/tools/sdk/bin/bootloader_dio_80m.bin 0x10000 C:\Users\apple\AppData\Local\Temp\arduino_build_986495/SimpleWiFiServer.ino.bin 0x8000 C:\Users\apple\AppData\Local\Temp\arduino_build_986495/SimpleWiFiServer.ino.partitions.bin 

Notes for my unbricking attempt:

Prerequisite: USB UART programmer, 4x jumper wires (male to female), screwdriver Software: ESPTool (command line) or ESP Flash Download Tools (GUI)

  1. Remove the 2 bottom screws
  2. Push the screen toward back of the case, it should slide out with the ESP32 controller board
  3. Flip the screen over to expose 6 test pads. Square pad = 1, round pads = 2 to 6
  4. Connect pad 1 (GND) to UART programmer GND pin
  5. Connect pad 2 (TX) to UART programmer RX pin
  6. Connect pad 3 (RX) to UART programmer TX pin
  7. Connect pad 1 (GND) to pad 5 (GPIO0) to enter download mode when powered on
  8. Power on and flash the firmware
  9. Disconnect pad 5 and reboot
GeekMagicClock commented 1 year ago

Hi, this operation is not support(flash it with other firmware), we got no time to support for third party firmware, sorry.

jo-m commented 7 months ago

parts.zip

# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,20K,
otadata,data,ota,0xe000,8K,
app0,app,ota_0,0x10000,2176K,
app1,app,ota_1,0x230000,2176K,
spiffs,data,spiffs,0x450000,3776K,
satelliteseeker commented 6 months ago

@jo-m Huge thanks for the flash dump! Revived my clock with the following command:

./esptool.exe --chip esp32 --port <COM8, or see device manager> --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x0000 "<path to smalltvpro-flash.bin>"

I also added an RPi heatsink and it runs cooler and more stable now. It allows me to finish an OTA firmware update easily, which previously required cooling down the board.