Web remote for BLE-RC project
So far there has been a way to control BLE-RC projects with a smartphone by using Android app written in MIT App Inventor visual language.
Now I present a second, more mainstream approach, which is a web page that utilizes Web Bluetooth API to connect to BLE devices.

Here it is, hosted on Github Pages. As it’s a webpage, there is no need to install anything on the phone or PC, just open the webpage and the app is ready to use. The only obvious requirement is Internet connectivity to load the page. While it’s loaded, Internet is not necessary. Source code is available here on github, in ble-rc project.
Web Bluetooth API is not 100% available everywhere, but works in Chrome, both on Android and on PC, so at the very least, the remote works on these platforms.
Technical details
As I’m not a frontend specialist in any way, the webpage was written with the help of ChatGPT and Github Copilot. LLM did a decent job of writing simplistic HTML, JavaScript and CSS for the page, I did a reasonable review of what the LLM produces, so I wouldn’t call it vibe coding. All the stuff is contained in a single file.
At the moment the application lacks some functionality of MIT APP Inventor application (steering and accelerator trimming), but has most of the features like steering/driving via 2D joystick, lamp control and ability to reboot to DFU and change device name (though it wasn’t thoroughly tested). There is feature parity with ESP32 remote, more of less.
The main way to control BLE RC is still ESP32-based hardware remote. It works, is easy to start (needs connecting battery), so for testing I simply grab that one. |