This is only a preview of the May 2025 issue of Silicon Chip. You can view 54 of the 112 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "Versatile Battery Checker":
Items relevant to "Tool Safety Timer":
Items relevant to "RGB LED Analog Clock":
Items relevant to "USB Power Adaptor":
Articles in this series:
Purchase a printed copy of this issue for $13.00. |
Microchip’s RNBD451
Bluetooth Module
and EV25F14A Evaluation Board
There are a few different ways to connect to your device via Bluetooth, including the wellknown HC-05 and HC-06 modules. Microchip’s RNBD451 Bluetooth module is another
option that offers many more features.
Review by Tim Blythman
B
luetooth technology has been around
for about 20 years and is incorporated into many modern devices. It
uses the 2.4GHz ISM (industrial, scientific and medical) license-free radio
band and is well suited to use over
short distances; up to 10m is the typical range.
‘Classic Bluetooth’ supports several
‘profiles’ that encapsulate the needs of
a specific interface. For example, the
handset profile (HSP) allows an external Bluetooth headset to communicate via the voice channel of a mobile
phone, while the serial port profile
(SPP) provides a serial link.
Hobbyists have had access to Bluetooth modules for a while now. One
of the better-known implementations
of the serial port profile is the HC-05
module, based on a Cambridge Silicon Radio chip loaded with a custom
firmware.
That allows these modules to behave
as a UART (universal asynchronous
receiver/transmitter) bridge. They
have an AT-command interface so they
can be configured over the serial port,
The RNBD451 module is a
small PCB (shown adjacent
at actual size) with a
metal shield covering just
about everything except
a PCB trace antenna.
Connections
are made via
pads on the
underside of
the board.
The WBZ451
marking
indicates
the part on
which this
module is
based.
82
Silicon Chip
allowing custom device names, baud
rates and security settings.
The RNBD451 Bluetooth module is
similar in that it can emulate a serial
port, but it has quite a few other features too. In particular, it uses lowpower BLE (Bluetooth Low Energy)
technology.
RNBD451 Bluetooth module
The RNBD451 is a compact module
at 15.5 × 20.7mm. It is in the form of
a PCB with trace antenna and a metal
can housing the RF components. Connections are made via SMT pads on the
underside of the module. It is currently
available for just over $10, so it is on
par with prices for similar modules.
It is based on Microchip’s PIC32CX-BZ2 BLE SoC (Bluetooth Low
Energy System on a Chip), a 32-bit
ARM processor with an integrated
2.4GHz RF transceiver. Like the HC-05
modules, the processor has integrated
flash memory that is loaded with
a program to provide its features.
Fig.1 shows the block diagram of the
RNBD451 module.
Although not supported in this module, the PIC32CX-BZ2 SoC can also
work with other protocols that operate in the 2.4GHz ISM radio band, like
Zigbee and Thread.
Unlike the sparse and sometimes
inaccurate documentation that exists
for the HC-05 modules, the RNBD451
has a 200-page user guide fully
describing its many features, which
easily surpass those of the HC-05.
We initially took an interest in the
RNBD451 as a replacement for HC-05
modules. In most cases, they are permanently connected to a microcontroller and translate a logic-level UART
serial data link wirelessly using Bluetooth. The Bluetooth link replaces
a hard-wired connection, turning a
wired connection into a wireless one.
An example of this is the “Micromite to a Smartphone via Bluetooth”
project (September 2021; siliconchip.
au/Article/15031). It explains how the
HC-05 can allow a Micromite to communicate with a mobile device.
You can use such a wireless link
to program the Micromite, send
Fig.1: as well as a 32-bit ARM processor, the RNBD451 has power, oscillator and
RF blocks, among others. The power stage at upper left can be switched between a
buck (step-down) or LDO (linear) regulator by sending the appropriate command.
Australia's electronics magazine
siliconchip.com.au
commands to it, receive data from it,
or even modify the program in place
using the Micromite’s fullscreen editor.
In this article, we will similarly
explain what is involved in configuring the RNBD451 modules to work
with devices that expect a serial connection. It’s also possible to pair two
RNBD451 modules to completely
replace a wired serial link with a wireless Bluetooth link. Fig.2 shows a few
of these scenarios. We’ll also cover
some of the numerous options and
settings that the module offers, plus
some other Bluetooth features.
As the RNBD451 modules use the
newer BLE (Bluetooth Low Energy)
standards, they should use less power
to achieve similar range. BLE does not
support the traditional serial port profile, so this device will not necessarily
be a drop-in replacement for the HC-05
or other SPP devices.
Instead, like many BLE devices, it
uses the so-called Generic ATTribute
profile (GATT) to pass serial data.
Three GATT ‘characteristics’ are provided, each of which has an associated 128-bit UUID (universally unique
identifier).
The three GATT characteristics provide a serial transmit channel, a serial
receive channel and a control channel.
Each characteristic can only pass 20
bytes at a time, so the data is effectively
sent in 20-byte packets.
Other devices communicating with
the RNBD451 modules must conform
to the specific service characteristics
that it provides. A second RNBD451 is
one of the ways to achieve that.
Interestingly, the so-called HM-10
serial Bluetooth modules use much
the same scheme, although they use
different services and characteristics.
That explains why they are less widely
used than the HC-05 modules; they
do not support the classic Bluetooth
serial port profile that the HC-05 does.
App support
Programs on other devices can also
interoperate with the RNBD451’s service characteristics. Microchip provides the Microchip Bluetooth Data
app for Android and iOS, which has
a serial terminal program for communicating with the RNBD451 modules.
This app can also be used to test various BLE features as well as perform
firmware updates on modules. OTA
(over the air) updates for the module
are sent via the Bluetooth link.
siliconchip.com.au
Fig.2: Bluetooth allows wireless communication in several different scenarios.
Using a Bluetooth serial device like the RNBD451 module adds the possibility of
using Bluetooth with a device that might not be natively equipped.
We were also able to use the Serial
Bluetooth Terminal Android app (by
Kai Morich) to communicate with
the RNBD451 modules. This is an
app we previously used with HC-05
modules. Like the Microchip app,
it identifies that the connected BLE
device provides the specific service
characteristics and communicates
through them.
EV25F14A Evaluation Board
The EV25F14A Evaluation Board
contains an RNBD451 module plus
some extra circuitry to allow you
to easily test it out and communicate with it. It is also described as an
RNBD451 Add-on Board.
There is an MCP1727 LDO (low
dropout) regulator for 3.3V and an
MCP2200 USB-serial chip to connect
to the serial interface. The MCP2200
thus provides a virtual serial port at
the operating system level (eg, a COM
port on Windows or /TTY device on
Linux) so it can be accessed by a serial
terminal emulator, like TeraTerm, the
Arduino IDE serial monitor or the
MMEdit console.
There are some onboard indicator
LEDs and a few breakout headers,
including a ‘mikroBUS Click’ header.
The Click header provides two 8-pin
2.54mm pitch headers, suitable for
plugging into a breadboard or matching socket header on a project PCB.
While the Click standard can work
with SPI and I2C, the Click header on
the EV25F14A only breaks out power,
the serial bus (including flow control
lines) and some digital status & control
Australia's electronics magazine
The EV25F14A Evaluation Board
(shown at twice actual size) contains
an RNBD451 module and a USB-serial
adaptor to allow the module’s features
to be easily tested from a computer.
A 16-pin ‘Click’ header can plug
into a breadboard or PCB, while the
jumper shunt selects the power source
(from the Click header or USB power
regulated down to 3.3V).
May 2025 83
pins. All logic levels are 3.3V and its
pinout (from above) is shown in Fig.3.
Testing
Fig.3: the ‘Click’ header on the
EV25F14A Evaluation Board follows
a standard layout, allowing Click
modules and boards to easily
interoperate. Other Click boards
include SPI or I2C on the pins
that the EV25F14A uses for serial
ancillary functions. The header could
be used to connect this board to
another PCB, while the wiring here
shows how it could be connected to
another serial device.
The underside of the EV25F14A
Evaluation Board (shown at twice
actual size).
84
Silicon Chip
Using the USB-serial converter
built in to the EV25F14A allowed us
to easily check the operation of the
RNBD451 module in a serial terminal program. We used TeraTerm under
Windows, but any program that can
connect to a virtual USB-serial port
should work.
The default settings for the serial
port are 115,200 baud, eight bits, no
parity and one stop bit; in TeraTerm
we just needed to change the baud
rate. The commands expect CR (carriage return) only as their line ending.
The RNBD451 uses a scheme similar
to the old Hayes-compatible dial-up
modems to switch between data and
command mode. In command mode,
the serial data is treated as commands,
while in data mode, the serial data is
passed to the remote device.
The string ‘$$$’ switches to command mode. The commands are similar to those of the Hayes modems,
being a short sequence followed
by parameters separated by commas if they are needed, although the
RNBD451 command set has different
needs to that of a modem.
The sequence shown in Screen 1
was sufficient to pair with a second
EV25F14A on another serial port. The
yellow text is entered into the terminal window, while the white text is
produced by the EV25F14A.
Entering the sequences “$$$” followed by “D<CR>” switches the module to command mode and shows the
six lines of local status information.
The command “SR,0001<CR>”
enables the Bluetooth status LED on
the EV25F14A; the AOK response is
the typical for successful command
execution. Many ‘set’ commands,
like “SR<CR>” have a corresponding ‘get’ command with a ‘G’ prefix; “GR<CR>” will report back
the results of using the “SR<CR>”
command.
This command requires
a reboot to take effect, so
“R,1<CR>” is entered, followed
by another “$$$” to re-enter
command mode after the reboot.
The command “C,0,9C956E4426C4<CR>” connects to the device
with that specific hardware address.
You could find the hardware address
by running the “D<CR>” command
Australia's electronics magazine
on the remote device or running the
scan command, “F<CR>”, locally.
Both terminals then show a flurry of
activity, with responses bracketed by
% characters.
With the %STREAM_OPEN%
response, the EV25F14A reverts to
data mode. You would not know that,
except by seeing that data is sent to the
remote device instead of being taken
as a command.
Another “$$$”, followed by
“B<CR>”, bonds to the remote device.
You can see the remote device’s actions
in the lower terminal window. The
command to exit command mode is
“---<CR>” (three dashes). At this stage,
the two modules are paired and will
behave as a transparent serial link.
With the intended role of the
RNBD451 module being to connect
with a microcontroller, such a microcontroller would have to send these
commands, plus perhaps a few more,
to the module in order to control it.
Fewer commands would be required if
the modules were permanently paired
to a single device.
There are also commands to manually connect and disconnect from
remote devices. They could be handy
if you are using one device to communicate with several others. Up to eight
devices can be paired, but only one can
be connected at a time.
There are also modes to modify the
security and visibility of the modules;
they might need to be appropriately set
to ensure that unauthorised access is
not possible.
There are commands to change the
command and data delimiters (eg, ‘$’,
‘-’ and ‘%’) so that they don’t conflict
with any data format you might be
using. Many more commands exist; the
complete reference is available online
at siliconchip.au/link/ac07
The delimiters can also be cleared,
which means that many of the status
strings will be disabled. That may be
preferable for simple applications.
The SR options command can also
configure one of the I/O pins to be
used to switch between command
data modes.
Another option for setting up multiple devices is the remote control mode,
which allows remote commands to be
sent over the Bluetooth link between
two RNBD451 modules.
Like the HC-05 modules, there are
commands to change the baud rate,
serial data format, device name, PIN
siliconchip.com.au
Screen 1: with two
EV25F14A Evaluation
Boards connected to
serial terminals, we can
observe the process of
pairing and connecting.
The yellow text marks
commands entered into
the terminal window,
while the white text is
their output. No action
is needed on the second
module.
Screen 2: the main ◀
page of the Microchip
Bluetooth Data app has
numerous options. This
app is intended to be
used with a wide range
of Microchip’s Bluetooth
equipped devices.
access code and so forth. The syntax is
a bit different, but simple enough. We
made good use of the factory reset command (“SF,2<CR>”) during testing.
One handy command allows the
device name to be set using the last
four nybbles (half-bytes) of the device
MAC address as a suffix. This means
that numerous devices could be easily set to have unique names based on
the same prefix.
We also tested wiring a CP2102based USB-serial converter to the
EV25F14A (instead of its onboard
USB-serial chip) and the connections
we used are shown in Fig.3. Note that
the jumper shunt on the EV25F14A
needs to be changed over to take power
from the Click header.
These minimal connections might
be all that is needed to add the evaluation board to a project to give it
a wireless serial link, and would be
much easier than soldering the tiny
RNBD451 module.
Using the apps
The mobile device apps can be
used to connect to the RNBD451 or
EV25F14A. This could make things
simpler, since pairing and configuration can be done on the mobile device.
We started with the Microchip Bluetooth Data app, shown in Screen 2.
We tested this on Android but expect
the iOS version to be similar. Next,
we selected the BLE UART option,
siliconchip.com.au
followed by the PIC32CXBZ option
seen in Screen 3. Running a SCAN
(Screen 4) showed the compatible
devices that were in range.
Tapping on a device will bring you
to Screen 5. If the remote device is an
EV25F14A connected to a serial terminal program, you should see the
connection status reports as the app
connects to the remote device.
Screen 5 shows the results of a Burst
Mode test, which sends a 100kiB file
over the BLE link to test its speed. The
resulting 11.38kiB/s is consistent with
the 115,200 baud limit on the downstream serial port.
The Text Mode button provides a
simple serial terminal interface for
text communication with the remote
device. This could be used, for example, to connect to a device and interact
with it, running commands or reading
status information, as you might with
a wired serial connection.
This is not a fully-featured terminal
program like TeraTerm; it is a simple
line terminal, sending and receiving
plain text. It does not provide features like VT100 terminal emulation
that some devices require, such as the
Micromite’s fullscreen editor facility.
Other Microchip app features
The BLE Smart menu option (seen
in Screen 2) simply provides a scan
of nearby BLE devices, as shown
in Screen 6. Selecting one of the
Australia's electronics magazine
Screen 3: with the RNBD451 module
being based on the PIC32CX-BZ2
processor, this is the option that
should be chosen from the BLE UART
screen.
Screen 4: a scan shows the hardware
(MAC) address of nearby compatible
devices and the corresponding RSSI
(received signal strength indicator)
readings.
May 2025 85
EV25F14A boards and connecting to
it provides further information about
the services provided.
The BLE Connect option offers a
similar scan and report about nearby
devices. The serial command interface
of the RNBD451 can also conduct a
scan and get a response in text format
about nearby devices.
We mentioned the OTA DFU (over
the air device firmware update) option
earlier, which can be seen in Screen
8. We didn’t see any need to try it out,
but it could be helpful if newer features
become available in the future. It’s also
possible to apply firmware updates
over the serial connection.
It is apparent that the Microchip
app can work with many more devices
that just the RNBD451 and EV25F14A.
Microchip also has some software
examples and libraries available at
https://github.com/MicrochipTech A
search for RNBD451 finds an Arduino
library and sample projects for interfacing with the RNBD451. The source
code for the Android and iOS apps is
also available.
Serial Bluetooth Terminal
Screen 5: the burst data transmission
test runs practically at the limit of the
115,200 baud hardware serial link.
Screen 7: selecting a device from the
BLE Devices scan shows the services
and characteristics it provides. Some
of these are used to implement the
serial communication interface of the
RNBD451.
We have used this app on Android
devices for many years, and it even
works with devices like the HM-10 and
HC-05. Screen 9 shows how a device
can be selected for connection. Note
that there are separate tabs for Bluetooth Classic (eg HC-05 devices) and
BLE devices (most others).
Screen 10 shows the terminal window; like the Microchip app, it does
not provide all the terminal emulation
features that you would have on programs like TeraTerm.
Computer applications
Screen 6: the BLE Devices option in
the Microchip Bluetooth Data app can
scan for all nearby Bluetooth devices.
86
Silicon Chip
Screen 8: an OTA DFU (over the
air device firmware update) can
be performed from the Microchip
Bluetooth Data app using the
Bluetooth link.
Australia's electronics magazine
The one thing that stands out from
all this is the lack of a fully-featured
terminal program that can interact
with devices that offer terminal emulation facilities, like the fullscreen editor of the Micromite.
Under Windows, it is possible to
create a virtual serial port to connect
to a traditional Bluetooth SPP device.
However, that does not appear to be
the case for devices using custom BLE
services.
We found a project that appears to
bridge this gap at https://github.com/
Jakeler/ble-serial although it’s not
clear if it supports the characteristics
used by Microchip, and it is still not
as straightforward as for SPP devices.
siliconchip.com.au
The simplest way we found to get
around this was to use the USB-serial
adaptor of the EV25F14A board and
connect to it using TeraTerm on Windows. Any other terminal program
that can communicate with virtual
USB-serial ports should work with
the EV25F14A.
In this case, connecting to devices
and pairing must be done through the
terminal interface, rather than a menu
on the computer. However, that is easy
enough when you become familiar
with a few basic commands.
to near 18mA during long periods of
transmission.
Internally, the module can use a
buck or LDO regulator; the LDO is used
by default. We found that the buck regulator saves around 5mA, although the
module is only rated to operate down
to 2.4V when using the buck regulator.
There are several power-saving
modes that can be activated through
the command interface. Some modes
will automatically wake up at intervals, or the device can be woken by a
signal on one of the I/O pins.
Other features
GPIO pin control
The hardware data sheet for the
module (siliconchip.au/link/ac0a)
and the data sheet for the EV25F14A
Evaluation Board (siliconchip.au/link/
ac09) relate to the hardware and such
things as pinouts.
You can also find circuit diagrams
for parts of the EV25F14A Evaluation Board, which will be very handy
for creating a design which similarly
incorporates the RNBD451 module.
The user guide for the RNBD451
module stretches to over 200 pages
(siliconchip.au/link/ac08). This is
where you will find information about
the command interface and software
operation of the module (and thus the
evaluation board).
This document describes (in chapter
7) the ability to set up custom GATT
services and characteristics. That may
suit a simple application that needs to
exchange infrequently changing status
information.
It might also be possible to emulate
other existing BLE devices by mimicking their characteristics. The RNBD451
can also be configured to offer lowpower beacon advertisements.
There are many ways to use BLE
devices to create a positioning system
(say, like GPS, but indoors), using relative signal strength (RSSI) as a proxy
for distance. The RSSI of remote or
scanned devices can be read through
the command interface.
The RNBD451 module has many
more pins than are needed for a simple serial interface, so some can be
configured as GPIO (general purpose
input/output) pins. Using commands
over the serial data link, pins can be set
high or low or their status read back.
One pin is also connected to an
ADC (analog-to-digital converter), so
an analog level, such as a battery voltage, can be read too.
Some pins can be configured to
change state if serial data arrives,
allowing the main microcontroller to
remain in a low-power sleep mode. It
can be woken up before the RNBD451
module sends the data it has received.
Power supply
The RNBD451 datasheet notes it
can operate between 1.9V and 3.6V,
so it would be well-suited to use in
battery-powered scenarios with a 3V
supply, or taking power from a lithium
battery via a low-dropout regulator.
Operating from a 3.3V supply, we
found that a bare RNBD451 module
consumed around 13mA, jumping up
siliconchip.com.au
Screen 9: the Serial Bluetooth
Terminal app can scan for and
connect to a number of BLE and
Bluetooth Classic devices.
Conclusion
The RNBD451 module is not quite
a drop-in replacement for the likes of
the HC-05 Bluetooth serial modules,
but can be configured to provide most
of the same features and more.
The modules don’t have native
Bluetooth support under Windows
(as virtual COM ports), so we recommend using an EV25F14A as a bridge
to allow communication with fully
featured serial terminal emulators like
TeraTerm.
The remote control and configuration features of the RNBD451 module
are very handy when they are used
in pairs. With the ability to configure
custom services and characteristics,
the RNBD451 can be used for many
other tasks beyond simple serial communication.
The RNBD451 module and
EV25F14A Evaluation Board are available from DigiKey and Mouser:
• DigiKey 150-RNBD451PEI110-ND
• DigiKey 150-EV25F14A-ND
• Mouser 579-RNBD451PE-I110
• Mouser 579-EV25F14A
SC
Australia's electronics magazine
Screen 10: the Serial Bluetooth
Terminal app provides a simple linebased means of sending and receiving
data from a remote device.
May 2025 87
|