On April 2018, at part of H.Lab, we were assigned to operate 150 kinetic balls and 12,000 Chinese LED wristband or LED bracelets (aka. xyloband, but it is a trademark of the company that make this wristband for Coldplay, so not the name of the product) by H.U.I for Peck Palitchoke on his first date concert.
I feel like I need to address that
H.Lab is another company that we made for advanced equipment rental supplies for concerts and exhibitions. We focus on taking experience to higher level. We use, modify, develop new way for existing products or new products to create new experiences for audiences, sound confusing as fuck, let just say we’re concerts/exhibitions equipment rental.
H.U.I is a big name in concerts, theatres, and large-scale events.
I'll cover led wristbands, kinetic is for later
We got a friendly request from fanclub of Peck (นุช) to operate this wristbands, everything was brought for us, we only need to operate it. We are really excited and happy to be part of PECK concert, Before getting this request we were looking into this type of technology a month before, they usually come with either 433Mhz or 2.4Ghz for RF signal transmission. They usually have 8 groups each wristband group can be command separately. There are many brands from China, Canada, England, US and you have the peak which is PixMob - they are using infrared transmission so advanced but we are not getting into that. We looked for at least 20 sellers in China, they all come from few factories. Anyways we got to operate Chinese 433Mhz version, the range is better than 2.4Ghz but it's slow. After we got the product, we immediately spent a couple days trying everything and found following :
- Controller is slow,
- Controller is damn slow, damn it
- It's fucking slow
You have to click it, real time! For instance, if you want to assigne group 'A' wristband to have slow blink blue, you need to choose group 'A', then choose color blue, then choose slow blink - 3 buttons for the assignment.
Thus, we can't make rainbow color of groups at the same time, this is (without a doubt) definitely impossible. BUT we saw there is an audio mode on the device ( recieved AUX and automatically send signal to each wristband according to input AUX audio) and it is lighting fast. So, I thought this is not a hardware or signal problem, the hardware can send very fast, wristband can receive very fast. The problem is user experience (UX) in the core. - Pushing button action make us slow. And even there is a software mode for controlling the controller via USB(which looks exactly like controller), we can't push buttons in the software faster or CAN WE?.....
I sleep on this problem for a few days and Let say if we capture signals from every button push from its software, can we fake it by writing our own software and sent this signals to the controller? So our software can send pattern of signal as often as we like. It can be repeated, it can be patterned, programmed or randomed. So I use USB capturing software (of course, wireshark) to sniff USB data from its software to the controller for every buttons. It can be mini reverse engineering, if you call it. Language I choosed to write was python using lib PyUSB. This is inspired by Hacking the Kinect, Thank you
use this product vender and product id to create a package
write(endpoint address, 'message')
To write and read
ctrl_transfer( bmRequestType, bmRequest, wValue, wIndex, nBytes)
After spending a week on this on I found that there is a difficulty. After the controller connect to the software, the software sent hand shake signal then we can sent something. it is difficult to replicate that hand shake, I may need extra time (and probably sniffing hardware), unfortunately there is no time.
I tried to talk to the people who made the device via sale person asking how they implement the USB connection, because there is no datasheet or anything I can find on internet. They sent me 30mb .ddb file which I know it is a protel 99se file, possibly all the hardware and circuit layouts but there is no time for that, having said that my colleague, IDSTUP have an idea, he said I can just make a code for mouse click, click on the software and find a software that can make cue, pattern or timeline and trigger via midi device. Not the best way but it will work within 2days, so I began mapping mouse position for all buttons of the Chinese software in my code which btw a processing program using java.robot, tricky but if it works it's not stupid and then make it listen to midi then I started looking for timeline software. And found following software
- Vezér, Great software! but works on mac only.
- Fugio from bigfug, multipurpose tools and it's free
- Lannix, open source midi/osc sequencer This is highly recommenced, anyone should try, and it's free!
- Ableton live we end up using this!
We use Akai APC40 MKII which connects to ableton live. On ableton life we write midi sequences for each midi track, the midi sequence broadcast in the pc using loopmidi. Then software I wrote captures this midi and place a click on the Chinese software.
Our time was spent on software, but little we known about the range. It is written on specification, the transmission range is about 800m diameter which is more than enough, so we did not worry about it. Later we found that transmission range is less than 50m, huge problem here. There is something seriously wrong here, 433mhz could go very far, how can this controller sent only 50m. Could it be antenna, or signal disruption.
Well it's the antenna and power supply that cause the problem.
So I went to Baanmor electronics mall to find answer 2 times!, and found that I need a new big ass antenna and a new higher watt 12v power supply (because the the adapter turn 220v to 12v 0.6amp! omg 0.6amp!, the factory gave us a wrong power supply adapter) and 80w 400-45Mmhz booster, 80w is too much I knoww, it's almost illegal (if you ask for higher watt), but I need to make sure it works 100%. fuck yeahh!
The color of led wristband is not 100% accurate. White is more like light green. Light blue is more white than white. Orange is totally disaster.
There is nothing to solve here, it can't be changed. It is in led quality. need to fix this for future order from Chinese factory.
we only can just replace some colors like every white, I need to change software to light blue, etc.
Where this end
So after running the software, it works. At the time of writing this we as h-lab already tried other kind of wristband hardware, faster, better, and dmx ready - I will write about it soon.