Arduino CLI 1.0 released – Let’s try it with the Raspberry Pi Pico 2

Arduino CLI Raspberry Pi Pico 2

Arduino has just announced the release of the Arduino CLI version 1.0.0, the first stable release for which users and developers can be confident the software API won’t change over time, or at least with minimal changes that will not impact the workflow of applications based on it. We first looked at the Arduino CLI when it was still at the alpha stage way back in 2018. Arduino CLI version 1.0.0 was actually quietly released about two months ago, but Arduino only announced it now and the utility is now at version 1.0.4 with several bug fixes. Arduino CLI 1.0 release The goal of the API is to easily program the boards from the command line without having to use the Arduino IDE, and the CLI can be integrated into your own script to automatize various processes. Arduino explains there are three ways to integrate and utilize the capabilities of […]

How to recover a “bricked” Raspberry Pi Pico 2 or other RP2350 board

Recover Bricked Raspberry Pi Pico 2 or RP2350 board with flash_nuke.uf2

In theory, it’s close to impossible to brick your Raspberry Pi Pico 2 or other RP2350 boards because the bootrom code (source code) is stored in the 32KB ROM of the microcontroller and is by definition “read-only memory”.  But I managed to “brick” my Raspberry Pi Pico 2 the other day, and even a blinky sample would not run on the board. So I’ll explain a simple method to recover/perform a factory reset of sorts. First, let me explain what happened. My board became unusable after I ran the following command while building RISC-V Linux for RP2035 and my Pico 2 was connected to the build machine:

At some point, it will copy a UF2 firmware binary designed for boards with PSRAM which the Raspberry Pi Pico 2 lacks:

After that, I could still see the Raspberry Pi Pico 2 board as an “RP2350” drive on my computer, […]

Using RISC-V cores on the Raspberry Pi Pico 2 board and RP2350 MCU – From blinking an LED to building Linux

Raspberry Pi Pico 2 RP2350 RISC-V review

Raspberry Pi Pico 2 was released last month with a Raspberry Pi RP2350 microcontroller equipped with two Arm Cortex-M33 cores and two 32-bit RISC-V “Hazard3” cores with up to two cores usable at any time. So in this guide, we’ll show how to use the RISC-V cores on the RP2350 MCU, compare their performance against the Arm Cortex-M33 cores, and even build Linux for RISC-V for RP2350 boards that have PSRAM. Apart from the extra memory and more powerful cores, plus new features related to security and the HSTX interface, the Raspberry Pi Pico 2 and Pico will be very similar to the end user and the instructions in our article “Getting Started with Raspberry Pi Pico using MicroPython and C” remain valid. I don’t think there’s a MicroPython RISC-V image yet, so we’ll focus on running C programs on the RISC-V cores. A quick check with the Arm cores […]

Radxa ROCK 5 ITX RK3588 mini-ITX motherboard review – Building an Arm PC and NAS with Debian KDE

ROCK 5 ITX Review: Build Arm Computer NAS

In this review, I’ll show how I installed Debian on the ROCK 5 ITX mini-ITX motherboard powered by a Rockchip RK3588 octa-core Arm Cortex-A76/A55 processor, before building a computer/NAS with the Arm mini-ITX motherboard, testing various features and running benchmarks. In the first part of the review, we checked out the Radxa ROCK 5 ITX (Arm) and Jupiter (RISC-V) mini-ITX motherboards with specifications and unboxing, and the Auriga 6-Bay NAS mini-ITX chassis used in this review. I already built the computer with the Jupiter RISC-V mini-ITX motherboard, so here I simply switched the RISC-V motherboard with the Radxa ROCK 5 ITX Arm motherboard and installed a few SATA drives. Radxa ROCK 5 ITX first boot – A tricky start… Radxa provides getting started instructions on the documentation website which I mostly follow to hopefully boot within a few minutes. I had to prepare the hardware first. So I installed a […]

A closer look at Raspberry Pi RP2350’s HSTX high-speed serial transmit interface

Raspberry Pi RP2530 HSTX interface

The Raspberry Pi RP2350 microcontroller adds an HSTX (High-Speed Serial Transmit) interface adding the PIOs (Programmable IOs) introduced on the Raspberry Pi RP2040 three years ago. The RP2350 MCU now has three PIOs and one HSTX interface going over 8x GPIOs. So let’s try to better understand what HSTX is exactly, what it is used for, and how it differs from PIOs. We’ll also check out some programming examples in C and MicroPython. The high-speed serial transmit (HSTX) interface is detailed in the RP2350 datasheet starting on page 1118 where it reads “The high-speed serial transmit (HSTX) interface streams data from the system clock domain to up to 8 GPIOs at a rate independent of the system clock”. Reading further, we also learn that it runs at 150 MHz enabling up to 300 Mbps per pin with DDR output operation, or a combined 2,400 Mbps over 8 pins if I […]

Building a workstation with Radxa ROCK 5 ITX (Arm) or Milk-V Jupiter (RISC-V) mini-ITX motherboard – Part 1: The hardware

Milk-V Jupiter ROCK 5 ITX mini ITX NAS enclosure

Radxa ROCK 5 ITX is a mini-ITX motherboard powered by a Rockchip RK3588 octa-core Cortex-A76/A55 processor, and the Shenzhen Milk-V Jupiter is another mini-ITX motherboard, but based on SpacemIT K1 octa-core 64-bit RISC-V processor instead. When Radxa contacted me about reviewing those, I thought it would be interesting to review a complete kit with a mini-ITX case since I had never built this type of system myself.  Yesterday, I was surprised to receive two large packages and thought maybe a company sent me a 3D printer or laser engraver kit, but instead, I got one package with the two Arm and RISC-V mini-ITX motherboards and another with a mini-ITX NAS enclosure with 6x SATA bays. Radxa ROCK 5 ITX unboxing Let’s look at the ROCK 5 ITX motherboard and accessories first. The motherboard ships with a rear panel and two screws for the M.2 module. The motherboard features the Rorkchip […]

Review of AgroSense LoRaWAN Smart Agriculture sensors with the SenseCAP M2 LoRaWAN gateway

AgroSense LoRaWAN Sensor Review

Today, I will be reviewing the AgroSense LoRaWAN sensors from Makerfabs designed for high-precision agriculture. This time, I received four sets of sensors designed for measuring environmental data and a Seeed Studio SenseCAP M2 LoRaWAN gateway. Below is the list of items I received. AgroSense LoRaWAN Barometric Pressure Sensor – Measures the barometric pressure in a 300 to 1100 hPa range with ±0.12 hPa accuracy and 0.01 hPa resolution. AgroSense LoRaWAN Light Intensity Sensor – Measures the light intensity in a 1 to 65535 lx range with ±1 lx accuracy and ±20% resolution. AgroSense LoRaWAN Temperature & Humidity Sensor – Measures temperature and humidity in the atmosphere in the ranges of -40°C to 85°C and 0 to 100 %RH with accuracy of ±0.2°C and ±0.2% RH respectively. AgroSense LoRaWAN Industrial Temperature Sensor – Measures temperature in the industrial high-temperature environments in the -60°C to 200°C range with ±0.1°C accuracy and […]

How to easily enable MediaTek MT7922 Bluetooth on Ubuntu 24.04

MT7922 Bluetooth Ubuntu 24.04

MediaTek MT7922 WiFi 6 and Bluetooth 5.3 modules have recently been found in several mini PCs, but Bluetooth would not work in Linux due to a lack of drivers. In this post, we’ll show how to easily enable Bluetooth in MediaTek MT7922 modules when running Ubuntu 24.04. We previously noted that Ian Morrisson submitted a patch adding the IDs for the MT7922 module (Azurewave AW-XB591NF) used in recent GEEKOM mini PCs last March. In theory, you could have rebuilt the Linux kernel, but now that Linux 6.10 has been released, it’s much easier since Canonical has made the Linux 6.10 kernel available for Ubuntu, so we only need to install it and problem solved! Ubuntu 24.04 ships with Linux 6.8, we can see a Bluetooth opcode error in the kernel log.

EmbeddedTS embedded systems design