All Projects → fvollmer → Open Desk Lamp Firmware

fvollmer / Open Desk Lamp Firmware

Licence: mit
Open source firmware for the xiaomi desk lamp

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Open Desk Lamp Firmware

Desk Lamp Alternative Firmware
An alternative firmware for the Mijia Xiaomi Desk Lamp
Stars: ✭ 54 (-30.77%)
Mutual labels:  xiaomi, lamp, firmware, esp8266
Mi Firmware Updater
Auto generates Xiaomi firmware flashable zip files every MIUI new update
Stars: ✭ 322 (+312.82%)
Mutual labels:  xiaomi, firmware
Efixplorer
IDA plugin for UEFI firmware analysis and reverse engineering automation
Stars: ✭ 268 (+243.59%)
Mutual labels:  firmware, reverse-engineering
Xiaomi Flashable Firmware Creator
Xiaomi Flashable Firmware Creator
Stars: ✭ 74 (-5.13%)
Mutual labels:  xiaomi, firmware
home
Monorepo for all home automation related development, including integrated firmware, PCBs, configuration, and bridges
Stars: ✭ 104 (+33.33%)
Mutual labels:  esp8266, firmware
SuperLEDstrip
No description or website provided.
Stars: ✭ 13 (-83.33%)
Mutual labels:  esp8266, firmware
Openwrtinvasion
Root shell exploit for several Xiaomi routers: 4A Gigabit, 4A 100M, 4, 4C, 3Gv2, 4Q, miWifi 3C...
Stars: ✭ 366 (+369.23%)
Mutual labels:  xiaomi, firmware
ESP8266 mqtts
Arduino IDE project: send data from DS18B20 temperature sensor to mqtt.flespi.io via MQTT over SSL.
Stars: ✭ 16 (-79.49%)
Mutual labels:  esp8266, firmware
Nodemcu Firmware
Lua based interactive firmware for ESP8266, ESP8285 and ESP32
Stars: ✭ 6,884 (+8725.64%)
Mutual labels:  firmware, esp8266
Esp3d
FW for ESP8266/ESP8285/ESP32 used with 3D printer
Stars: ✭ 979 (+1155.13%)
Mutual labels:  firmware, esp8266
Yi Hack V4
New Custom Firmware for Xiaomi Cameras based on Hi3518e Chipset. It features RTSP, SSH, FTP and more!
Stars: ✭ 1,183 (+1416.67%)
Mutual labels:  xiaomi, firmware
xiaomi-r3g-openwrt-builder
OpenWrt builder for any supported routers using Docker. Scheduled to run weekly
Stars: ✭ 25 (-67.95%)
Mutual labels:  firmware, xiaomi
thinx-device-api
Remote IoT Device Management Platform
Stars: ✭ 19 (-75.64%)
Mutual labels:  esp8266, firmware
Opensteamcontroller
Steam Controller reverse engineering and customization project.
Stars: ✭ 253 (+224.36%)
Mutual labels:  firmware, reverse-engineering
arduino-firmware-wifilink
Arduino WiFi Link firmware for ESP8266 based boards
Stars: ✭ 22 (-71.79%)
Mutual labels:  esp8266, firmware
Sonoff Homeassistant
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant
Stars: ✭ 354 (+353.85%)
Mutual labels:  firmware, esp8266
ADEM
Mobile device for distributed measurements of particulate matter (fine dust)
Stars: ✭ 12 (-84.62%)
Mutual labels:  esp8266, firmware
esphome-components
ESPHome components
Stars: ✭ 62 (-20.51%)
Mutual labels:  esp8266, xiaomi
Dji Firmware Tools
Tools for handling firmwares of DJI products, with focus on quadcopters.
Stars: ✭ 424 (+443.59%)
Mutual labels:  firmware, reverse-engineering
Efiseek
Ghidra analyzer for UEFI firmware.
Stars: ✭ 45 (-42.31%)
Mutual labels:  firmware, reverse-engineering

open-desk-lamp-firmware

The Xiaomi desk lamp is a modern IoT device, that uses the ESP8266 microcontroller. This project provides an open source firmware replacement this lamp. It provides basic functionality:

  • Toggle on/off (press and release button)
  • Dimming (rotate button while on)
  • Change color temperature (press and rotate button while on)

Doesn't provide any IoT features at the moment. But who needs IoT features of a desk lamp?!

Hardware

You can open the lamp by unscrewing the three screws at the bottom of the lamp (under the rubber feets). Then you can see this. The main pcb should look like this:

The Hardware basically consists of an ESP8266 Module, some regulators and a rotary encoder. The ESP8266 controls two switching regulators via PWM to set the brightness of the cold and warm LEDs. For some reason the esptool.py detects the ESP8266 as ESP8285, even trough there is an external flash chip.

Enter Flashing Mode

  1. Solder Connections to U0RX, U0TX, GPIO0 and GND on main pcb.
  2. Connect U0RX, U0TX and GND to USB serial adapter, pull GPIO0 to GND.
  3. Toggle Power

Backup

Before starting you might want to backup the original firmware. Be carefull, this backup contains settings like your wifi credentials! Make sure to check the flash size (just in case there are other variants).

esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x200000 image.bin

You can write the backup back with:

esptool.py --port /dev/ttyUSB0 write_flash 0x00000 image.bin

Build and Install

Install esp-open-sdk, setup PATH enviroment variable (e.g. export PATH=/opt/esp-open-sdk/xtensa-lx106-elf/bin:$PATH)

Build the firmware:

mkdir bin
cd bin
cmake ../src/
make

Flash the firmware:

make flash

FAQ

Q: Why do you buy an IoT desk lamp?
A: I like the design of the lamp, but not the communication with third party internet servers.

Q: Can you please add IoT features to your firmware?
A: I'm not personally intrested in theses features. Feel free to open a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].