Arduino UNO R4 - Bluetooth and Bluetooth Low Energy

Overview

Ready to make your Arduino Uno R4 talk to your smartphone? This tutorial will show you exactly how to set up Bluetooth Low Energy (BLE) with the DIYables Bluetooth App. Once you're done, you'll be controlling your Arduino projects wirelessly right from your phone — and here's the best part: you won't need any extra Bluetooth modules or additional hardware!

What makes this even better is that the Arduino Uno R4 comes with BLE support built right in. That means you can connect it straight to the DIYables Bluetooth App on both Android and iOS devices without buying anything extra.

Important heads-up: While the Arduino Uno R4 supports BLE (Bluetooth Low Energy), it doesn't work with Classic Bluetooth. But don't worry — the DIYables Bluetooth App supports both BLE and Classic Bluetooth on Android, plus BLE on iOS. So regardless of whether you have an Android or iPhone, you're good to go with both platforms.

Arduino Uno R4 Bluetooth Low Energy BLE Tutorial - DIYables Bluetooth App

Features

  • Wireless Freedom: Control your Arduino from up to 10 metres away without any cables
  • Cross-Platform Compatible: Works seamlessly on both Android and iOS devices
  • Zero Hassle Connection: No pairing dance required — BLE connects automatically without fiddling with phone Bluetooth settings
  • Rich Widget Collection: Get access to sliders, joystick, monitor, plotter, gauge, temperature display, chat, table, rotator, and tons more
  • Battery Friendly: BLE sips power compared to Classic Bluetooth — great for portable projects
  • Beginner-Friendly Setup: Just one library installation and you're handling all the communication

Hardware Preparation

1×Arduino UNO R4 WiFi
1×Alternatively, DIYables STEM V4 IoT
1×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×Recommended: Screw Terminal Block Shield for Arduino UNO R4
1×Recommended: Breadboard Shield for Arduino UNO R4
1×Recommended: Enclosure for Arduino UNO R4
1×Recommended: Power Splitter for Arduino UNO R4
1×Recommended: Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Disclosure: Some of the links provided in this section are Amazon affiliate links. We may receive a commission for any purchases made through these links at no additional cost to you.
Additionally, some of these links are for products from our own brand, DIYables .

Firmware Requirement

> Pro Tip: For the best experience, it's highly recommended to upgrade to the latest firmware for the WiFi module on your Arduino Uno R4. Follow this step-by-step guide: How to Upgrade the Firmware on Arduino Uno R4 WiFi

Software Setup

Detailed Instructions

Let's get everything set up — just follow along:

  • Brand new to the Arduino Uno R4? No problem! Check out the Arduino Uno R4 getting started guide first to get familiar with the basics.
  • Grab a Micro USB cable and connect your Arduino Uno R4 board to your computer.
  • Open up the Arduino IDE on your computer.
  • Make sure you've selected the Arduino Uno R4 board and chosen the right COM port.

Install Board Core

  • Jump into Tools Board Boards Manager...
  • Type "Arduino SAMD Boards" in the search box
  • Install version 1.8.13 or newer from Arduino

Install DIYables Bluetooth Library

  • Click on the Libraries icon sitting on the left sidebar of your Arduino IDE.
  • Type "DIYables Bluetooth" in the search, and look for the DIYables Bluetooth library by DIYables
  • Hit that Install button to get the library
Arduino Uno R4 DIYables Bluetooth library
  • The IDE will ask if you want to install some other libraries that this one depends on
  • Go ahead and click Install All to grab everything (this includes ArduinoBLE 1.3.6 or newer).
Arduino Uno R4 DIYables Bluetooth dependency

Mobile App

Good to know: The DIYables Bluetooth App handles both BLE and Classic Bluetooth on Android devices, and BLE on iOS. Since your Arduino Uno R4 uses BLE, you're covered on both Android and iOS. And here's a nice bonus — with BLE, you don't need to manually pair anything. Just scan and connect!

  • Launch the DIYables Bluetooth App
  • First time opening it? The app needs a couple of permissions. Say yes to these:
    • Nearby Devices permission (if you're on Android 12 or newer) / Bluetooth permission (for iOS folks) - this lets the app find and connect to Bluetooth devices
    • Location permission (only if you're on Android 11 or older) - older Android versions need this to scan for BLE devices
  • Double-check that Bluetooth is switched on in your phone's settings
  • From the home screen, tap that Connect button. The app will start hunting for nearby BLE devices.
DIYables Bluetooth App - Home Screen with Scan Button
  • Spot your Arduino Uno R4 in the list of discovered devices and tap it to connect.

Examples

All the examples you'll find below are built using the ArduinoBLE platform (BLE-only), which works perfectly with your Arduino Uno R4.

Troubleshooting

What's HappeningWhy It's HappeningHow to Fix It
Can't see the device when scanning in the appYour Bluetooth firmware is probably outdatedBump that firmware up to version 1.4.8 or newer using Tools → Firmware Updater
BLE.begin() keeps returning falseEither old firmware or you've got the wrong board coreUpdate both your Bluetooth firmware and the Arduino SAMD core
Connection works but no data comes throughYour ArduinoBLE library needs an updateUpgrade ArduinoBLE to version 1.3.6 or later via Library Manager
Compile fails with ArduinoBLE.h No such file errorArduinoBLE library isn't installed yetHead to Library Manager and install ArduinoBLE
Compile errors mentioning the boardYou've got the wrong board coreInstall Arduino SAMD Boards version 1.8.13 or newer
App connects then drops right awayCould be interference or power fluctuationsMake sure you have solid USB power and keep your phone within 5 metres

Notes

  • Stick with the ArduinoBLE_ examples — don't use Esp32BLE_ or Esp32Bluetooth_. Those are meant for completely different hardware.
  • Remember to keep your board powered (either via USB or an external power source) so the BLE advertisement stays active and discoverable.

※ OUR MESSAGES

  • As freelancers, We are AVAILABLE for HIRE. See how to outsource your project to us
  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!