Bluetooth Remote for Teleprompter

by Rundhall in Circuits > Arduino

1154 Views, 3 Favorites, 0 Comments

Bluetooth Remote for Teleprompter

IMG_20210102_152454.jpg
IMG_20210102_152348_2.jpg
Press_1.2.1.jpg
press2_1.2.2.jpg

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

https://youtu.be/AjikLpOK330

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

3D_print_Cura_2.jpg
Telepromter_bluetooth_keybord_schematic_bb.png

Collect all the materials and tools for building the remote.

Materials

1 x ESP32 Development Board

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 Micro USB Charger cable

1 x Wall Charger/Adapter

1 x TP4056 Lithium Battery Charger Module

1 x Double Sided Tape

4 x Injection Nut

4 x M2x8 mm screw

1 x 3D PETG or PLA filament

Tools

8 Color Wrapping Wire AWG 30 WSU Wire Wrap Tool

3D printer

Electric Screwdriver

Side Cutter

Crimper Cable Cutter

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

IMG_20210103_075653.jpg
Code_1.16.1.jpg

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!