Bluetooth Remote for Teleprompter
by Rundhall in Circuits > Arduino
1109 Views, 3 Favorites, 0 Comments
Bluetooth Remote for Teleprompter
Hello,
In this instruction, I will show you how I created a DIY remote controller for an android based teleprompter. Recently because of the COVID-19 pandemic, I had to record a lot of presentations. Making a presentation with a teleprompter is much easier. This device makes it possible to constantly look at the camera while I am reading the text of my presentation. There are many applications available to use the phone as a teleprompter. The only problem is that the speed of the text is sometimes to slow, sometimes too quick. I needed a tool to control the speed remotely. I bought a Bluetooth remote controller, but it was too noisy, every time I used it, it made a clicking sound, which was noticeable in the recording. My goal was to build a Bluetooth remote which is silent and easy to customise.
In this video, You can see how to use, and how to build it
The remote controller has a switch on the top of the enclosure. With that, the unit can be turned on or off. It has 5 buttons; each button can be configured as any keyboard button. Before the first use, it has to be paired with the phone (like in this: video). At Bluetooth settings search for new Bluetooth devices, it will pop up in the list as “BLE_Teleprompter”. After a successful connection, a teleprompter application should be started. I used this app: https://play.google.com/store/apps/details?id=com...
If the teleprompter application is configured correctly, it can be controlled immediately.
I used the following settings:
The thumb finger starts and stops the text. The connected key: MEDIA_PLAY_PAUSE.
The Index finger moves the text forward with one paragraph. The connected key: VOLUME_MUTE.
The middle finger moves text backward with one paragraph. The connected key: VOLUME_UP.
The ring finger increases the speed of text. The connected key: VOLUME_DOWN
The little finger decreases the speed of text. The connected key: ESCAPE
To change this setting there are two ways. Either the teleprompter application has a settings menu, where the functions and keyboards connections can be changed, or keyboard settings can be changed in the Arduino code before uploading to the ESP32 devboard.
The battery charger needs a 5V phone charger with USB Micro connector. The LED is red if the battery is charging and blue colour LED means that it is fully charged. After switching off, purple LED indicates that charging has been stopped.
Before reviewing the code more closely, let’s look at how to build the hardware.
Assembly
Collect all the materials and tools for building the remote.
Materials
1 x Battery Holder For 18650 Rechargeable Battery
1 x 18650 Lithium Rechargeable Battery
5 x Push button
1 x On/off Switch
1 x TP4056 Lithium Battery Charger Module
1 x Double Sided Tape
4 x Injection Nut
4 x M2x8 mm screw
Tools
8 Color Wrapping Wire AWG 30 WSU Wire Wrap Tool
Download and print out the enclosure body and the top cover for the Bluetooth remote for the teleprompter.
https://www.thingiverse.com/thing:4707745
If you change any components the housing should be modified accordingly. I designed it in Fusion360 and used PETG filament and an Ender 3 pro to print it, without any support and used Cura (https://ultimaker.com/software/ultimaker-cura) to slice and send to my printer.
Insert the injection nuts, if it is to tight use a hammer or a rasp
Connect the components according to the schematic. The buttons and the switch should be connected to the wires before assembling to the enclosure. Use wire wrap tool to fix the wires to the PINs of the ESP32 dev board.
Programming
Upload the code to the Arduino board with the help of Visual Studio Code software (https://code.visualstudio.com/) with PlatformIO extension (https://platformio.org/) and a Micro USB cable.
Connect Micro USB cable to the USB port of a PC and to the ESP 32 board
After installing Visual Studio, click on the Extension Manager
Search for official PlatformIO IDE extension
Install PlatformIO IDE.
Clone repository from my Github site: https://github.com/rundhall/BLE_Teleprompter_remote
Change keyboard keys for the buttons at BLE_Teleprompter_remote\src\main.cpp, if you prefer different button settings. You can find available keyboard keys here:
BLE_Teleprompter_remote\.pio\libdeps\esp32dev\ESP32 BLE Keyboard\BleKeyboard.h
The code is using the BLELibrary extended library for ESP32 https://github.com/T-vK/ESP32-BLE-Keyboard Thanks for T-vK!
Compile and upload the code to the ESP32
Remove the micro USB connector and close the enclosure. You can now use the remote controller. The program waits in the main loop until it gets a serial command from the PC’s serial port or a button is pressed.
Serial port commands are only for debugging purposes.:
“1,a”: MEDIA_PLAY_PAUSE.
“2,a”: VOLUME_MUTE.
“3,a”: VOLUME_UP.
“4,a”: VOLUME_DOWN
“5,a”: ESCAPE
Test it, and use it. Do not forget to turn it off and charge it sometimes.
Have a nice day!