Using Pico to get state from LED lights is ingenious. Mad props! If you just want to control infrared devices and set their state without first reading their state (like any standard IR remote), looking into BroadLink RM4 Mini. Works with almost everything I've thrown at it.
The ESP32 has a built in infrared decoder/encoder, I wonder if you could just skip the intended IR LED that it's supposed to drive and just wire it directly to the receiver pins on the target device with an appropriate resistor. That's the same thing going on here except using the PIO (which was cool to see explained and makes me want to play with the 2040W) and I have an air purifier I kinda want to smarten up...
Good post. Honestly though, I’m more interested in making smart devices dumb. Rip out their Wi-Fi hardware etc.
> It does have a problem however, the TV tends to hit resonance frequency very often with its built-in speakers, causing the body of the unit to vibrate something awful and produce some ear wrenching sounds as a result.

"Gosh that sounds like our LG"

<looks at pics>

"Of course it's a fucking LG."

This has no bearing on the project but since I am implementing a toy server I am wondering about the choice of the PUT method. I thought that it was mostly unused (browser don't send PUT requests) and was replaced by POST request most of the time.
I've had thoughts of a project for making my TV smart but never got started on it.

I think developing a ML vision model for detecting commercials during sporting events or detecting YouTube ads and when the skip ads button appears would be a fun and not too complicated project.

But connecting it to hardware with an infrared remote seemed significantly harder and this project confirms my worry.

It might still be possible in software with a software Roku remote, I briefly looked into what it takes to write apps on there and was able to control my Roku over WiFi. But would be nice to not have to depend on it.

grug love dumb devices. not only understandable by grug brain, simple design help trap complexity demon. when it come to devices around home -- tv, thermostat, etc. -- complexity demon only make things worse. plus hide more insidious demons, like spyware demon, etc.
What a superb article.

I clicked expecting something about learning/repeating IR codes… but no, this is a level above!

Not quite the same thing, but it still amuses me that we use the infrared Remote Control Tranceiver driver and hardware in the ESP32 to generate LED strip PWM signals!

Amazing article! The next step is to create an automation script to navigate the menus and selecting the content you want!

Also, thanks to this article I learned of wokwi which is amazing!!

I find posts like this inspirational. The explanation makes me feel like I could have done this despite lacking a lot of knowledge about the hardware. Thanks for sharing!
Really nice write up!

I've done something very similar with infrared controlled Hexbug battle bot toys.

It was a pretty interesting exercise but in the end cutting a few traces and sending commands directly from a piggyback micro-controller to the motor drivers was much more responsive (and allowed for differential steering and braking).

This article is sick because now I feel like the approach wasn't a complete waste of time. Thanks!

I'd been thinking of trying something similar (but with much less experience) for my Dikon heatpump rather than paying the $300 / indoor unit cost for the official iot solution. I wonder if someone has already done this for the Daikon, too.
I'd never seen these circuit/code/breadboard emulator/visualizer widgets, those are very cool and help illustrate the article along with the code snippets, love it.
That's actually really cool. I have a polk soundbar, which already does have a IR remote, but it doesn't actually do anything...
So the remote was outputting something to the RGB LED every time you press a button ... why did they do that ?
Great write up! I probably would have used an ESP8266 or similar… Love the use of simulation!
There are many bars available which have remote control learning.... e.g Yamaha YAS-306. Its just 2-3 mins job and you dont have to do these hacks. I have one from early 2000s which works perfect.y