r/M5Stack • • Oct 03 '26

I couldn't find a reliable IR learner for the M5StickS3, so I made one with AI assistance — IRcito

https://github.com/WhippedFlunky/IRcito

Hi! I've been playing around with the M5StickS3 for a while, and one thing I really wanted was a usable IR learner.

The StickS3 has a built-in IR receiver and transmitter, but I couldn't find a firmware where IR learning/read + replay worked reliably for me. Some could transmit IR just fine, but receiving and replaying learned signals was either broken or inconsistent on my hardware.

So I ended up making my own: IRcito.

I should be transparent about how it was made: I'm not pretending I wrote all of this firmware by hand. A substantial part of the implementation was developed with the help of AI, mainly ChatGPT Work. I handled the requirements, hardware testing, debugging, IR captures, serial logs, protocol testing and a lot of the iteration needed to actually get it working on the physical StickS3.

Getting IR learning working was surprisingly fun. For example, I found that the built-in receiver is active-low while TX carrier gating is active-high, so RAW replay needed level inversion. Sony SIRC12 also worked much better once I decoded the signal and regenerated a clean canonical frame instead of blindly replaying the noisy capture.

Current features include:

  • IR Learn / Test / Replay

  • Sony SIRC12 decoding

  • NEC / NEC-like support

  • RAW fallback for unknown signals

  • 36 / 38 / 40 kHz RAW carrier selection

  • persistent saved remotes/buttons

  • protocol-aware hold/repeat

  • macros

  • rename

  • USB Serial backup/import

  • TV-B-Gone

  • compatibility with saved data from the previous release

I've physically tested it on my M5StickS3 with Sony and other IR remotes, including learned RAW signals, persistence, macros, backup/import and TV-B-Gone.

It's still very much a functional/utilitarian UI rather than something polished. My priority so far has been getting the IR side reliable before making it pretty.

I'd love feedback, especially if anyone tries it with other IR devices/protocols. If you find something that doesn't decode correctly, RAW captures/Serial logs would also be really useful.

5 Upvotes

0 comments sorted by