Seed XIAO RP2040 Reviews: $ 5 Brain Food

The Seeed XIAO RP2040 is a small board. It looks too small to be useful, but appearances can be deceptive. This is not Seeed’s first XIAO card, previously there was an Arm Cortex M0 + model running at 48 MHz, the Seeeduino XIAO which looks identical to the XIAO RP2040 and is also identically priced at $ 5.40. The XIAO was an impressive board, but the XIAO RP2040 brings the SoC RP2040 to the table and with that we have a much more powerful microcontroller, for zero extra money. We put the XIAO RP2040 to the test to see if it’s worth your $ 5; spoiler, that is.

XIAO RP2040 Hardware Specifications

(Image credit: Tom’s Hardware)
CPU Dual-core ARM Cortex M0 + processor up to 133 MHz
Flash memory 2 MB
GPIO 3.3 V logic level
11 x digital I / O
4 x analog I / O
11 x PWM
Power 5V via USB-C
Dimensions 0.8 x 0.7 inch (20 x 17.5 mm)

(Image credit: Tom’s Hardware)

The XIAO RP2040 is powered by the RP2040, Raspberry Pi’s own silicon released in January 2021. The XIAO RP2040 has the same RAM and storage specifications as the Raspberry Pi Pico, so what makes it different from the Pico is its size. It is significantly smaller than a Pico. Measuring just 0.8 x 0.7 inches (20 x 17.5 mm), compared to the larger 2 x 0.8 inch (51 x 21 mm) footprint of the Raspberry Pi Pico, we can see a large space saving. As such, we only see 11 GPIO pins, all of which can be used digitally (on / off) or used with Pulse Width Modulation (PWM) which is commonly used to control motor speed and LED brightness.

Four of the pins (A0 to A3) are analog inputs that can be used with analog electronic components such as potentiometers. The other GPIO pins also generate additional tasks such as UART, SPI and I2C, allowing us to connect electronic components using these protocols. The selection of pins has been carefully curated to ensure we have everything we need for most projects. The GPIO can be used with typical 2.54mm pin headers or it can be surface welded using the jagged edges around the perimeter.

(Image credit: Tom’s Hardware)

The doppleganger of the XIAO RP2040 is Adafruit QT PY RP2040, they both share the same footprint and pin layout and can be easily confused at a glance. The only difference is that the XIAO RP2040 does not have a Stemma QT connector. The missing connector is found on many Adafruit boards and provides a quick and convenient way to connect expansion boards through the I2C bus.

The absence of a connector does not mean that we cannot connect an I2C or Adafruit add-on. Pins P6 and P7 are I2C, SDA and SCL respectively, and we can connect I2C devices to these pins, as long as we use resistors between 2.2 and 10K Ohm in value between pin 3.3V and SDA and SCL. These resistors pull the SDA and SCL pins up, ensuring that our connection is stable. We tested the I2C bus by connecting an Adafruit MPR121 capacitive touch sensor and using the latest version of CircuitPython 7.0, we were able to easily prepare the input and output display in the REPL. Note that many CircuitPython I2C-based examples use board.SDA and board.SCL as pin references. These must be changed to board.GP6 and board.GP7 for the XIAO RP2040.

Next on our checklist was MicroPython support. We flashed the latest version of MicroPython for the Raspberry Pi Pico, then loaded Thonny. We followed a few examples from Seeed and it all felt like it should. There were no surprises or pitfalls with the equipment. The only problem we found was with the documentation; you really have to pay close attention to the key for pin numbering. After briefly scratching our head, we fixed our error and everything worked as expected, including the integrated WS2812 NeoPixel LED.

Image 1 of 2

Seed XIAO RP2040

(Image credit: Tom’s Hardware)
Image 2 of 2

Seed XIAO RP2040

(Image credit: Tom’s Hardware)

Next, we wanted to test CircuitPython’s NeoPixel library with the integrated WS2812 LED, and that’s where we noticed a particular issue. We had the correct pin number, but regardless, CircuitPython’s NeoPixel library was not communicating with the LED. We connected an external chain from NeoPixels and changed the pin reference in our code, and voila! We had a chain of NeoPixels doing a custom light show and it worked wonderfully. The problem with CircuitPython and the integrated RGB LED is not a problem. In fact, many will never encounter this problem. If you want an inexpensive way to add RGB lighting to a project, XIAO RP2040 is a viable solution.

(Image credit: Tom’s Hardware)

If Arduino is your programming language of choice, you’ll be happy to know that the XIAO RP2040 works with the Arduino IDE. We tested with 1.8.15, using the Arduino Mbed OS RP2040 Boards library, and quickly got a sample project out of the box. Whenever you want to flash a new project to the XIAO RP2040, you will need to put the board in Bootloader mode, hold down the Boot button, and then press the Reset button. If you forget, the Arduino IDE will produce an error.

Final result

(Image credit: Tom’s Hardware)

If you need a small board powered by RP2040, then at $ 5, Seeed’s XIAO RP2040 is the board for you. It is compatible with Adafruit’s QT PY RP2040, but at half the price. Of course we lose the Stemma QT connector that we find on the QT PY RP2040 and we go from 8MB to 2MB but unless you need to put a lot of code or connect Stemma QT devices, you can live without these. things. This is an impressive, cost effective and easily integrated little board that deserves a place in your bit box.

Source link

Comments are closed.