These days, home appliances are equally as likely to have soft buttons and rotary encoders as they are to have a simple old clunk/clunk power switch and an analog knob for controls. This is all well and good if the device aligns with your personal philosophy about how such controls should work; otherwise, it’s absolutely maddening. [j-zero] ran into this problem with their ORSALA lamp from IKEA, and set about rectifying the problem with some custom firmware.
The ORSALA lamp uses a rotary encoder for setting both brightness and color temperature, with a button to toggle modes. A long press is required to switch the lamp off. The custom firmware modifies this behaviour, such that the lamp can be switched on and off with a simple button press. Turning the encoder modifies brightness, and turning it to minimum switches the lamp off too. Meanwhile, the less commonly used color temperature setting can be modified by using the button while adjusting the encoder.
The hack was executed by reprogramming the ORSALA’s onboard microcontroller, the STM8S003F3P6, via its SWIM interface. The pads for the interface are easily located on the board, making the hack easy. Other than the inputs, the lamp packs separate TTP932 LED drivers for the warm white and cool white LEDs, making it easy to code a custom firmware to handle all the necessary functions.
It’s a great example of a hacker taking control of their own device and remaking it to suit their needs. Of course, if you want to go for another hacker trope, just stuff a Raspberry Pi in there instead!