Note: This is just for fun, don't try this.
Also, Ruifan actually tried to protect their product against RE(Reverse Engineering) and put a bunch of super glue on there, don't try this if you don't have the skill, I opened mine up just for science.
Again, don't try this unless you really have the skill and don't find me if you broke yours.
If you don't like reading all these, https://www.bilibili.com/video/av38919290 here is a video where I go over more stuff.
I wrote this during mid-night so I might missed a few things. Just E-mail/DM me.
Here is the real article.
How do you even open this?
So just use some un-cure/ glue remover stuff try to melt the superglue and twist the tube off, I don't know what kind of super glue they used but it's tough to open.
My un-cure(most of the glue remover) melt plastic and superglue, so extremely careful with this kind of stuff！
All melted plastic.
But anyway, I did get the tube out.
Let's test the voltage and current draw of this thing.
At 4.2V drawing around 0.12-0.13A, very power efficient.
Oh yeah, NEVER EVER USE HOT AIR otherwise you will end up with a melted tube and the glitter film.
I used hot air...
Disassemble the PCB
The LED chip and MCU are all on one board, so we have to get the inner tube off.
The cap that holds the top of the PCB where we can push the PCB off the tube. Also glued together using more superglue.
Spent half an hour trying to get this thing off. Just use more un-cure and more scraping.
But don't you think it's over? No, there is more.
Plastic holder, just use a flat head to get it out. YOU CANNOT UNDO THIS NO MATTER HOW CAREFUL YOU DO.
I said it, there is no way back.
After the plastic cap out of the way, we can debug the PCB board now.
We are close!
Let's see what's at the bottom
- Blue: Si2301DS, 1.25W 2.5V, low power P-Channel MOSFET
- Green: AT93C46, A 3-Wire Serial EEPROM, 1K storage.
- Red: Unknown MCU(My Personal Guess: EM78P153A)
As I excepted, a mark off MCU. So we have to go upstream from the MCU, we surely know this is kinda like a one-wire controlled LED, so let's see where is the data pin connected to.
After testing, we found that data is connected to Pin 7, the only pin connected to the MCU except for ground.
So, I'll bring out my "old school" oscilloscope to test the signal.
Soldered a jumper wire to Pin 7.
After setting up the trigger, I ran some single shot. Here are some screenshots
The full transmission at 100ms, 2MS/s.
The First packet, 4.0us at 5GS/s
The first packet with cursor measure. Have a +duty cycle of 30% and around 32Khz.
If you worked with programmable LED before this should look very familiar to you.
Yes, it's WS2812.
Based on WS2812?
So now I just used FastLED Library just for saving time. FastLED is fairly ok, it has lots of animation built-in. But if you want really fast speed you can always write ARM/AVR assembly.
I used Arduino Nano as the "New" MCU and soldered a jumper wire to VCC and GND to give the power.
More explanation are in the code
Talk is cheap, show me the code.
I mean, it's a programmable LED anyways so basically the sky is the limit here. Just think about what you can do and how can you implement it.
I have to say Ruifan did a great job actually turning what I thought into a real thing(lol). Why? I have an "exact copy" of my own before this event went on sale.
Anyway, I don't really recommend doing this otherwise it could result in a lot of damage(that can't be fixed by flex tape)...
Yea... So really careful when you use glue remover.
But anyway, this is what it looks like when you can just twist it open.
Just entire stripe of LED.