Arduino Nano RP2040 Connect: an overview of the “arduinka” with WiFi and BLE on board

In mid-May, we wrote about a new board from Arduino called Arduino Nano RP2040 Connect. Its basis is the RP2040 chip from Raspberry. The familiar Nano layout neatly integrates the Nina W102 uBlox Wi-Fi communication module, which provides 2.4GHz Wi-Fi, Bluetooth Low Energy, plus a gyroscope (IMU) capable of detecting movements and gestures, and a microphone.

Does your project need such a fee? As always, this depends on needs and budget. If all you need is LEDs and basic functionality without wireless connectivity, the Raspberry Pi Pico is enough. If the project is related to IoT, and you also need a web interface, then the Arduino Nano RP2040 Connect is just what you need. True, with reservations, which we will talk about below.

Board specifications

Pay

Nano RP2040 Connect

SKU: ABX00053

Microcontroller

Raspberry Pi RP2040

USB connector

Micro USB A

Pins

Built-in LED

13

Digital I / O pins

twenty

Analog Input Pins

eight

Analog Output Pins

0

PWM pins

twenty

External interrupts

twenty

Wireless connection

Bluetooth

Nina W102 uBlox module

Wi-Fi

Nina W102 uBlox module

Safety

ATECC608A-MAHDA-T Crypto IC

Communication

UART

Yes

I2C

Yes

SPI

Yes

Food

Circuit operating voltage

3.3V

Board Power Supply (USB / VIN)

5V / 5-21V

Battery support

N / A

Battery connector

N / A

DC Current per I / O pin

4 mA

Frequency

CPU

133 MHz

RTC

N / A

Memory

AT25SF128A-MHB-T

16MB Flash IC

Nina W102 uBlox module

448 KB ROM, 520 KB SRAM, 16 MB Flash

Dimensions (edit)

Weight

6 g

Width

43.18 mm

Length

17.78 mm

Design and use of the Arduino Nano RP2040 Connect

In terms of design, it is based on the Arduino Nano, including the Nano 33 IoT and Nano Every. All of these boards have a similar pinout, so older and less functional systems can be replaced with the Arduino Nano RP2040 Connect if necessary. The board can be soldered to another board.

Of the 22 GPIO pins, 20 can be used for PWM. The board has 8 analog inputs. As for the I2C pins, these are A4 and A5. The built-in gyroscope is accessed via the l2C bus.

Unfortunately, instead of USB-C, which is gradually becoming a standard, the system is equipped with micro-USB. This board is one of the most expensive in the lineup of systems with the RP2040 chip, so manufacturers could equip it with USB-C without increasing the price. But, as we can see, they were not equipped.

The most notable feature of the Arduino Nano RP2040 Connect is wireless connectivity, as discussed above. Its presence is provided by the Nina W102 chip with 802.11 b / g / n 2.4 GHz Wi-Fi and Bluetooth 4.2. The antenna is located on the opposite side of the USB port. The free communication chip is a powerful microcontroller with 520KB SRAM and a dual-core 240MHz Xtensa LX6 32-bit processor. On this board, he is only responsible for communication.

Since this is an Arduino, choosing an IDE is simple – it’s an Arduino IDE. A recent update that added support for the RP2040 chip makes the operation simple and enjoyable. We tested the Arduino Nano RP2040 Connect with Arduino 1.8.15 and 2.0 beta 7 IDE and it worked without problems. The test was of course done with the communication module. To gain access to WiFi, it was necessary to install the WiFiNINA library, and then create a file with access data. For the test, we launched Simple Web Server WiFi, and it worked without problems. However, to control the board through the interface, it was necessary to change the default GPIO pin from 9 to “LED_BUILTIN”.

The connection details should have appeared in the on-board Serial monitor. Unfortunately, at first there was a problem with this – an error constantly appeared with a message that the port was busy. The only way to solve the problem in this case is to close the Arduino IDE and use a different solution. In the end, we figured it out: it turned out that the problem was related to our operating system Ubuntu 18.04, we had to remove the modemmanager to see the serial port data.

We also tested the built-in microphone. And here a problem arose – instead of visualizing the sound during the test, the system produced only one value – 128. We could not find any instructions on how to eliminate this problem.

There were other problems, including working with the Arduino IoT Cloud service, and we tried to study the official documentation for the board, but it was far from complete. This is a huge drawback, since IoT Cloud is a new service that allows you to create various IoT projects, controlling them through a web interface. Probably, the developers will try to fix the shortcomings, but for now we recommend using regular IDEs.

You are probably counting on the ability to work with other programming languages, since this is a board based on the RP2040? Everything is correct. You can work with CircuitPython and MicroPython, however, you will need to create your own libraries for the microphone, gyroscope and WiFi. The problem is different pinouts. So, the pin that the Arduino IDE uses for the pin is, say, D2. In the RP2040, this is already GPIO25. Another example is the built-in LED D13, which turned out to be GPIO 6 when working with MicroPython.

CircuitPython turned out to be much easier. Thanks to the large number of libraries and especially the ESP32SPI library, we were able to bring the Arduino Nano RP2040 Connect online and get data from a remote API.

By the way, there is a nuance when flashing the board. In order to enter the firmware mode, you need to close the REC and GND contacts between themselves.

Usecases for Arduino Nano RP2040 Connect

The most obvious use of the board is in IoT projects. With the help of the IoT Cloud, it is possible to quickly create applications with a graphical interface to retrieve data from a remote device. So, you can create a weather station using the Arduino Nano RP2040 Connect and transfer data in real time to the cloud. And already access to the cloud can be obtained from any device connected to the Internet.

The board can be used for remote control of a robotic system – as an example. And it is not at all difficult to implement it.

But even without IoT Cloud, there are a lot of cases. Even with the traditional IDE and new libraries for HTTP, MQTT and Bluetooth, you can work with remotely controlled robots, IoT devices, etc. without any problems.

In the dry residue

The main thing here is probably the price, which is 22 euros. If you need WiFi and an RP2040 chip, then the Arduino Nano RP2040 Connect is fine. It should be borne in mind that this is, in general, a good board, but it is more expensive than any other solution based on the same chip, including the Raspberry Pi Pico and Pimoroni Pico Wireless. A significant drawback is the unfinished documentation that does not comply with the Arduino standards.

If not for this factor, then the board could be recommended as a universal solution. There is also an alternative, the Seeed RP2040, which also has WiFi and is expected to be half the price of the Arduino Nano RP2040 Connect.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *