(****) US Converters Serial Bluetooth Adapter - RS232, Long Range

If you use serial RFID readers as I do, and you want to get rid of some cable clutter, you’ll like this: the US Converters Serial Bluetooth Adapter - RS232, Long Range (P/N UCBT232EXA):

image

What is it?

This little device lets you talk to your RS232 device through Bluetooth serial (SPP profile). It comes in a small white cardboard box with a mini USB cable (yes, “mini”, not “micro” or USB-C - it’s not a new design), a solder-on miniature Molex connector cable, a DB9 gender bender and a teeny tiny “manual” printed on a very small folded sheet of paper. You’ll have to crack out your reading glasses if your built-in autofocus has gone stiff.

The device can be powered by USB (5V), or by a 4.8V - 24V DC source through the Molex socket or pin 9 of the DB9 connector. I use mine with my ACM26C long-range LF reader, which is powered by 12V. So I can use the same power supply for both the reader and the bluetooth adapter.

Configuration

By default, it’s configured as a DCE device (i.e. as a RS232 peripheral that connects to a computer). As such, it sports a female DB9. However, to connect it to a serial reader - which is itself a DCE - the device needs to be configured as a DTE. To do this, simply use the supplied male-male DB9 adapter and slide the side selector to DTE.

The default serial port parameters are the ubiquitous 9600 8N1 / no flow control. That’s handy, because the vast majority of serial readers out there use this format. Especially dumb RFID readers. If however yours uses different baudrate / parity / stop bits, you can reconfigure it with a serial terminal and a few escape commands, modem stylee.

Once the device is connected, powered on and configured, the blue LED flashes rapidly, indicating that it’s waiting for pairing (it’s old-style Bluetooth, not BLE). So… pair it (pin 1234), then connect it as a serial port: your device is seen as if it was a physical serial line.

You’ll notice that it’s not a real serial line though, because there is a slight lag between the moment the reader reads something and the moment it gets to your RFID software.

I’m afraid I haven’t tried it on Windows, but I assume it creates a virtual COM when it’s connected through Bluetooth. I use it on Linux though and it works fine.

To configure it in Linux, pair it with Blueman:

Then connect it as a serial port:

That’s fine if you want to use it temporarily while you’re logged in as a user. However, most likely you want to use your RFID reader for login purposes. That means you want to connect it automatically at boot time, before the logging screen comes up.

To do this, the simplest way is to manually bind the device’s BT MAC address to a fixed device file using the following command in /etc/rc.local:

#!/bin/bash
rfcomm bind rfcomm0 xx:xx:xx:xx:xx:xx 2> /dev/null

(xx:xx:xx:xx:xx:xx is the serial adapter’s MAC address, as displayed in Blueman)

Then, if your system runs systemd, you’re not quite done yet, because systemd deprecates rc.local. So you need to re-enable it by issuing the following commands as root:

# chmod +x /etc/rc.local
# /lib/systemd/system-generators/systemd-rc-local-generator
# systemctl enable rc-local.service

Yes, systemd makes things that used to be simple more complicated…

Anyway, once you’ve done that, reboot and voila: /dev/rfcomm0 is bound to the serial adapter, and shows up in /dev.

Note that as long as the device file isn’t opened by an application, the blue LED on the device keeps blinking fast as though it’s waiting to be paired. But as soon as an application runs that uses /dev/rfcomm0, the blue LED stays solid on, indicating an active connection.

Price

$75 direct from the manufacturer, but you can get it for a lot less elsewhere. I got mine from from their very own European distributor for only €39.

Verdict

:+1: Transparent: your serial port software will work without modification
:+1: Wide range of power voltages
:+1: Only draws 90 mA
:+1: Easy to setup thanks to its BT SPP profile, and works in Linux
:+1: You can use a pair of them as slave-master and create a “wireless serial cable” without confguring anything
:+1: Not too expensive

:-1: Older design
:-1: WARNING: The dip switches are incredibly fragile! That’s the reason I didn’t give it 5 stars