IR2USB - IR to USB HID Converter based on ATtiny45/85

IR2USB - IR to USB HID Converter based on ATtiny45/85

IR2USB receives signals from an infrared remote control and converts them into keyboard inputs, mouse movements or joystick inputs. Since it is recognized as a generic Human Interface Device (HID) via USB on the PC, no driver installation is necessary.

pic1.jpg

Hardware

The schematic is shown below:

Wiring.png

Software

The communication via USB is handled by the V-USB software-only implementation of a low-speed USB device. To simplify the software development with the Arduino IDE the VUSB_AVR board package is used. It includes libraries to implement keyboard, mouse and joystick devices, which makes it easy to implement a converter.

The IR receiver implementation is based on NeoController and supports the NEC protocol only, but this is used by almost all cheap IR remote controls. Alternatively, you can build such a remote control yourself with TinyRemote.

Compiling and Uploading

Since there is no ICSP header on the board, you have to program the ATtiny either before soldering using an SOP adapter, or after soldering using an EEPROM clip. The AVR Programmer Adapter can help with this.

  • Open Arduino IDE.
  • Install VUSB-AVR.
  • Go to Tools -> Board -> VUSB AVR and select VUSB-AVR.
  • Go to Tools -> CPU and select ATtiny85 (16.5 MHz internal).
  • Connect your programmer to your PC and to the ATtiny.
  • Go to Tools -> Programmer and select your ISP programmer.
  • Go to Tools -> Burn Bootloader to burn the fuses.
  • Open the sketch and click Upload.
  • Disconnect the programmer and connect the device via USB to your PC.

References, Links and Notes

  1. ATtiny45/85 Datasheet
  2. TSOP4838 datasheet
  3. V-USB
  4. TinyRemote

pic2.jpg

License

license.png

This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License. (http://creativecommons.org/licenses/by-sa/3.0/)

Similar Resources

Scrollytroller is a crank-based USB controller, initially inteneded for use with Playdate's Pulp web-based game development tool

Scrollytroller is a crank-based USB controller, initially inteneded for use with Playdate's Pulp web-based game development tool

Scrollytroller Scrollytroller is a crank-based USB controller, initially inteneded for use with Playdate's Pulp web-based game development tool. This

Feb 17, 2022

per - Simple unix permission viewer and converter

Per is a simple utility that can verbosely print unix permissions and convert between symbolic and numeric notations and vice-versa.

Feb 27, 2022

CRServoF - The CSRF serial protocol to PWM servo converter

 CRServoF - The CSRF serial protocol to PWM servo converter

CRServoF - The CSRF serial protocol to PWM servo converter I wanted to create a small project to mess around with PWM servo output for ExpressLRS, and

Sep 21, 2022

I2C to WS2812 (RGB LED) converter

i2c_ws2812 I2C to WS2812 (RGB LED) converter MCU and Peripherals The code is tested on ATtiny 0 & 1 series (ATtiny212 & ATtiny402). I2C, CCL, SPI, and

Oct 15, 2021

Simple IEEE 754 float point to register converter

i3ecnv Simple IEEE 754 float point to register converter Usage IEEE 754 converter: Type: i3ecnv double value Example 1 ./i3ecnv 1.2 Value DO

Nov 28, 2021

A format converter for surface mesh intergrated with muli tools.

A format converter for surface mesh intergrated with muli tools.

MeshConverter A format converter for surface mesh intergrated with small tools for fast surface mesh modification in CFD application scenarios. Build

Jul 22, 2022

Converter for X3's .bod files to OBJs for 3D printing

Quick and dirty tool to convert X3 .bod files to OBJ for 3D printing. No, really, it is probably the worst code I've ever written. Don't judge me on t

Jan 9, 2022

Xmodelconverter - A converter for xmodel & xanim files for Call of Duty

xmodelconverter A converter for xmodel & xanim files for Call of Duty. It converts xmodel & xanim files back into xmodel_export and xanim_export text

May 13, 2022

A video input (V4L2) to NDI converter that works with Raspberry Pi (32-bit and 64-bit), and Intel/AMD CPUs

V4L2 to NDI V4L2 to NDI is an application that connects to attached V4L2 devices and encodes the video signal into NDI It uses the NDI library, allowi

Jul 28, 2022
ESP8266 software USB host through general IO pins. We can connect up to 2 USB-LS HID (keyboard mouse joystick) devices simultaneously.
ESP8266 software USB host through general IO pins. We can connect up to 2 USB-LS HID (keyboard mouse joystick) devices simultaneously.

esp8266_usb_soft_host Test for esp8266 usb host . Works with ESP-IDF v3.4 80MHz and 160MHz. WorkInProgress Test run with mouse & combined mouse & keyb

Sep 1, 2022
esp32S2 USB HID host example.

Simple usb host HID example Since usb host support is still beta stage and include file is in private_include i copied component to this example. Code

Jun 30, 2022
Raw HID keyboard forwarder to turn the Pi 400 into a USB keyboard

Raspberry Pi 400 as a USB HID Keyboard Hook your Pi 400 up to your PC somehow, using a USB Type-C cable into the power port. Anker make good ones- I u

Sep 28, 2022
usb to 5 din midi converter-filter-router, sound generator
usb to 5 din midi converter-filter-router, sound generator

multi What is multi? It's a PCB (shield/hat) hosting a seeeduino Xiao. It has 6 potentiometers, 2 pushbuttons and a 1/8" audio out connected to the Xi

Aug 24, 2022
USB2Sun - USB keyboard/mouse to Sun Converter

USB2Sun While I've found many projects for connecting the Sun serial based keyboards to a modern machine via USB, I've never found anything to connect

May 27, 2022
Tiny and portable usb host and device stack for mcu with usb ip

Tiny and portable usb host and device stack for mcu with usb ip

Sep 25, 2022
USB-C_PCB_experiments - USB-C ports made from a flex PCB and an ATtiny84A
USB-C_PCB_experiments - USB-C ports made from a flex PCB and an ATtiny84A

USB-C PCB Experiments This is part of an ongoing series of projects involving creative interpretations of the USB mechanical standards. You've probabl

Sep 5, 2022
Anotter USB temperature logger that can record up to four channels with thermocouple or NTCs connected via CDC directly or SCPI to USB.
Anotter USB temperature logger that can record up to four channels with thermocouple or NTCs connected via CDC directly or SCPI to USB.

temperature-logger Anotter USB temperature logger that can record up to four channels with thermocouple or NTCs connected via CDC directly or SCPI to

Aug 11, 2022
Ramp is a HID attack program that steals all connected WiFi passwords within 13 seconds.
Ramp is a HID attack program that steals all connected WiFi passwords within 13 seconds.

Ramp Ramp is a HID attack program that steals all connected WiFi passwords within 13 seconds. Tested Windows 10 Warning Ramp has been created for the

Aug 23, 2022
Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.
Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.

Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.

May 6, 2022