Convert old IR remote controls into presentation clickers using an RP2040 USB board and open-source TTVKTR firmware

IR remote control RP2040 USB HID

Brisk4t’s “Tossed The TV — Kept The Remote” (TTVKTR) is an open-source firmware project for Raspberry Pi RP2040 USB boards that aims to reduce electronics waste by converting old IR remote controls into presentation clickers.

Most Raspberry Pi RP2040 boards with USB ports should work, but the project highlights the Waveshare RP2040-Zero combined with a standard 38 kHz infrared receiver due to its small size and low price ($4-5). The project also relies on the built-in RGB LED for layer color feedback.

IR Remote control to presentation clicker RP2040 project

That’s about it for the hardware. It just required some basic soldering of the IR receiver to GPIO 28 (OUT), 5V or 3.3V, and GND pins. Nothing too hard. The WS2812 RGB LED is already connected to GPIO 16. I tried to look for RP2040 USB boards with a built-in IR receiver, but I could not find any.

 

Waveshare RP2040-Zero Pinout
Waveshare RP2040-Zero pinout diagram (top)

The firmware receives IR codes from a standard 38 kHz receiver and translates them to USB HID reports based on a JSON configuration stored on the device’s filesystem. But users don’t need to edit the JSON themselves, since a browser-based config tool communicates over Web Serial to let users map buttons, learn IR codes, and arrange layouts in a way similar to VIA or QMK for mechanical keyboards and macropads. It’s what differentiates TTVKTR firmware from other similar attempts such as Adafruit pIRkey and CH32V003-USB-IR-Receiver, which require some manual coding for each remote.

TossedTheTVKeptTheRemote web UI
TossedTheTVKeptTheRemote web UI

The user interface offers the following features:

  • Custom Keybindings UI in a browser for assigning remote buttons to keys, media controls, or custom actions.
  • Multiple layers for one remote with the board’s RGB LED showing the layer selection
  • Support for multi-step inputs, including modifier combinations, repeated presses, and chained actions.
  • Layouts enable a distinct way of telling different IR remotes apart
  • Manual configuration editing with JSON editor

Example of JSON file stored in /settings.json on the board’s partition:


Note that you’ll need Chrome or another browser that supports Web Serial, and for instance, Firefox is not supported [Update: recent versions of Firefox now support WebSerial, see comments section].

The source code for the firmware (Arduino/PlatformIO) and web interface (HTML+JavaScript), as well as instructions to build the code and get started, are available on GitHub.

Via Hackster.io

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Dragon Q8B Edge AI SBC with Snapdragon 8cx Gen3 SoC

8 Replies to “Convert old IR remote controls into presentation clickers using an RP2040 USB board and open-source TTVKTR firmware”

  1. Cool idea, but coming from a corporate event background this would never fly. Clients/ AV companies will only use established brands like perfect cue due to reliability. No one will risk money on something like this.

    1. According me this is more something like a FLIRC and used for media control (for example kodi).
      I wonder if I could connect this to the IR sensor of my apple mini 2010 and finally get that IR working in libreelec.

  2. Nice project. I wish I found it when I needed something to control Kodi running on a fanless PC which did not support CEC

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC