Programmable Arduino Remote Control (PCB)
Introduction: Programmable Arduino Remote Control (PCB)
With this small, palm-sized device, it is possible to remote control your PC or your Smartphone. Or to control your PC and your Smartphone at the same time.
And it is freely programmable. You can write programs like: Login to your PC, open and login to instructables.com, play/pause a movie or adjust the volume on your Smartphone.
How is that possible? The used micro controller board has a chip that can act as a so called HID device, which stands for Human Interaction Device and simply means keyboard or mouse. And it has another chip, a Bluetooth chip which can act as a Bluetooth keyboard.
The programming is intuitive and there are more examples in the User Manual in the Wiki [1]. The syntax is described in the Programming Guide [1]. The video demonstrates a wireless login to a Windows PC with one click and a login to instructables.com with another click.
What makes this remote control unique is that everything is stored in the volatile memory of the micro controller. It is safe to write programs which contain passwords.
And it is unique as Bluetooth remote control which you can program from a long list of possible commands. For more details see also the User Manual [1].
This is a improved version of the Programmable Arduino Remote Control. It uses a printed circuit board (PCB) which you have to have manufactured. This costs a little extra. In return, the shape is more that of a remote control and it requires less soldering.
In this project, my goal was to make a device that looks more like a remote control. Further, and because I use it every day, I wanted something more robust than its predecessor.
The direct material costs are approximately USD 78.
[1] Parc Wiki on github
Supplies
1 Adafruit Feather 32u4 Ble (adafruit.com)
1 MicroUSB cable
1 Custom PCB (see step Printed Circuit Board)
1 IC MCP23008 (adafruit.com)
1 LiPo 350 mAh (adafruit.com)
5 Button switch, 6mm (adafruit.com)
2 Slide switch (adafruit.com)
1 Stack female headers (adafruit.com)
1 DIP switch 4 positions (mouser)
4 Screw M2 x l10
1 Windows PC
1 Arduino IDE (https://www.arduino.cc/en/software). Optional: PuTTY (https://www.putty.org)
1 3D Printer
1 Soldering iron and soldering wire
21g PLA filament
I added links to the Adafruit and the Mouser web shops, but you also get the parts elsewhere. 379
For example for the LiPo battery, search for "PKCELL LP552035".
Step 1: 3D Printed Parts
PLA and the standard settings (20% infill) can be used. Support structures have to be enabled.
Step 2: Printed Circuit Board
I had mine produced by Aisler (https://aisler.net/). At Aisler, it is possible to produce the PCB directly from the attached Fritzing project file.
If the manufacturer of your choice does not support Fritzing as import format, then try the Gerber files. "All" manufacturer support Gerbers.
Step 3: Soldering Keypad
Solder the five push buttons and the two slide switches to the front side of the PCB. Turn the PCB and add the MCP23008. Make sure the direction of the IC is correct.
Add the DIP switch.
From a female header stack, break out a piece of three pin sockets. Solder this piece to the back side of the PCB.
Step 4: Soldering Micro Controller
Solder the header pins to the back side of the keypad. You can also solder the pins first to the micro controller board and as the second solder it to the keypad.
Solder the pins flush to the keypad. The plastic distance holder that holds the pins as an array is by default set that the pins look out 1 mm. So you have to push the pins 1 mm down first.
After the pins are soldered to the keypad, remove the black distance holder band. The battery will required all the space in between the two components.
Lastly, add the micro controller board. The battery shall be free movable between the two components.
Step 5: Assemble
Connect the battery to the micro controller board. Now you can put whole assembly into the case and use it.
That was it basically. Next you will learn how to install the software and program the remote control.
Step 6: Arduino IDE, Libraries and Boards
For the following steps, the Arduino IDE is required. 379