Skip to content

rnauber/shelly_vintage_teardown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Teardown of a Shelly Vintage Bulb

Backstory

Well I got myself an Shelly Vintage Light Bulb to flash it with a custom firmware. This worked flawlessy following this tutorial. Unfortunately, after flashing several custom firmwares, I got a little to fancy and bricked the device 😭. There are no accessible electrical interfaces on that bulb except for the mains voltage. Furthermore, I failed to trigger the safe mode of ESPhome by powercycling it 10 times...

Landfill?

Not without even trying! So let's get invasive...

Five little testpoints! I have an urge to attach colorful wires...

... and do a little guesswork on what their purpose may be:

Pin Color of my cable Shelly PIN connect to
0 violet GND GND
1 blue GPIO0 GND
2 green VCC 3.3V
3 yellow TX RX
4 orange RX TX

Voila, it can be flashed:

Retrieving maximum program size .pioenvs/shelly_vintage1/firmware.elf
Checking size .pioenvs/shelly_vintage1/firmware.elf
RAM:   [====      ]  41.5% (used 33968 bytes from 81920 bytes)
Flash: [====      ]  42.0% (used 430208 bytes from 1023984 bytes)
======================================================== [SUCCESS] Took 3.24 seconds ========================================================
INFO Successfully compiled program.
Found multiple options, please choose one:
  [1] /dev/ttyUSB0 (USB-UART Controller)
  [2] Over The Air (shelly_vintage1.local)
(number): 1
INFO Running:  esptool.py --before default_reset --after hard_reset --baud 460800 --chip esp8266 --port /dev/ttyUSB0 write_flash 0x0 shelly_vintage1/.pioenvs/shelly_vintage1/firmware.bin
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting........_
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: ...
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...

A fatal error occurred: Timed out waiting for packet header
INFO Upload with baud rate 460800 failed. Trying again with baud rate 115200.
INFO Running:  esptool.py --before default_reset --after hard_reset --baud 115200 --chip esp8266 --port /dev/ttyUSB0 write_flash 0x0 shelly_vintage1/.pioenvs/shelly_vintage1/firmware.bin
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting........_____....._
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: ...
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 2MB
Flash params set to 0x0330
Compressed 434368 bytes to 300770...
Wrote 434368 bytes (300770 compressed) at 0x00000000 in 26.6 seconds (effective 130.8 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Unfortunately for everyone who is interested in the inner workings of this device, this little teardown ends here... I hope you had as much fun, as I had.

Best, Richard

About

Teardown of a Shelly Vintage Bulb

Topics

Resources

Stars

Watchers

Forks