Serial Bluetooth RF Transceiver Module RS232
This small size Bluetooth TTL transceiver module allows your target device to both send or receive the TTL data via Bluetooth technology without connecting a serial cable to your computer. It's easy to use and completely encapsulated.
- Chipset CSR BC417143
- Bluetooth version V2.0+EDR (Enhanced Data Rate)
- Output power Class II (±2.5mW range ±10m)
- Flash 8Mbit
- Power Supply 3.3V (5VDC via breakout board)
- Interface UART
This configuration guide covers the displayed serial Bluetooth module. It's available in many different internet shops (e.g. Ebay, Goodluckbuy, BlueSkyRC or pre configured from the European OpenPilot store and uAViation) The boards ship mostly around 10$ - 20$. Although the hardware is the same, several software or firmware revisions exist.
|Different input voltage versions|
Tell me more about this ...
The voltage input must be clearly mentioned; typically these boards can handle a power supply between 3.6VDC ~ 6.0VDC when an on-board voltage regulator is available.
Check for the input & output voltage which is mostly mentioned on the module diagram.
The unit comes with a default baud rate of 9600, 8 data bits, 1 stop bit & no parity. It must be adapted to suit the needs of the GCS telemetry.
In order to reconfigure the Bluetooth adapter, one needs a standard TTL serial port and a terminal program such as Hyper Terminal. As an example, a Basic 5V Sparkfun FTDI breakout board will be used as a USB to serial port converter to configure the module. Any USB to serial TTL port should work.
|CopterControl as TTL converter|
If you don't have a dedicated USB to Serial converter needed to configure the adapter, don't worry. The OpenPilot team has developed a special CopterControl Firmware that turns the CopterControl into a converter.
You can convert your CopterControl board to a TTL adapter, configure your Bluetooth module and then convert the CopterControl board right back to its original purpose. No settings will be lost so you don't need to configure your board again after you're done. Check this wiki page on how to convert your board into a Virtual Com Port adapter.
If you connect your Bluetooth module directly to CopterControl, it will only be powered if CopterControl is powered through the servo headers. If you only supply the board via USB then the telemetry ports are not powered and you should supply your Bluetooth module externally.
There's even better news, the next release of CopterControl firmware allows the use of the virtual com port without flashing new firmware. If you build your own version of the software you can already use this new feature.
|Alternative terminal programs for Hyper Terminal|
Module configuration connection
Connect the serial Bluetooth module to your comm port as in the diagram below. Make sure the RX & TX lines are crossed between both devices.
Module configuration settings
A: Manual configuration
B: Using the configuration software
C: Using an Arduino
Module connection with CopterControl
The module is now set up and can be connected to the telemetry port of CopterControl.
The connection of the Bluetooth module with CopterControl is actually the same as the serial port module. Make sure that RX & TX are crossed and that Gnd & Pwr match.
If you want to extend the Bluetooth range by means of radio modules, such as the APC220 transceiver, you can connect the module like in the diagram below.
|Disconnect USB when using your Bluetooth connection|
When the USB port is connected, all the telemetry is routed through the USB port. You must disconnect the USB cable in order to use your telemetry.
Step by step video by Dacat & Tom.
The video guides you through a complete configuration of a Bluetooth module. The configuration is done on a Macintosh.
CopterControl is used as a TTL converter; the firmware used and referred to in the video can be downloaded on the bottom of the Virtual Com Port page (NO_FSM_USB_To_Serial.bin).
The connection details are the same. After you have started PuTTY, follow the steps in the screen shots below.
Once the Open button is clicked, PuTTY opens the terminal window.
When entering values in the terminal window, PuTTY does not show the entered values unless you force the echo local.
Make sure you disconnect from your comport, then change the connection speed in your terminal program and reconnect again to your module using the correct baud rate.
Make sure you don't try to configure the module using the Bluetooth port. The module can only be configured through the serial connection.
A standard serial port uses different and inverted voltage levels to transmit a binary 1 or 0. The module can only be configured through a serial port using TTL voltage levels. In case you want to configure your module with a standard serial port from your PC or with an USB to RS-232 converter, then you need an additional RS-232 to TTL converter. For more details on the differences between the standard RS-232 & TTL levels, see this article.
Note that most modern USB to serial converters are TTL and suitable for use in TTL compatible digital logic circuits like this Bluetooth module.
If you never used Hyper Terminal before, it's important to know that you have to make a new connection through a comm port and give the connection a name. Any connection name will do as it's not used any further.
If you didn't set-up your current location in Windows, prior using Hyper Terminal, Windows may guide you through the location wizard. You only have to do this once and the location you set is not important.
In some cases the Toshiba Bluetooth stack is the only one which seems to work. You may want to upgrade to the Toshiba Bluetooth stack. Unfortunately, this stack is not freeware.
Several users were unable to get a reliable connection at a speed of 115200kbps. Dropping the speed to 57600kbps on the module and the GCS solved this problem.
If your Bluetooth module on the Linux side is a USB plug in, then what you want to do is open up a terminal window and do a "tail -f /far/log/messages", and then plug in the USB Bluetooth module. Watch the output in the terminal and you should see the discovery of the module take place. Somewhere in that output, you should see a /dev/tty<something> go by. That is the port associated with the Bluetooth module. You can kill the term window at this point.
Now fire up PuTTY. You should get the configuration screen when it opens. Select the serial connection type first, and then edit the serial line field (/dev/ttyXXX that you discovered above) and baud rate as appropriate. You should now be talking to the module.