Open-Source an AUKEY-LT-T6 RGB desktop lamp to make it better!
I always thougt that this lamp is very nice (hardware wise) but lacking many features and with a crippled UX. So I took-on the challenge and here are the results!
A long TODO list yet (mostly software), but -at least- an already usable hardware base to keep going.
This is Open-Source/Creative Commons: enjoy!!
This is the work-in-progress found-out pinout of the board:
Two main ICs:
- An unknown (sanded) 5V microcontroller
- An unknown (sanded) 5V touch sensor IC
Other ICs:
- 78L05 - Voltage regulator (7-12V --> 5V)
- PT4115 - High power LED dimmer (White LED driver)
- SE2300 - N-Channel MOSFET (Red, Green & Blue LEDs driver)
Mysteries and TODO list:
I've done a fair amount of (re)search trying to find out what the unknown ICs are, and got some guesses (none definitive), but there are things that are beyond my knowledge/skills, like the TP2 touch wire (it's soldered to a copper disc sitting on the plastic of the bottom of the lamp 🤷♂️) that goes directly into the microcontroller 😳🤔, or what are the two additional lines that go from the touch IC to the micrcontroller, etc. If you know/find-out any of this, please contact me and let me know!!
BEWARE!!
- PCB traces tear and snap-off very easily after desoldering the microcontroller (what you can already see in the assembly picture 🤦♂️).
- Poking around while the transformer was still plugged in, I also managed to break (burn?) quite easily two of the SE2300 MOSFET, that I was (somehow) able to repair swapping them with scavenged equivalent ones from old note-book battery-packs circuitry.
I used an ESP-12 (ESP8266 module) to substitute (and upgrade) the original microcontroller functionality:
I will include here a complete Fritzing schematic in the future and some working details.
This new lamp does several new things passing through different stages:
- START: it flashes in red when you plug it into an AC outlet, indicating it's starting and entering the BOOT stage.
- BOOT: during boot-up it tries to connect to an OTA WiFi (lampsetup/lampsetup) that will allow you to upgrade the firmware. If it succeeds, the lamp flashes in orange and stays in this OTA update state until powered-off.
- CONNECTION: if the lamp has already been configured, it will connect to the saved WiFi network and proceed to the FINAL stage. If not, it will enter the SETUP stage.
- SETUP: if it's the first time you turn the lamp on (or the saved WiFi connection is not valid/available), it creates an open WiFi access point named WiFiLampSetup to which you can connect to (with your smartphone, tablet or computer) to setup your WiFi connection. This stage only lasts 120 seconds (two full minutes!): if nothing is done or you cancel the configuration, a new password protected WiFi access point will be created: MyLamp/12345678.
- FINAL: once the lamp is done intializing, it will flash in green indicating it's ready to be used.
NORMAL operation (FINAL stage)
- Touch the base to turn on/off the lamp (to the last configured color).
- Long-touch to turn on the high-power white-only light.
- Go to https://mylamp.local to access the control App (*).
(*) The lamp must be connected to the same network as the device you want to use to access this portal. If the lamp wasn't able to connect to your network, you should connect to the lamp's WiFi network itself (MyLamp/12345678).
All the development was done -for simplicity- using the Arduino IDE with the ESP8266 stack. You can find the ESP-12 (ESP8266 module) code in the code folder: all the gory details are there 😅😬
This software uses the WiFiManager libray to configure the WiFi connection on-the-fly. This software uses the SPIFFs local storage of your ESP-12: use this plugin to upload the contents.
A lot can (should?) be done software wise: it's only a barely-minimun working base that -basically- allows you to select and save a color in a very efficient and direct way (it works in real-time!). It's necessary also some tunning, as the LEDs drivers don't work very well with all the PWM range (they are full bright above 50% already).
To Almu 20220601
This work is licensed under the GNU General Public License v3.0. All media and data files that are not source code are licensed under the Creative Commons Attribution 4.0 BY-SA license.
More information about licenses in Opensource licenses and Creative Commons licenses.