One of many click boards that I have is a BLE2 click from MikroElektronika, a Bluetooth Low Energy board based on the BLE2 click from MikroElektronika, a Bluetooth Low Energy board based on the RN4020 Bluetooth 4.1 (aka Bluetooth Low Energy or BLE) from Microchip. This particular click board came with firmware version 1.10, and I needed firmware 1.33 for a project that I’m working on. So, time for a firmware upgrade.
Easier said than done. The RN4020 DFU utility requires hardware flow control, while on this particular click board the RTS/PIO6 and CTS/PIO5 pins of the RN4020 module are left floating. The only way to upgrade the firmware is to connect those pins, as the application requires. So, time for some fancy soldering 🙂
A fair warning: performing the procedures described in this tutorials have the potential to brick (permanently damage) your click board. You need above the average soldering skills, and a good rework station.
I will start with the BLE2 click and one 3.3V USB-UART click installed on a breadboard. The USB-UART is used to provide the power to the BLE2 click. The following connections are made:
- USB-UART RX <—> BLE2 TX
- USB-UART TX <—> BLE2 RX
- USB-UART 3V3 <—> Vcc
- BLE2 3V3 <—> Vcc
- USB-UART GND <—> GND
- BLE2 GND <—> GND
- BLE2 CMD/MLDP <—> Vcc
- BLE2 SWAKE <—> Vcc
With the above connections, you should be able to use a terminal program such as TerraTerm to communicate with your BLE2 click (use baud 115200, 8,N,1, no flow control). If all is working fine and you have established communication it’s time to go to the next step: enabling flow control.
To enable hardware flow control one must use the RTS/PIO6 and CTS/PIO5 pins of the RN4020 module. I have soldered some very thin wire on those pins, using a 0,5mm soldering tip. The result looks like this:
The white wire is BLE2 CTS/PIO5 and is connected to the RTS pin of the USB-UART click. The blue wire is BLE2 RTS/PIO6 and it goes to the CTS pin of the USB-UART click.