Firmware Update 1.2.1 - available now, with BLE mode

Hi everyone,

Today we are pleased to announce version 1.2.1 of the Arduino NINA-W102 firmware, which includes initial BLE support. For a full list of changes to the firmware, please see the CHANGELOG on Github.

There is a new ArduinoBLE library available to go along with with the firmware release. The library is currently in "beta". and only supports BLE peripheral mode. Please note, WiFi functionality (using the WiFiNINA library) cannot be used at the same time as BLE.

Here's are some steps to get you started:

  • Download and install the hourly Arduino IDE build.
  • Using the board manager (Tools -> Board: ... -> Board Manager ...), install or update the "Arduino megaAVR boards" package. Version 1.6.24 or later is required.
  • Launch the hourly IDE release and use the IDE's library manager (Sketch -> Include Library -> Manage Libraries ...) to install/update the following libraries: WiFiNINA, ArduinoBLE. Version 1.3.0 or later of the WiFiNINA library is required.
  • Plug in the Uno WiFi Rev2 board into your PC with a USB cable.
  • Select Arduino Uno WiFi Rev2 as the board and it's serial port in the Tools menu of the IDE.
  • Open the WiFiNINA Firmware Updater example sketch: File -> Examples -> WiFiNINA -> Tools -> FirmwareUpdater
  • Upload the sketch onto your board.
  • If the Serial Monitor is open, close it.
  • Launch the "WiFi 101 / NINA Firmware Updater" from the Tools menu of the IDE
  • Select the Serial Port for your board. The latest version of firmware for the NINA will be automattically selected.
  • Click the "Update Firmware" button, and wait for the update to complete.
  • Close the Updater.
  • You can check the version of firmware loaded on the NINA using the Check Version example of the WiFiNINA library: File -> Examples -> WiFiNINA -> Tools -> CheckVersion example sketch.
  • Now you can start using the examples of the ArduinoBLE library

As always we welcome any feedback on the new features here on the forum.

Update: The version 1.2.0 of the NINA firmware had issues with WiFi TLS/SSL connections. We've corrected and deployed a new v1.2.1 firmware in the next hourly build of the IDE.

Thank you for the guide!

I'm now running firmware version 1.2.1

Roberth Andersson


In step 7, downloading "Firmware Updater tool" seems to be correct.

In step 9, my IDE 1.8.7 proposes "WiFi 101 Firmware Updater" and not "WiFi 101 / NINA Firmware Updater"

In step 10, i click "test connection" => i got "connection error ... Programmer not responding"

In step 11, i got "Programmer not responding"

my configuration is :

  • IDE 1.87
  • installed firmware is 1.0.0 (info from check tool).

Thanks for your help


Hi @kock,

From step 1) you should be using the hourly IDE build and not version 1.8.7. Today IDE v1.8.8 has also been released which also contains the new firmware updater for the NINA module.

Hi @sandeepmistry

When using CheckFirmwareVersion the sketch still indicates version 1.2.0 to be the latest version (using Arduino IDE 1.8.8, WiFiNINA library version 1.3.0 and Arduino UNO WiFi REV2):

WiFiNINA firmware check.

Firmware version installed: 1.2.1
Latest firmware version available : 1.2.0

Check result: NOT PASSED
 - The firmware version on the module do not match the
   version required by the library, you may experience
   issues or failures.

Also, when I upload SSL certificates to the WiFi module using the WiFi101 / WiFi NINA Firmware/Certificates Updater interface in a sketch where I want to connect to that domain (with FirmwareUpdater uploaded on my Arduino), the communication with the WiFi module always fails, no matter what domain. I have to unplug the Arduino for the module to work again, but then I can't connect to secure sites.
Any help on this would be greatly appreciated!


Thanks for your support. After updating my IDE 1.8.7 to IDE portable 1.8.8 on Windows XP, i'm now running firmware version 1.2.1.

Concerning the future, how will we be informed a new firmware is available ?

Happy new year.


Hi Sandeep,

I was able to go through all of your steps to install the firmware with BLE support.

I was able to upload the example ArduinoBLE - LED.
I then unplugged my Arduino from the computer and plugged it into a different power source.

I then went to connect to the Bluetooth from my computer, where I was able to see a bluetooth device named "LED". However I am not able to connect to the device in order to send data and turn on the LED.

Have I missed a step , or can you give any help?

Thank you



Hi, I’m new here and just started my adventure with Arduino, but actually I’m having similar problem as TimEllis, communication fails after several minutes. It might be 3 or even 150. Pls advise.

do you mean i cant include wifinina and ble on compile? or just that i cant run wifi functions and ble at the same time? i would like to switch between BLE and wifi in the same program

Could you please edit the Overview of the product page and mention BLE somewhere, as it can mislead a lot of people into thinking that this board only has WiFi support and no BLE. :slight_smile:

I am trying to update the firmware on a MKR4000 board using IDE 1.8.10 Under Mac OS 10.14.6.

When I go to Tools: WiFi 101 / WiFiNINA Firmware/Certificates Updater, the options available are NINA firmware 1.1.0 and 1.0.0.

I believe all my libraries are up to date, at least I'm not being nagged to update them.

Everything works fine, the upgrade process runs as it should, but how do I get firmware version 1.2.1 onto my computer so the IDE can download it to the board?

I think I have followed all of the instructions ... but I have just received this error when uploading the sketch to the Arduino board.

java.lang.Exception: Error validating flashed firmware
at cc.arduino.plugins.wifi101.UpdaterImpl$

help please?

Atempting to use my new UNO Wifi Rev 2....but first wanting to update. Been using my UNO boards and 1.8.5 for long time with no problems.

After having issues with 1.8.12, I downloaded 1.9 BETA and my troubles all went anyway....or so I thought.

Following Sandeepmistry's steps I got the library and and uplaoded the Firmware updater to my board.

But when I tried to test connection or do the update I got the error "Programmer not responding".

So I then uploaded the CheckVersion script. It reported I had 1.2.4 but 1.3.0 was available.

Not sure what to do next.

Eager to start trying the BLE features.

Problem identified:

When you install the "WifiNINA library by Arduino", read the library title carefully. I found a library and it was "WifiNINA_generic by Arduino". And I thought that was wasn't. Clicking on the "More info" brings you to the GitHub of the author.

Look for another entry in the library list called "wifiNINA by Arduino". You can confirm you got the right one by clicking on "more info" and you will be sent to the actually Arduino Library page. Install this library. My firmware update installed without issue following the instructions below.

I'm glad to hear you got it working @Titanium69. Thanks for taking the time to post an update with your solution. Enjoy!

if you figure out the BLE stuff let us know. I played with it yesterday and since I know nothing about it didn't get beyond some basic stuff. I'd to get that too work since the rev2 STILL has a habit of simply dropping WiFi for no obvious reasons after all these updates.