[HN Gopher] I bricked my Christmas lights
       ___________________________________________________________________
        
       I bricked my Christmas lights
        
       Author : willcooke
       Score  : 185 points
       Date   : 2023-12-15 18:41 UTC (4 hours ago)
        
 (HTM) web link (www.whizzy.org)
 (TXT) w3m dump (www.whizzy.org)
        
       | willcooke wrote:
       | I was trying to automate my BLE connected Christmas lights but
       | instead I created e-waste. Now you can too!
        
         | CTOSian wrote:
         | you can still use them as dummy/classic lights if you bypass
         | the controller
        
           | willcooke wrote:
           | +1
           | 
           | I can just swap the micro controller with something like an
           | ESP8266 and run WLED.
        
             | green-salt wrote:
             | I did this super similar (ESP32) with a set I got from
             | walmart. Works great!
        
               | wkjagt wrote:
               | I find it amazing to think that your Christmas lights are
               | now way more powerful than my first computer.
        
         | sva_ wrote:
         | Not sure what you did with it, but I found that some of this
         | SmartTrash does a hard reset when you do some magic sequence
         | such as quickly turning if off/on 5 times in a row.
        
       | Someone wrote:
       | FTA:
       | 
       | > When we try and decrypt the on and off packets we get:
       | 
       | > 05 54 55 52 4E 01 00 00 00 00 00 00 00 00 00 00
       | 
       | > 05 54 55 52 4E 00 00 00 00 00 00 00 00 00 00 00
       | 
       | > 05 54 55 52 4E 01 00 00 00 00 00 00 00 00 00 00
       | 
       | > 05 54 55 52 4E 00 00 00 00 00 00 00 00 00 00 00
       | 
       | > 05 54 55 52 4E 01 00 00 00 00 00 00 00 00 00 00
       | 
       | > 05 54 55 52 4E 00 00 00 00 00 00 00 00 00 00 00
       | 
       | > Success! This is a lot more sensible. A fixed header, byte 5
       | switching between a 1 and a 0 for on and off, and a bunch of
       | zeros.
       | 
       | I would guess that's not a 'fixed header', but a length byte
       | ("command is 5 bytes long"), a command ("TURN") and an argument
       | (zero or one), padded with zeroes to 16 bytes.
        
         | willcooke wrote:
         | Oooh! Good spot. I will check other commands and see if that
         | length idea works out. I think it could.
        
         | EvanAnderson wrote:
         | That "54 55 52 4E" jumped right out to my eye as the uppercase
         | alphabet. Knowing that numbers start at 0x30, uppercase letters
         | start at 0x41, and lowercase letters start at 0x61 makes
         | alphanumeric patterns in hex dumps easy to spot.
         | 
         | That knowledge is good for short strings, but the canonical
         | hexdump format is a the best way to look at packet and memory
         | dumps.
        
         | ww520 wrote:
         | That's a great catch. 0x54 55 52 4E indeed are T U R N.
        
       | MarkusWandel wrote:
       | Power supply failure? The WS281x things can go really bright,
       | and, in bulk, suck an awful lot of current. A 12V, 3A power
       | supply on a strip of 100 is just about enough to drive them all
       | to full bright white, and dazzlingly bright it is. So I'd look
       | for a blown fuse. The fact that the firmware only drives them to
       | 31 out of a possible maximum brightness of 255 offers a clue.
        
         | willcooke wrote:
         | Good idea! I'll get the multimeter out.
        
         | mrb wrote:
         | That was my first intuition as well, seeing the brigthness
         | limited to 0x1f. With any luck, the power supply might have a
         | fuse, and it's just the fuse that blew up.
         | 
         | Anyway, if you can't salvage it, standard WS281x LED strings
         | can be hooked up to a Raspberry Pi and you could use my open
         | source addressable LED controller :)
         | https://github.com/mbevand/ledthemfight It comes with built-in
         | effects. I made it very modular so for the DIY crowd, in 2
         | lines of Python, you can create simple custom LED effect
         | modules. See a demo here: https://youtu.be/qpd2rILsnM4
        
       | thomasjudge wrote:
       | It goes up to eleven
        
         | nicky0 wrote:
         | Icarus flew too close to the sun
        
         | qingcharles wrote:
         | But not twelve... :(
        
       | taylodl wrote:
       | Bah! Humbug!
       | 
       | This is why I like dumb things.
        
       | syntaxing wrote:
       | Beginners question, is there a reason we can't reverse engineer
       | something similar for lights made by Govee? Is it because it's
       | WiFi and harder to MITM?
        
         | steviej wrote:
         | I have a couple of Govee light bulbs in my garage I control
         | with an M5StickC using BLE:
         | https://github.com/stevenjohnstone/reversing-tools/blob/main...
         | . Looking at the decompiled Govee android app, there are many
         | products with similar control over BLE in addition to wifi.
        
         | gsharma wrote:
         | The Govee strips I have do support Bluetooth connectivity. In
         | fact, that's how they are setup initially.
         | 
         | Your comment prompted me to search for "Govee LAN" and found
         | HomeAssistant LAN integration. Time to dig deeper!
         | 
         | https://www.reddit.com/r/homeassistant/s/bppM4AR3uA
        
         | eichin wrote:
         | There may be an easier way, but another HN thread pointed out
         | that you can use tailscale to make it easier to tcpdump phone
         | apps (because you can send all of the phone traffic through an
         | endpoint you control.) (Presumably raw wireguard is enough? I
         | haven't tried (or seen tutorials for) either approach, it was
         | just a "that sounds clever, save it for my next sniffer
         | project" idea)
        
         | brk wrote:
         | I like the form factor of some of the Govee string lights. I've
         | thrown out their controller and hooked them to ESP32's with
         | WLED. Best of both worlds that way.
        
       | urbandw311er wrote:
       | > Tell me how I can > break my own lights
       | 
       | Ha! Love that.
        
       ___________________________________________________________________
       (page generated 2023-12-15 23:00 UTC)