The Banana Pi BPI-CanMV-K230D-Zero is a compact and low-power single-board computer built around the Kendryte K230D dual-core XuanTie C908 RISC-V chip with an integrated third-generation Knowledge Process Unit (KPU) for AI computation. It follows the form factor of the Raspberry Pi Zero or Raspberry Pi Zero 2W board and targets IoT and ML applications. The SBC comes with 128MB of LPDDR4 RAM and uses a microSD card slot for storage. Additional features of this board include dual MIPI-CSI camera inputs for 4K video, a 40-pin GPIO header for I2C, UART, SPI, PWM, and more. Wireless features include 2.4GHz WiFi, USB 2.0 with OTG, and microphone support. These features make this SBC suitable for applications such as AI tasks such as image, video, and audio processing. Banana Pi BPI-CanMV-K230D-Zero Specifications SoC – Kendryte K230D CPU CPU1 – 64-bit RISC-V processor @ 1.6GHz with RVV 1.0 support CPU2 – 64-bit RISC-V processor [...]
Create Your Own Bot (CYOBot) v2 is an open-source, modular robotics platform for students, educators, hobbyists, and future engineers based on the ESP32-S3 microcontroller and featuring up to 16 servo motors for complex control. The CYOBot v2 is a follow-up to the previous quadrupedal robotic platform from the same company. It adds new features such as a modular design, an upgrade to the ESP32-S3 chip, more motor channels, and an expansion block with more peripherals. It also supports integrating AI systems, such as ChatGPT, for added functionality. The CYOBot supports up to three configurations via the CYOBrain — which powers the robotics platform and controls the servo motors — and separate 3D-printed components. The CYOBot Crawler is a four-legged robot powered by eight 180-degree servo motors. The CYOBot Wheeler form factor features four 360-degree motors linked to wheels at the end of each leg and is essentially a hybrid between [...]
Vcc Labs’ Nova is a tiny, open-source hardware Raspberry Pi RP2040 development board with a USB-C port, a 70 (7×10) addressable RGB LED matrix, and two 12-pin GPIO headers for expansion. It can be used for wearables, mini-displays, interactive art, fun games, and more. Nova specifications: MCU – Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller @ up to 133 MHz with 264KB SRAM Storage – 2MB QSPI flash “Display” – 7×10 WS2812 addressable RGB LEDs, each measuring just 1x1mm USB – USB Type-C port for power, data, and programming Expansion – 2x 12-pin header with 20x GPIO, 2x SPI, 2x I2C, 2x UART, 4x ADC, Vin, 5V, 3.3V, and GND Misc – Reset and BOOT buttons Power Supply 5V via USB-C port 7V to 18V via Vin pin Power consumption – 9 Watts with all LEDs at full brightness Dimensions – 30.48 x 20.32 mm (PCB only) Weight – 4.76 grams [...]
The T-Display S3 AMOLED Plus is an upgraded development board based on the ESP32-S3 microcontroller with a dual-core LX7 processor. It features a 1.91″ AMOLED display with a 240×536 resolution, using RM67162 IPS AMOLED technology for sharp colors and full viewing angles with QSPI interface support. Similar to the LILYGO T4 S3 launched last year, […]
MicroPython has become one of the most popular ways of programming microcontrollers, and the just-released MicroPython v1.24 adds support for the widely-used Raspberry Pi RP2350 and Espresif ESP32-C6 microcontrollers and a range of other changes. Those include improved RISC-V support with native code generation, an updated Zephyr v3.7.0 RTOS with threading support, unified TinyUSB bindings across ports, a portable UART IRQ API, and enhanced mpremote recursive copy. Damien George goes into more detail about the RISC-V improvements: … include an RV32IMC native code emitter, native NLR and GC register scanning implementations for 32- and 64-bit RISC-V, support for placing RV32IMC native code in .mpy files and also freezing it, and RISC-V semihosting support. Testing for RISC-V is done with the qemu and unix ports, and the support is utilised in the esp32 and rp2 ports. The Raspberry Pi RP2350 comes with both Arm Cortex-M33 and RISC-V cores, and the good [...]
Waveshare has recently launched the RP2350-LCD-1.28, a Raspberry Pi RP2350-based 1.28-inch round color display module with 240×240 pixel resolution and a 65K-color IPS panel. This board also features a rechargeable Lithium battery manager, a 6-axis IMU with a 3-axis gyroscope and accelerometer, multiple GPIO pins, and a USB Type-C connector for programming and power. Additionally, it supports USB 1.1 host/device support, temperature sensor, and 24 PWM channels, all configured for flexible I/O options. These features make this device useful for IoT, wearable tech, and embedded applications. The company also provides an optional CNC metal casing that provides durability and heat dissipation for portable or rugged applications. We have previously covered similar development boards with a round display such as the RP2040-powered 0.99″ rounded display, the ESP32-S3 LCD Driver Board, the SB-Components has launched Dual Roundy, and others, but it’s the first to feature the RP2350 microcontroller. RP2350-LCD-1.28 specification: Microcontroller – Raspberry Pi [...]
We’re excited to announce the release of the web-based versionof the Arduino Lab for MicroPython Editor. This lightweight platform makes it even easier to code with MicroPython using Arduino hardware such as Alvik, Nano ESP32, Nano RP2040 Connect, Nano 33 BLE Sense – and more! You can check the full list of MicroPython-compatible Arduino hardware at this link.
What’s more, if you are a Chromebook user, now you can simply edit, run, and save MicroPython code on your board, as well as upload your files (assets or code), directly in the browser (Chrome, Opera, and Edge are supported).
Please note that the editor is still in its “lab” phase, so expect ongoing changes, improvements, and bug fixes of course.
Program Alvik robot with your Chromebook!
The web-based Arduino Lab for MicroPython Editor allows students and teachers using Chromebook to easily program Arduino Alvik in the classroom, expanding the possibilities for them to create more robotics projects. Check out our free online course to start your adventure with Alvik, MicroPython and more!
What is MicroPython?
MicroPython is a lightweight version of Python® designed to run on microcontrollers, allowing you to control hardware like sensors and motors with just a few lines of code. It’s great for beginners because Python® is known for being simple and readable, making it easier to dive into electronics without needing deep programming knowledge.
Plus, since MicroPython works well with Arduino boards, you can take advantage of our incredible open-source community, tutorials, and tools. It’s a perfect fit for exploring hardware projects in a friendly and accessible way!
Ready to give it a try? Test it out now! The web-based Arduino Lab for MicroPython Editor can be accessed from the Resources section in our app.arduino.cc or directly from https://lab-micropython.arduino.cc.
FlexiPi is a bendable Raspberry Pi RP2040 board made of flexible PCB with the same layout as the original Raspberry Pi Pico, but featuring a USB-C port instead of a micro USB port on the official board. This follows the Flexduino flex PCB clone of the Arduino UNO made by “EDISON SCIENCE CORNER”, but the smaller design of “TOP Gadgets” FlexiPi may make it potentially more useful since it could be inserted into tight or round enclosures. FlexiPi specifications: MCU – Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller @ 48 MHz (overclockable to 133 MHz) with 264KB SRAM Storage – 2MB QSPI flash USB – 1x USB Type-C 1.1 port used for power and programming Expansion 2x 20-pin 2.54mm pitch header and castellated holes with 26 GPIOs, 3x 12-bit ADC up to 500 Kbps, 2x UART, 2x I2C, 2x SPI, 16x PWM, 2x programmable high-speed I/O 3.3V I/O voltage Sensor – [...]
The “XIAO ESP32S3 for Meshtastic & LoRa” is an ESP32-S3 LoRa dev kit that combines an XIAO ESP32S3 board with the tiny Wio-SX1262 LoRa module connected through a board-to-board connector. This compact devkit supports LoRa (862-930MHz), Wi-Fi (2.4GHz), and Bluetooth 5.0 (BLE), with a 5km range for LoRa and a 100m+ range for Wi-Fi/BLE. The kit also has a USB Type-C interface, a built-in power management chip, and multiple I/O options such as IIC, UART, and GPIO. It supports external LoRa antennas and can be extended with XIAO expansion boards for more complex setups. These features make this device suitable for projects such as LoRaWAN gateways, IoT sensors, Meshtastic nodes or routers, and applications where space is limited. XIAO ESP32S3 for Meshtastic & LoRa specifications: SoC – Espressif Systems ESP32 with dual-core Xtensa LX7 microcontroller up to 240MHz Wireless Connectivity LoRaWAN via Semtech LX1262 Output Power – Up to +22 [...]
Wiznet has recently released the W55RP20-EVB-Pico dev board, a compact board based around the W55RP20 SiP that fuses the Raspberry Pi RP2040 MCU and the W5500 Ethernet controller into a single IC, plus a 2MB flash chip for firmware storage. Just last month we wrote about W5100S-EVB-Pico2 and W5500-EVB-Pico2 dev boards, both the boards have a newer Raspberry Pi RP2350 MCU and external Ethernet controller (W5500 or W5100S). The RP2350 offers additional security features such as One Time Programmable (OTP) memory, secure boot, and Arm TrustZone technology, making it more suitable for secure applications. The W55RP20 on the other hand integrates a W5500 Ethernet controller and the RP2040 in a single SiP which is also pin-compatible with the Raspberry Pi Pico, making it easy to use existing Pico accessories and code examples. W55RP20-EVB-Pico dev board specifications: SiP– W55RP20 microcontroller MCU – Raspberry Pi RP2040 Core– Dual Cortex M0+ cores up [...]
Arduino Nicla Sense Env is a new sensor module with temperature, humidity, and gas (TVOC, NO2, O3) sensing that follows the launch of the Arduino Nicla Sense ME (Motion & Environment) module over three years ago (2021). The implementation of the new module is quite different since the ME module relies on Nordic Semi nRF52832 Cortex-M4 microcontroller and Bosch SensorTech motion and environmental sensor, but the new Nicla Sense Env module is made of parts from Renesas namely the RA2E1 Cortex-M23 microcontroller, the HS4001 humidity and temperature sensor, the ZMOD4410 gas sensor for TVOC and indoor air quality, and the ZMOD4510 gas sensor for NO2, O3, and outdoor air quality. Arduino Nicla Sense Env (ABX00089) specifications: MCU – Renesas RA2E1 Arm Cortex-M23 entry-line microcontroller (not accessible or programmable by the user) CPU core – Arm Cortex-M23 core up to 48 MHz Memory – 16KB SRAM Storage – 128KB flash Sensors [...]
Developer and engineer Oliver Fabel has developed a port that is designed to run MicroPython on the Flipper Zero. This port allows users to write programs for Flipper Zero in Python, instead of built-in JavaScript. Till now you can access GPIO, ADC, PWM, the speaker, buttons, the display, and infrared communication with this but it doesn’t have support for NFC or RFID yet, and it’s still under development. Previously we have written about various addon boards for the Flipper Zero like the Mayhem v2, the ESP8266 Deauther board, the CAN bus addon board, and other powerful alternatives of the Flipper like The M1 and the HackBat. Feel free to check those out if you are interested in the topic. The process is simple, and you don’t have to do a firmware update to work with MicroPython, you can download the application from the community-driven Flipper app store and are good [...]
Raspberry Pi released the Raspberry Pi Pico 2 a few months ago, featuring the new RP2350 chip. Despite several upgrades, it lacks wireless connectivity like Pico W. While there’s no official Raspberry Pi Pico 2 W yet, Pimoroni has developed an unofficial alternative, the Pimoroni Pico Plus 2 W, which integrates Wi-Fi and Bluetooth using a yet-to-be-formally-announced Raspberry Pi RM2 module and potentially set to appear in a future Pico 2W. The Pimoroni Pico Plus 2W board is powered by the Raspberry Pi RP2350B dual-core Arm Cortex-M33 microcontroller, features 16MB of QSPI flash with XiP support, 8MB of PSRAM, wireless connectivity, a USB Type-C port for power and data, and a Qwiic/STEMMA QT connector for breakout board integration. A few days ago, we covered the Pimoroni Explorer board, an electronic prototyping board built around the Raspberry Pi RP2350B chip. It features a 2.8-inch LCD screen, a speaker connector, and multiple [...]
“Adafruit Feather RP2350 with HSTX port” is a Raspberry Pi RP2350 MCU development board that features an onboard 22-pin high-speed serial transmit interface (HSTX) port. The board also features a built-in 200mA+ LiPo charger, an RGB LED, a STEMMA QT connector, and a USB Type-C port for power and programming. The board is compatible with FeatherWings and supports development with various programming languages. These features make this board suitable for a wide range of applications, from embedded projects and IoT devices to educational purposes and prototyping. Previously we have covered a variety of RP2350-powered development boards, including the MOTION 2350 Pro, designed for robotics and motor control; the Solder Party’s RP2350 Stamp, ideal for space-constrained applications; and the WIZnet Raspberry Pi RP2350 boards designed for IoT and internet-connected applications. Feel free to check those out if you want to take a look at some of the unique development boards. Adafruit [...]
M5Stack ATOMS3R and ATOMS3R Cam are two tiny devkits based on ESP32-S3-Pico system-in-package and a similar design but the first one features a 0.85-inch color color IPS display, while the other is equipped with a GC0308 VGA camera. Both modules measure just 24x24mm with a thickness of around 13mm, integrate BMM150 and BMI270 motion sensors, offer GPIO expansion through female headers and a grove connector, and feature an infrared transmitter and a USB Type-C port for power and programming. Those are the second devkits based on the ESP32-S3-Pico SiP after we covered the tiny OMGS3 module earlier this week. M5Stack ATOMS3R with display ATOMS3R specifications: SiP – Espressif ESP32-S3-PICO-1-N8R8 SoC ESP32-S3 dual-core Tensilica LX7 up to 240 MHz with 512KB SRAM, 16 KB RTC SRAM Wireless – WiFi 4 and Bluetooth 5 LE + Mesh Memory – 8MB QSPI PSRAM Storage – 8MB QSPI flash Display – 0.85-inch color IPS screen [...]
A few months back, we quietly dropped the Pico VS Code project on GitHub. It didn’t take long before the feedback started pouring in. Since then, we’ve been listening and tweaking. Now, we’re excited to officially unveil the public beta of the Raspberry Pi Pico Visual Studio Code Extension!
What is Pico VS Code?
Pico VS Code is a Microsoft Visual Studio Code extension designed to make your life easier when creating, developing, and debugging projects for Raspberry Pi Pico-series boards. Whether you’re a total beginner or a seasoned pro, this tool is here to help you dive into Pico development with confidence and ease.
If you’ve ever tried to set up an embedded development environment, you know it’s no small feat. Beginners often find themselves tangled up in the complexities of build systems, SDKs, and toolchains. And let’s not even get started on cross-compilation; developing on one machine to run code on another introduces a whole new set of challenges.
Getting all the right configurations and installations in place can be intimidating for everyone, not just those new to the game. Even experienced developers can find themselves tangled in frustrating setup processes that eat into valuable development time.
That’s why we created the Pico Visual Studio Code extension: a user-friendly tool that simplifies the entire development process. We wanted to offer something that takes the guesswork out of setting up your environment, so you can start coding in an interface you’re already familiar with — Visual Studio Code — as quickly as possible.
With Pico VS Code, you won’t have to worry about nitty-gritty details that trip up newcomers and sometimes stymie veterans. Instead, you’ll be able to focus on what really matters: bringing your Raspberry Pi Pico projects to life. Whether you’re working on your first blinking LED or a more complex project, Pico VSCode is there to help you get started and keep you moving forward.
How do I get Pico VS Code?
Prerequisites
To get started with the Pico VS Code extension, you’ll need to ensure that your development environment meets a few basic requirements. The extension is compatible with various platforms, including Raspberry Pi OS, Windows, macOS, and Linux, each with its own set of prerequisites.
All platforms require an install of Visual Studio Code version 1.92.1 or newer. For detailed instructions on setting up Pico VS Code on your platform, refer to the respective prerequisites outlined below.
Raspberry Pi OS
Ensure you are running a 64-bit distribution of Raspberry Pi OS.
Windows
Make sure you’re using a x86-based PC (not ARM64).
macOS
For macOS users, you can install all necessary dependencies by running the following command in your terminal:
xcode-select --install
Linux
Refer to the README.md on our GitHub page for a full list of required software. Many distros include the required software in the standard OS install.
Installing the Pico VS Code extension
You can install the extension in two ways. The first option is to install it directly from your editor’s marketplace. This provides a seamless integration and automatic updates. The second option is to download and manually install the package. This gives you more control and is helpful in restricted environments or when managing specific versions.
To create a project based on a blink example, select “New Project From Example” in the Pico sidebar panel added by the extension. Then, search for the example you want to use — in our case, “blink” — in the project name field. Click the “Create” button to generate a project from the template.
Once the project is generated, it will automatically open. When a Pico project is opened, the extension configures the build system for you based on the SDK version, board type, and other settings you’ve selected. After the progress bar disappears, you can compile the project by clicking the “Compile” button in the bottom right corner. This will open an output panel where you can follow the build progress. Once completed, you should see a line like this: [61/61] Linking CXX executable blink.elf.
When it comes to uploading firmware to your Raspberry Pi Pico board, you have two options. Both require you to connect your Pico in BOOTSEL mode. To put your Pico into BOOTSEL mode, connect your Pico board to your host computer while holding the BOOTSEL button.
The easiest way to get your firmware up and running is the “Run” button. Connect your Pico board in BOOTSEL mode, hit the “Run” button, and the firmware will upload automatically. You’ll know it’s working when the tiny LED near the USB connector starts blinking as the board disconnects itself.
In addition to the blink.elf executable, you’ll find a blink.uf2 file in the build directory within your project. If you prefer to manually flash firmware, drag and drop this UF2 file onto your Pico board in BOOTSEL mode.1 Once the file has been copied onto the board, it will automatically dismount and start running the blink project. You can confirm this by observing the tiny LED near the USB connector. It should start blinking as soon as the board disconnects itself.
For debugging directly within VS Code, the extension adds configuration to your project that allow you to use the debug panel and set breakpoints, just as you would when debugging other C/C++ projects on your computer. To run in debug mode with a Debug Probe, press F5. For detailed instructions on how to correctly wire your board for debugging, refer to the Getting Started guide on our website.2
Integrated offline documentation
When developing bare-metal code for the Pico, you often need to reference an API or check hardware specifications. To streamline your workflow, we’ve integrated the documentation directly into VS Code. This allows you to quickly access the information you need without leaving your editor — or requiring an internet connection.
To access the documentation, navigate to the Raspberry Pi Pico panel in your sidebar and select the topic you want to explore. The documentation will open within the editor, so you can position it wherever you need, just like any other file. This way, you can keep your code and reference materials side by side.
How to update the project configuration
A new SDK revision has been released, and you want to take advantage of its awesome new features in your Pico project. No problem — the extension has you covered. If you need to switch the target board, change the selected SDK, or adjust any other properties configured during project creation, the extension provides commands to update your project settings in just a few clicks.
For example, to switch the SDK version, you’ll find a UI element in the status bar at the bottom of the VS Code window, or in the Raspberry Pi Pico Project quick access panel in your sidebar, displaying your currently selected version. Clicking this will open a simple dialog where you can choose the new SDK version you want to use. Once selected, the extension will automatically reconfigure your project to use the new version. For optimal IntelliSense functionality, we recommended to reload your window after changing any project settings to ensure all extensions are aware of the new configuration. After the changes have been applied, the extension sends you a notification with a button that will reload the current window.
If you need to update settings other than the SDK version or board type, you can access additional commands via the VS Code command palette, which you can open with the keyboard shortcut Ctrl+Shift+P (or Cmd+Shift+P on macOS). Type “Raspberry Pi Pico,” and you’ll see a list of all available commands provided by the Pico extension. This makes it easy to adjust your project configuration as needed.
It also supports MicroPython
For beginners or developers who want to get their projects up and running on a Pico as quickly as possible, MicroPython is an excellent choice.3 It is a lean and efficient implementation of the Python 3 programming language, specifically designed to run on microcontrollers and in constrained environments. It includes a small subset of the Python standard library, making it a powerful yet lightweight option for embedded development.4
To create a Pico project using MicroPython instead of C/C++, select “New MicroPython Project”. You can find this button either in our Quick Access panel, located in your sidebar or by running the New Pico Project command and selecting MicroPython as language. This will launch the familiar project creation wizard, now tailored for setting up a MicroPython project. Choose the location for your project folder and set a name for your project. When you click “Create,” the extension generates the new project and opens it for you, just like with a C/C++ project. But instead of using C/C++, your new project uses the MicroPico extension to run your code on the board and manage project configurations.
With MicroPython, you can quickly start prototyping and experimenting with your Raspberry Pi Pico-series device, making it an ideal option for both newcomers and seasoned developers alike.
Next steps
For more detailed information on using the Pico VS Code extension, including a comprehensive list of settings and additional guidance, visit our GitHub project page. It’s a great resource for getting the most out of the extension.
If you’re new to developing Pico projects, don’t forget to check out the Getting Started guide we mentioned earlier—it’s packed with helpful tips to get you up and running.
If you’re looking to create a project that leverages the advanced features of Pico-series devices — such as I2C, PIO, or enabling stdio support—be sure to explore the “New C/C++ Project” interface. This tool allows you to customize your project setup to suit your needs, so you can dive into development quickly and efficiently.