
The Artika Skyshade is an RGBWW Smart LED Panel controlled by a CBU (BK7231N) chip.
It can be flashed with OpenBeken and retain all the functionality of the original firmware - including the use of the Infrared remote - without the need for third-party cloud services
On unboxing. The package comes with the LED panel, IR remote, and some mounting hardware. Per the original instructions, the panel should not be used with a hardware dimmer switch (dimming can be done via software or the remote)
In order to flash firmware, you will need to open the panel and connect a serial cable to various points on the chip. These instructions are based on my own success re-flashing two of this device purchased late 2023 from Costco. It is possible that hardware may change in later revisions of the device.
First, the device will need to opened in order to access the chip.
Place the device face-down (light side down) so that the back screws and metal mounting plate are visible.

Slide off the mounting plate by pushing it against the direction of the arrow (leftward in the case of the above image)
Next, remove all screws securing the housing, including those which hold the support-rails in place.
Be careful not to strip anything.
Also be careful of the metal section in the lower-left to which the power cables connect. This contains various electronics components and has additional cables which feed into the inside of the unit

Once you have removed the screws on either side of the metal section, you will also need to lift it out a bit and then detach the grounding screw which is attached to the power cable

With this done and all screws removed, you can place the support cables out of the way. Flip the inner housing of the unit around (being careful to support the metal section where the cables feed to the inside)
On the inside, you should see the LED's with cables running into the various sections, as well as the main data+power cable running to the board containing the CBU chip

On the board, you will see:
* a cable with connections laberlled 3v3,GND, P24, P26, P6, P7, P8
* The CBU chip
* An infrared sensor with some resistors

In order to reprogram the chip, you will need to solder leads onto pins
* 13 (PS-GRND)
* 14 (PS-3v3)
* 15 (TX1)
* 16 (RX1)
* 18 (CEN)
Presumably you will be running these leads to a USB-TTL/UART adaptor. I have read of others having some issues with insufficient current on the 3.3v connector (and thus needing external power) but my own CP2102 adaptor seemed sufficient in this case.
Attach leads to your chip as seen below


In my image
* 13 (PS-GRND) = Black
* 14 (PS-3v3) = Yellow
* 15 (TX1) = Orange
* 16 (RX1) = Blue
* 18 (CEN) = RED (in the first picture, skip a pin from the RX connector to reach CEN)
Also, please note that the "TX" connector would connect to the "RX" connection on your adaptor and vice-versa
I also recommend using either a breadboard where you can easily short CEN to GRND or possible a button, as you will need to do this a few times during the flashing process
With this in mind, connect the leads to your TTL/UART adaptor so that
* GRND/Black = Ground
* 3v3/Yellow = 3.3v
* TX1/Orange = RX
* RX1/Blue = TX
* CEN = Initially unconnected, but easily able to short to ground
Now fire up the "BK7231 Easy UART Flasher)
Select the following:
* UART port: [whatever COM your adaptor is connected to)
* Chip Type: BK7231N
* Firmware: Appropriate OpenBeken Firmware, I used OpenBK7231N_QIO_1.17.308 at the time
* Baud rate: 115200 (you may go faster but I find this is a good medium for compatibility and less errors)

Now assuming everything is connected correctly try to "Do firmware backup (read) only". This will verify you've got a connection to the chip and dump the current firmware. Once you've hit the button in the software and entered a backup filename, briefly short the CEN pin on the chip to GRND in order to put reset the device into programming mode
You should see progress details as the memory is read.
Assuming that goes successfuly, next use "Do firmware write (no backup)" (this is assuming you already have a backup from the previous step and all went well). Short the CEN pin to GRND on the chip again
The software should find the device, begin erasing sectors of the chip and then writing. When done, you should see a message
"Writing file data to chip success"
Your chip has now been reprogrammed. Short CEN to GRND one more time to reboot.
With a phone or laptop, look for a WIFI AP called "OpenBK7231N_xxxxxxx". This will be the flashed device.
Connect to this, then open a browser to http://192.168.4.1
From here, you should be able to configure the device with Wifi credentials for your IoT network and save.
Once you've done that, look for it on your own network and access again with a web browser at whatever IP it gets from DHCP (or static if you assigned one as such).
If that works, you can now disconnect the pins from your serial adaptor - be careful not to short anything by accident - de-solder them from the chip, and close the device back up with all the plates, supports, and screws in place as before.
This is it for the hardware portion. I'll cover software in the next comment.
Added after 19 [minutes]:
Continuing on with how to program the Artika Skyshade, here's what you need to do for the software portion of things.
(p.s. if you haven't done so already, you should have desoldered any pins from your device, put it back together, connected to wifi and mounted it up on a ceiling somewhere with power)
Under Config->Configure General/Flags, set the following flags: 0, 1, 8, 10, 12, 16, 22, 28

Under Config->Configure Module
* P6 (PWM0) = PWM 3
* P7 (PWM1) = PWM 2
* P8 (PWM2) = PWM 5
* P23 (ADC3) = IRRecv
* P24 (PWM4) = PWM_n 4
* P26 (PWM5) = PWM 1

Under Config->Configure MQTT: This will need to be configured for however your own network is setup
At this point, I recommend returning to the main menu and performing a reboot at least once, then testing that on/off functionality plus colors and warm/cold white light from the main menu on the device line up as expected
Assuming that's all good, the last thing to do is to preconfigure some macros for the remote and then connect to your home-automation system, if any
If you are using HomeAssistant, then go to Config->Home Assistant Configuration: CLick "Start Home Assistant Discovery" and if your MQTT settings and networking etc are all correct the device should be found automatically
For the remote, you can hard-code functions by settings them in autoexec.bat (a filename that bring back some memories of the old DOS days)
* From the main menu, go to "Launch Web Application"
* Click on the "Filesystem" menu
* Click "Create File" (name the file autoexec.bat)
* A button for the new file should be visible, click on it
* Enter the following into the textbox and then click "Save" (you can modify these to your preference, but they roughly match the labeled remote functionality except for 'mode' and 'favorite'
addEventHandler2 IR_NEC 0x7E7E 0x32 led_basecolor_rgbcw #FF00000000
addEventHandler2 IR_NEC 0x7E7E 0x1A led_basecolor_rgbcw #00FF000000
addEventHandler2 IR_NEC 0x7E7E 0x33 led_basecolor_rgbcw #0000FF0000
addEventHandler2 IR_NEC 0x7E7E 0x1B led_temperature 154
addEventHandler2 IR_NEC 0x7E7E 0x30 led_nextColor
addEventHandler2 IR_NEC 0x7E7E 0x5 power toggle
addEventHandler2 IR_NEC 0x7E7E 0x19 add_dimmer 10
addEventHandler2 IR_NEC 0x7E7E 0x35 add_dimmer -10
addEventHandler2 IR_NEC 0x7E7E 0x16 add_temperature -25
addEventHandler2 IR_NEC 0x7E7E 0x36 add_temperature 25
addEventHandler2 IR_NEC 0x7E7E 0x18 ClearNoPingTime
addEventHandler2 IR_NEC 0x7E7E 0x37 led_basecolor_rgbcw FF00FF0000
Once that is saved, reboot your device once more. The code into autoexec.bat should load automatically at startup and - if successful - you should be able to point your infrared remote at the (center) of the SkyShade and trigger various functions via the buttons.
That's it for my instructions. You should now have a light that is:
* Reprogrammed with OpenBeken
* Does not require any third-party cloud services
* Is connected to your network
* Works for various RGB colors
* Works for varying degrees of warm/cold light
* Is connected to your MQTT service and HomeAssistant (as applicable)
* Works with the Infrared remote
Cool? Ranking DIY