Firmware Update on a RN4870 Bluetooth Low Energy module

Last modified by Microchip on 2023/11/09 09:03


This lab takes you step-by-step through the process of updating the firmware on the RN4870 module. New firmware can add Bluetooth® Low Energy (BLE) specific functionality for new revisions of the Bluetooth specification as well as provide a way to fix bugs discovered in the current device Bluetooth operation.

The latest firmware is available on the RN4870 product page.

Reference Materials

Hardware Tools

Software Tools

Back to Top

Connection Diagram

Connection Diagram

The Universal asynchronous receiver/transmitter (UART) RX and TX lines are used to communicate between the Host and the RN4870.

Back to Top


Be sure to install the MCP2200 USB drivers before starting. Also, extract the RN4870 Firmware Package files to your computer. You can find them on the RN4870 Landing Page under the Documentation section.

Connect to RN4870

Connect the RN4870 PICtail board to your PC. Ensure the jumpers are set as shown.

  • ​J3 connects the RX, TX, RTS, and CTS from the module to the USB. As we can see in the picture below, the jumpers were connected on the bottom two (TX and RX). The top two can be added based on your flow control preferences.
  • JP8 is connected by default; this allows you to see the LED indication from the module.
  • J1 is the Power Source Connector
    • For "isupdate.exe" or CoolTerm: Connect the middle jumper labeled ‘USB’
    • For Explorer16: Connect the right side jumper labeled ‘PIC’

Board view jumper connections

COM Port

Open the Device Manager window by going to the Start Menu > Control Panel > Hardware and Sound and then selecting Device Manager. Once open, check which COM Port has been assigned to the RN4870 PICtail board.

Device Manager showing which COM Port has been assigned to the RN4870 PICtail board

Place the module in Test Mode by setting SW7 in the ON position, then press SW5 (Reset) to reset the module.

Board view of modul in Test Mode by setting SW7 in the ON position. Press SW5 (Reset)

The module's basic operating mode (Test/Application) is sampled and established on a module reset condition. We recommend pressing the Reset (SW5) push button whenever SW7 is first changed, or when you want to be sure that SW7 is sampled and applied by the module.

With Jumper JP8 shorted, LED1 will be lit (BLUE) indicating the module is in Test Mode, as shown above.

Launch the ISupdate Programming Utility and select the correct COM port (from substep 1.1). Set the baud rate to 115200 and the memory type to Flash/Embedded. Then click Connect.

ISupdate window settings display

If the connection was successful you will see the following message:

ISupdate Tool connection successful message

Update firmware

Click on the Browse button and navigate to the folder where you extracted the RN4870 Firmware Package earlier. Select all the needed Hex files in the dialog box and click Open.

ISupdate Tool:  Browse to firmware and select Open

Click on Update. After a few seconds the update will be complete and you will see a screen like the one below.

ISupdate Tool window indicating update successful


Click on Disconnect and close the ISupdate tool.

ISupdate Tool disconnect

APP Mode

Move dip-switch SW7 to the OFF position (1) and reset the module by pressing SW5 (button immediately above dip-switch).

Board view of dip-switch SW7 to the OFF position. Reset the module by pressing SW5

Back to Top


Start a CoolTerm Connection

You can verify that you have the new firmware version by opening a CoolTerm connection. Below you will find the settings used (115200 baud, 8 bits, No Parity, 1 stop bit, no flow control). The Local Echo in the Terminal tab was also turned on.

CoolTerm window verifying new firmware version

Enter Command Mode and Verify Version
Press $ to enter command mode.

Press V to display firmware version.

CoolTerm window. Press V to display firmware version

Our module has been updated to version 1.18.3 of the firmware.

Back to Top