
The arrival of Bluetooth-based provisioning to the Arduino Cloud opens the door to fast, wireless configuration of your IoT devices. In this context, Bluetooth is no longer just a serial link but the entry key. to Wi-Fi networks, control panels and cloud services with easy onboarding from your mobile.
In addition to this new feature, the Arduino universe continues to feature classic Bluetooth uses for sketch uploads, telemetry, and PC control. The community has shared this for years. Mounting with HC‑05/HC‑06 modules, pairing in Windows and tools like PuTTY to control pins, record data, and even program without a USB cable. In parallel, the industrial IoT is being reinforced with expansions such as Blues Wireless for Arduino Opta, which adds LoRa or frictionless cellular connectivity.
What does it mean that Arduino Cloud adds Bluetooth provisioning?
Bluetooth provisioning involves using a temporary BLE channel to communicate a device with the app and Pass network credentials, initial parameters, and a secure link to the cloud.In practice, you scan the device with your mobile phone, detect it via Bluetooth, send it the SSID and password for your Wi-Fi, and in a few seconds it's registered in the Arduino Cloud.
This form of onboarding fits with Arduino IoT Cloud's approach of reducing friction: the platform can generate sketches and panels automatically, expose REST and MQTT APIs, and offer CLI tools, WebSockets, and JavaScript integrations to accelerate development. With BLE as a provisioning assistant, initial setup is more agile, especially when you don't want to open a laptop or run cables.
In terms of hardware, Arduino's IoT line relies on connectivity-ready boards (e.g., the MKR family and others with integrated radios) and compatible with mobile provisioningFrom there, the flow is: pair via Bluetooth from the official app, send Wi-Fi credentials, and the device will be visible in your account with its operational dashboard in minutes.
The fact that Arduino incorporates this route does not invalidate previous uses of classic Bluetooth in home projects, but it does reinforce an idea: BLE as a configuration tool and classic SPP as a serial channel They are different pieces in your toolbox, each one optimal for its purpose.
Programming Arduino Wirelessly with Classic Bluetooth: Dos and Don'ts
One of the most repeated experiences by makers has been to compile and load sketches onto a UNO wirelessly using an HC-05. To do this, you have to prepare the module with AT commands, adjust the speed and get the Arduino reset pin to receive the correct command when programming begins. If you're coming from a USB background, remember that this automatic reset pulse must be replicated differently when using Bluetooth.
Typical materials for this experiment include a Arduino UNO, a button cell HC‑05 (reminder: the HC‑06 is not suitable for this specific purpose), two 10 kΩ resistors, a 100 nF capacitor, power supply (battery holder), cables, breadboard and a PC with Bluetooth or a USB‑BT dongleThe critical point is to set the HC‑05 to AT mode first.
To enter AT on the standard HC-05: cut the power, hold down the button, and then re-power on without releasing it. When the LED starts flashing slowly, release the button. From the Arduino IDE, open the serial monitor, select "Both NL & CR," and verify that sending "AT" returns "OK." If it doesn't appear, check the wiring and check the speed used to communicate with the module. On that console, the typical setup sequence includes:
- Restore factory: AT+ORGL
- Slave role (only receives): AT+ROLE=0
- Polarity to control reset: AT+POLAR=1,0 (enables pin 32 as output)
- Serial link baud: AT+UART=115200,0,0 (adjusts according to the board)
- Initialization: AT+INIT
The baud rate selection depends on the micro: UNO usually goes to 115200, Mini Pro to 57600, and older models like Diecemila/Duemilanove with ATmega168 at 19200. If the rate does not match the bootloader, the programming attempt will fail hopelessly.
Before that AT session, many makers use SoftwareSerial to establish dialogue with the module: for example, Rx on pin 8 and Tx on pin 9 of the Arduino, with the PC serial port at 9600 for the monitor and 38400 for the HC‑05 (default speed of AT firmware). A small sketch bridges what you write on the monitor to the module and vice versa, so you can see “OK” and responses to each command.
After setup, build the wireless charging schematic on a breadboard, power the UNO with its 9V battery, and pair the HC‑05 in Windows 10. Scan for Bluetooth devices, find “HC‑05” (or a similar name), and use the default key 1234Once paired, Windows will create one or two virtual COM ports; make a note of which one is the data port.
In the Arduino IDE, select your board, go to "Tools > Port," and select the corresponding COM port. If you're unsure, try several ports by eye until you find the one that works. Once you get it right, your classic Blink example can be uploaded. without connecting the USB cableThat first “it works!” is usually a good high.
Connect Arduino and PC via Bluetooth for control and data logging
Beyond uploading sketches, classic Bluetooth remains extremely convenient for telemetry. A common use case is to use Arduino as a data logger with real-time transmission to the PC and, in turn, accept commands to trigger outputs. This is where a versatile serial terminal like PuTTY comes into play.
After pairing the module and knowing the active COM port, open PuTTY, select “Serial,” set the speed (for example, 9600 for the UNO console), and enable logging to record what is sent and received. It is useful to ask PuTTY to overwrite the log file, so doesn't interrupt you asking for confirmations every time.
In “Terminal,” enable echo and forced printing for both sent and received text. Save a named “Session” for reuse. When you press “Open,” the HC‑05 status LED usually stops flashing and remains solid: It is the clue that the serial link has been opened about that COM.
A minimal management sketch declares a SoftwareSerial port, for example on pins 3 (Rx) and 2 (Tx), initializes BT at 57600 and Serial at 9600, and forwards lines between the PC and module. To read complete lines over BT, some prefer search for carriage return '\r', since PuTTY may terminate lines with '\r' instead of '\n' depending on your configuration.
On that basis, it is easy to accept commands “11”, “12” or “13” to invert the state of pins 11, 12 and 13 with digitalWrite(pin, !digitalRead(pin)). So, from PuTTY you write the pin number and the corresponding LED alternates between on and offIt's direct, robust, and perfect for quick demos.
On the forward channel, you can push analog measurements to the PC every so often. A common pattern is to check every 3 seconds with millis() and send: “Analog 0 = …”, “Analog 1 = …”, “Analog 2 = …”, separated by a dotted line. Even if no sensors are connected, you will see floating values due to noise which reveal that communication is still alive.
Does an HC-05 (or BLE) work for the Arduino Cloud or Blynk? What if I use a UNO/Nano instead of an ESP32?
It is important to separate the concepts: HC‑05 is classic Bluetooth (SPP profile) and not BLE. Therefore, It is not a native BLE provisioning channel for Arduino IoT Cloud. Its greatest strength is wireless serial port emulation, ideal for console, control, and even uploads under specific conditions, but it doesn't fit with modern BLE cloud onboarding.
If your goal is to seamlessly integrate with services like Arduino IoT Cloud or Blynk IoT, the most practical option is to use boards with integrated Wi-Fi and support for their SDKs. An ESP32 is a great fit for price/performance and combines Wi‑Fi with BLE on the same chipThere are also Arduino boards that are designed for IoT and work wonderfully with the cloud, especially those from connectivity-oriented families.
Regarding BLE with classic UNO or Nano, it's not the best path. You can add external modules, but the experience and cloud library support It is not as round as with hardware designed for itIf you need access to Arduino Cloud with BLE provisioning or simplified setups, consider upgrading to one with an integrated radio and official support.
For those using Blynk, its ecosystem also includes BLE and Wi-Fi, but again, the choice of hardware is key. When you're torn between BLE and Wi-Fi, consider the role of Bluetooth: as a temporary supply link It makes perfect sense; as the primary data channel in IoT, you'll often prefer Wi-Fi, LoRa, or cellular depending on the use case.
Arduino IoT Cloud: Platform Components and Workflow
Arduino IoT Cloud is positioned as a comprehensive solution that combines hardware, firmware, and cloud services. The idea is that you configure your "Things," declare variables, and you get a generated sketch with links to the dashboard for visualization and control. Additionally, the platform offers REST APIs, MQTT, command-line tools, and WebSockets and JavaScript options.
This all-in-one approach simplifies projects: unpack the board, create the device in the cloud, and have a working view in just a few minutes. With BLE provisioning, initial setup is even more user-friendly, as The mobile app acts as a secure bridge between the device and your Wi‑Fi network without typing from a PC.
The Arduino IoT board family provides a variety of connectivity paths: Wi-Fi, Ethernet, cellular, or short-range links. For those who prefer external modules, third-party gateways and systems also fit into the ecosystem. as long as the library and SDK accompany and the flow with the cloud remains stable.
Industry and IIoT: Blues Wireless for Arduino Opta
In industrial environments, OT equipment sometimes runs into IT policies that make Wi-Fi or Ethernet difficult. The Blues Wireless expansion for Arduino Opta offers an elegant solution: it adds connectivity. global LTE Cat 1 cellular or LoRa to any Opta micro‑PLC, connecting to the standard AUX port and coexisting in a chain with other modules.
The module integrates Blues Notecard and uses the Notehub service for cloud backhaul, with routes to Arduino Cloud, AWS, Azure, GCP, and other platforms. In the cellular variant, Includes 500 MB and 10 years of service in 139+ countries, with no activation fees or monthly commitments; if you prefer LoRa, you can operate through The Things Network.
For reliability, it includes power outage detection and a backup power supply, capable of issuing timely outage alerts via Notecard/Notehub to the service of your choice. With OT in mind, the promise is clear: put a PLC online without asking IT for permission, safely and quickly, to demonstrate value with remote monitoring and control.
Product managers have highlighted this democratization of connectivity in IIoT, comparing it to the PC revolution for its effect on equipment autonomy. If you work with remote plants, solar farms, water pumps, industrial vehicles, or heavy machinery, This type of expansion removes friction and brings the cloud closer to you without touching the corporate LAN.
How-To Guide: From Pairing to Control with PuTTY
If your project benefits from maintaining a classic serial link over Bluetooth, the recommended flow is simple: pair the module, locate the data COM and use a robust terminal for sending/receiving text. PuTTY stands out for its versatility, logging, and compatibility with multiple protocols.
Key steps on Windows: After pairing (password 1234 if you haven't changed it), open the Bluetooth device panel and locate the assigned port in the Hardware tab. In PuTTY, choose "Serial," set the COM and speed settings (9600 if your sketch specifies it), and enable logging and echo. When you open the session, check that the module's LED is on. It stays fixed indicating open link.
In the sketch, forward what arrives via BT to Serial and vice versa, and set up simple commands to operate outputs. If you encounter lines that don't arrive complete, check terminators: sometimes you need to filter by '\r' (return) instead of '\n' (newline). depending on how you have PuTTY configured.
For the sensor part, send periodic readings from A0/A1/A2 with a visual separator. Even if you have the ADC floating, you'll see fluctuating numbers; when you connect a soil moisture sensor or an LM35, the PuTTY log will be ready to archive and analyze your measurements.
AT Commands and Fine Points with HC‑05
In the AT configuration, it is advisable to proceed step by step, confirming “OK” after each instruction. AT+ORGL resets the mode; AT+ROLE=0 establishes slave mode; AT+POLAR=1,0 defines the logic so that pin 32 is used for the reset pulse to the Arduino, and AT+INIT leaves the stack ready. Don't forget to set the UART to the bootloader with AT+UART=…
Two practical details: use “Both NL & CR” in the IDE serial monitor when talking in AT, and keep the configuration world (38400 by default for the HC‑05) separate from the loading world (the baud rate the board expects). Otherwise, a simple speed mismatch will make you waste time with synchronization errors.
In the wiring, remember to level the Arduino Tx line to the HC‑05 Rx if necessary to avoid stressing the module, use 10 kΩ resistors according to the schematic and add that 100 nF capacitor to stabilize transients in the reset circuit. These small gestures make the difference between "it works the first time" and a trial-and-error session.
When to choose BLE, classic, Wi-Fi, or cellular
If you're looking for frictionless onboarding, the Arduino Cloud BLE shines for provisioning devices that will then communicate over Wi-Fi or Ethernet. For a reliable and affordable wireless console, An HC-05 in SPP remains a workhorseIf you need broad coverage without relying on the local network, consider cellular or LoRa.
A classic UNO or Nano can learn a lot of tricks with modules, but if your goal is to integrate with modern clouds, dashboards, and APIs, using a board with native connectivity saves you hours. An ESP32, or an Opta micro PLC with Blues expansion, accelerate the path from prototype to pilotAnd if you also want compatibility with external services (AWS, Azure, GCP), routing via Notehub and the Arduino Cloud are already included.
With Bluetooth provisioning on the Arduino Cloud, the picture becomes more complete: easy initial setup from your mobile, dashboards in minutes, and APIs ready to orchestrate projects; while classic Bluetooth maintains its place for wireless serial, control with PuTTY, and even OTA uploads with well-configured HC-05 modules, and on the industrial front, expansions such as Blues for Opta provide LoRa or LTE with power management and direct routes to cloud services without touching the corporate network.