Hacking Costco LED Light Panels – OpenBeken Firmware Installation

These are Artika Skyshade Smart LED light panels, and these are an absolute steal at just £60 from Costco here in the UK – so much so that I bought three of them for my upstairs hallway lighting revamp. There’s just one little problem with them… Despite being “smart”, which in this case means RGBWW and WiFi controlled, these commit the cardinal sin of needing to be connected to the internet to be remotely controlled – even via Home Assistant – and how many times do I have to tell you… DON’T CONNECT YOUR LIGHT BULBS TO THE DAMN INTERNET! Luckily, the chip that runs this whole thing is a standard Tuya module, a BK7231N, which with a quick firmware flash can be fully open source controlled – and yes, no longer needing the damn internet to turn your bloody lights on. Oh, and before we get too far into this, I wanted to thank ErrorGap from the elektroda forum as it’s their guide I followed to get this done. It’s an excellent resource if you want to do this yourself, and it’s one I’ll link in the description! Right, let’s get into it!

The light itself works pretty well out the box, and each light comes with an IR remote that lets you control the RGB, cool white and warm white LEDs without connecting it to WiFi at all. If that’s all you want to do with it, then congrats, mount the buggers and enjoy! Should you want smart control though… Well keep watching. The light itself just has live, neutral and earth connections via wago style lever connector blocks which is quite nice and does make for easy installation. To flash the thing though we need to get inside the light which luckily is just a whole bunch of phillips head self-tapping screws. Once the screws are all out, you can lift the main panel out from the outer housing and diffuser, and flip it over. In here you’ll find the three rows of LEDs, in groups of three, the middle being the RGB LED and the flanking two are the cool and warm white LEDs. This is why the brightness level is so much brighter with just white. Anyway, in the mix you’ll find the tiny little PCB with the IR receiver and our WiFi module. This is actually an ESP style microcontroller that sends 5 PWM signals to the power supply to control the LEDs, along with the WiFi and IR control. Now we do need to solder some leads here, power and ground on the bottom edge, then TX and RX for UART on the lower right side, and finally the enable pin two up from RX. Technically you don’t need that one as you can just reset the board by pulling 3.3 volts or ground, but I opted for it anyway. You’ll also need a USB to UART adapter, I’m using a CP2102 board which makes it nice and easy. With the wires soldered – and be careful not to short 3.3V and ground as that will kill the board, ask me how I know, you can hook them up to the CP2102 headers, remembering to flip TX and RX, and connect it to your PC. With the BK7231 Easy UART Flasher open, download the N_QIO version of the firmware, set the baud rate to 115200, then hit “Do firmware backup (read) only”. It might ask you to reset the chip with CEN, if so reboot it, then it should read the current firmware. If all goes well, hit “Do firmware write (no backup!)”, and let it do its thing. 

Assuming that went well, now you are onto the next step. Once the board resets – you might need to toggle CEN or pull power or ground again – it’ll create a WiFi hotspot called “OpenBeken” and a bunch of letters and numbers. Connect to it so you can run through the setup at 192.168.4.1. Head to the flags page and enable flags 0, 1, 8, 10, 12, 16, 22 and 28, then to configure module and set P6 to PWM 3, P7 to PWM 2, P8 to PWM 5, P23 to IRRecv, P24 to PWN_n 4, and P26 to PWM 1. Then head to WiFi and connect it to your network. Once it connects, you can reconnect to the new local IP address and set up MQTT from Home Assistant, and enable Home Assistant Discovery. HASS should find it automatically – assuming you have the mosquitto MQTT broker installer and set up –  which is great. Should you want the IR remote to still work, you’ll need to hit the “Launch Web Application” button, click on “Filesystem”, create a file called “autoexec.bat”, then paste the add event handler 2 codes from ErrorGap’s post and save it. Reboot the device and that should make the remote work. 

Then you can de-solder all the wires and mount the bugger to your ceiling. If you don’t have terrible 19th century ceilings it should be pretty easy, just 6 mounting screws and plugs, and one central hole for the wiring, then hang it by the safety straps and hook it in. In my case this took almost a day. Fun times. Anyway, wiring it in is pretty easy, although it’s worth noting that this thing works best if it has permanent power and you just control the light directly, rather than switching power off like a normal light. I’ve wired this up via a Sonoff Zigbee relay so that I can control both power to the light and (if decoupled mode actually worked) I can still use the regular light switches to control the light itself. These Sonoff Mini R2 relays are a bit bugged when it comes to the decoupled mode, at least through ZHA. With Z2M I believe it works fine, but I really don’t want to re-pair all my Zigbee devices so I’m gonna have to work around it for the time being. Anyway, the light works, it’s beautifully bright and I’m looking forward to getting the other two up and lighting up my otherwise dim hallway. We’re doing a lot of renovations and new ceilings upstairs is one of them, so I’m waiting for that before fitting the other two. Don’t ask why I did the hardest one first though. These lights are great. At £60 they are exceptional value for what you get, and with open source firmware onboard, they are a great choice for smart lighting. I’d prefer Zigbee, obviously, but I’ll settle for this.