Developing interactive user interfaces for Arduino-based projects can be challenging, especially when dealing with various communication protocols.
Bind simplifies this process by providing a lightweight, efficient UI framework compatible with multiple connectivity options.
Paired with the BindCanvas Android app, it enables rapid UI prototyping and development without extensive coding or complex setup.
Features- Versatile Connectivity: Supports BLE, classic Bluetooth, Wi-Fi, serial ports, and external Bluetooth modules (e.g., HC06, HM10).
- Interactive Widgets: Easily manage UI elements such as buttons, text labels, sliders, and gauges.
- Real-Time Interaction: Instant synchronization between the Arduino and the BindCanvas app.
- Cross-Platform Compatibility: Works seamlessly with ESP32 and other microcontrollers.
- Free and Ad-free Forever: Unlike many others, which is nice, isn't it? Maybe some shout-out to the dev with a 5-star review on GooglePlay ? :)
- An Arduino-compatible microcontroller (e.g., ESP32)
- Bind library
- BindCanvas Android app
- Arduino IDE
- Install the library into your Arduino IDE.
- Install the BindCanvas app on your Android device from Google Play.
There are many examples provided with the library but you can also take a look at this one:Example: Controlling an LED via BLE.
Let say we want to have two buttons on the screen like these controlling the LED:
Check the code section for the code that generates the above UI elements
Now upload the code to your ESP32 boards and then open the BindCanvas App on your Android Device; press the connect button, and then in the connection dialog find you device name (we have chosen "YOUR_DEVICE_NAME" in the "bleStream.begin" function here)
And that's it, you will magically see the objects on the screen and can interact with them.
Also if you don't like there positioning, you can move them around using move button and drag them around (you can later change your code to make it permanent)
This was just a scratch on the surface of Bind, there are a lot more you can do with this library and app. For more information you may check these links:
https://h1jam.github.io/Bind/class_bind.html
- For this example I randomly used an ESP32-C3 but the example should work with any ESP32 boards
- For other Arduino boards or for using WiFi check the example section of the library.
Comments