WiFi Teardown – arVin Light Switch
This post is the first in what I hope will be a very fun and informative series. Lately there has been a huge influx of cheap wifi enabled IOT/SmartHome devices flooding the market. Each with their own (usually questionable) app.
I have embarked on an exciting journey to find out how many of these devices contain friendly micro controllers, and write basic “snoop-free” firmware replacements!
Price (at time of post): $25.99
Dual color LED (Red and Green)
Relay: Golden brand 15A @ 120V
Flash Size: 1MiB
Relay/Red LED: Pin 12
Green LED: Pin 13 (inverted)
Button: Pin 0 (inverted)
[env:arvin] platform = espressif8266 board = esp01_1m framework = arduino board_build.flash_mode = dio
This device is actually very easy to reprogram, hook up the exposed programming header labeled to a USB -> TTL Serial converter using the following table.
Serial -> Device
GND -> GND
3V3 -> 3V3
RX -> TX
TX -> RX
Put the device into boot mode by holding down the button while powering up the device, then you can use esptool or arduino uploader as normal.
These are the http endpoints of this basic firmware
http://<device ip>/ will show the name of this device and status of device
http://<device ip>/led/on will turn the Green LED on
http://<device ip>/led/off will turn the Green LED off
http://<device ip>/relay/on will turn the Red LED and Relay on
http://<device ip>/relay/off will turn the Red LED and Relay off
Note: Pressing the button on with this firmware will not work until you connect to the wifi labeled “esp_<chipid>” and set up the wifi
Note: Pressing and holding the button for 5 seconds will clear the stored wifi credentials and restart the device.
If you have any suggestions of what I should tear down next let me know in the comments!
Please let me know if this format is informative enough for you!