During presentations, I avoid being stationary and generally like to walk around in order to increase the interaction between me and the audience. However, I was constantly being faced with the burden of having to go back to the laptop, in order to change a slide or tell a person sitting by the laptop to do that. Not cool!
This problem is usually solved by devices, called remote clicker_s or _wireless presenters, which consist of a handheld controller with buttons that sends signals to a USB dongle plugged in the computer. After looking around to buy one, I could not find any decent option costing less than 10€. So why not make one?
For this project, I suspected I would have to use something the emulates keyboard buttons. Particularly I wanted to send left and right arrow button presses to my computer, so the slides would be moved forward or backward. I discovered, that the ATmega32U4 microcontroller, has the ability to act as a mouse or keyboard and more importantly, there are already nicely built libraries for that. The most prevalent Arduino board that uses the ATmega32U4 MCU is the Leonardo. However, Leonardo is a little too big in this case, so I got an Arduino Pro Micro clone from China, for 4€.
Initially, my intended solution for the communication between the two components was rather complicated, including a custom made controller, equipped with a Bluetooth module, which when turned on would automatically pair, with another Bluetooth module, connected to the Pro Micro. Depending on which button was pressed on the controller, the equivalent command would be transmitted via Bluetooth and finally would reach the computer as a keyboard button press. I played around with AT commands and managed to get Bluetooth modules connecting automatically to each other, however this solution generally did not satisfy me and I was bored to build the remote controller from scratch.
Then, my girlfriend’s father, who occasionally brings me electronics they are about to throw away from his workplace, gave me a brand new IR remote controller, originally designed for the MINIX Android mini PC’s. I still have no idea why would they need these at his job, but I gratefully took it without asking more questions. An idea was born: Ditch the Bluetooth modules, which increase cost and complexity, use the IR controller instead.
After looking around, I discovered that I owned some infrared receivers I had never used before, called VS1838B.
I connected the SIGNAL pin to a digital pin on the Arduino, VCC to 5V and GND to ground. Installed the really handy (although excessive for the purposes of my system) Arduino-IRremote library and ran a sketch, I quickly found online. Soon enough, I was getting the hexadecimal values from each button press on my infrared remote control. I mapped each button value, to a distinct case and using the Arduino Mouse and Keyboard libraries, I was sending the equivalent keyboard values to my computer. Job well done!
Everything, including soldering, took me less than an hour and I got myself a remote clicker, which can be used with any common TV remote control and will make my life easier during presentations! :) I also used some female pin headers, so I wouldn’t have to permanently solder the Pro Micro and the VS1838B on the circuit board. The total cost of the components bought from China:
- Arduino Pro Micro 4€
- VS1838B infrared receiver 0.10€
- Female pin headers 0.10€
So for a little more than 4 euros and a tiny bit of your time, you can easily make a cool gadget or a handy and personal gift! I have also published an instructable, with all the necessary details on how to build this wireless presenter.