Raspberry Pi Pico board

Interesting new micro-controller board and custom chip from Raspberry Pi: Raspberry Pi Pico.

Pico provides a single push button, which can be used to enter USB mass-storage mode at boot time and also as a general input, and a single LED. It exposes 26 of the 30 GPIO pins on RP2040, including three of the four analogue inputs, to 0.1”-pitch pads; you can solder headers to these pads or take advantage of their castellated edges to solder Pico directly to a carrier board.

It is programmable with Python and C/C++. Cross-platform toolchain for development on Windows, macOS, and Linux — including, naturally, the Raspberry Pi family itself Supports TensorFlow Lite.

Raspberry Pi is looking to do for the microcontroller market what they’ve already done for single-board computers with the launch of the Pico. The board — priced at just $4 — is based on the RP2040, a dual-core Cortex-M0+ processor designed in house. It designed to be easy to taken into use.

Announcement at Facebook says:

It’s been a big week. We launched something tiny, something new – Raspberry Pi Pico, just for you.

Read all about it, plus everything else that went down at Raspberry Pi in the last few days, in Raspberry Pi Weekly.

https://www.raspberrypi.org/weekly/raspberry-pi-pico-has-landed/

Raspberry Pi’s just-announced Pico board! Powered by RPi’s first custom silicon, the RP2040, this little board breaks out 26 GPIO pins and is designed to be embeddable. Let’s take a look!

More information:
https://www.hackster.io/news/hands-on-with-the-rp2040-and-pico-the-first-in-house-silicon-and-microcontroller-from-raspberry-pi-effc452fc25d
https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/
https://www.raspberrypi.org/documentation/pico/getting-started/
https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico
https://github.com/raspberrypi/pico-tflmicro
https://www.hackster.io/gatoninja236/raspberry-pi-pico-hackster-spotlight-69ccb1
https://www.hackster.io/news/hands-on-with-the-rp2040-and-pico-the-first-in-house-silicon-and-microcontroller-from-raspberry-pi-effc452fc25d

743 Comments

  1. Tomi Engdahl says:

    Raspberry Pi Pico – Blink LED (Blink.UF2)
    https://www.youtube.com/watch?v=TaIGyV2ZyXU

    A quick overview of how-to blink the on-board LED of the Raspberry Pi Pico MCU using the Raspberry Pi Pico C/C++ Blink UF2 file

    Reply
  2. Tomi Engdahl says:

    Physical Computing with Raspberry Pi Pico
    https://www.youtube.com/watch?v=d1VmF3YBWoA

    In this video, we have covered the basic programming that includes:
    ✅ Install MicroPyton for Raspberry Pi Pico
    ✅ LED blinking
    ✅ Push-button as an input
    ✅ Switch LED on and off using a push button

    Reply
  3. Tomi Engdahl says:

    Arducam Announces Pico4ML, a TensorFlow Lite Micro Device Powered by the Raspberry Pi RP2040
    Compact device packs an RP2040, camera, microphone, IMU, and display — everything you need to get started with TensorFlow Lite Micro.
    https://www.hackster.io/news/arducam-announces-pico4ml-a-tensorflow-lite-micro-device-powered-by-the-raspberry-pi-rp2040-e1d7266322b2

    Reply
  4. Tomi Engdahl says:

    Impressive overclock boosts the Raspberry Pi’s RP2040′s Arm cores to more than three times their official upper limit of 133MHz.

    Robin Grosset Takes a Raspberry Pi Pico’s RP2040 to New Heights with an Overclock to 420MHz
    https://www.hackster.io/news/robin-grosset-takes-a-raspberry-pi-pico-s-rp2040-to-new-heights-with-an-overclock-to-420mhz-c3677aa5daac

    Engineer Robin Grosset has pushed a Raspberry Pi Pico and its RP2040 microcontroller to its limits, successfully overclocking the chip from its stock 133MHz to an impressive 420MHz.

    “No Picos were harmed in the creation of this video,” says Grosset of the latest upload to his YouTube channel. “Your mileage may vary. Overclocking could shorten the life of your Pico, although mine seems fine.”

    Gradually increasing the clock speed, Grosset found his Raspberry Pi Pico usable all the way up to 420MHz — with one unfortunate caveat.

    “With the maximum overclock your flash memory will stop talking to your Pico CPU,” Grosset admits. “This is recoverable so don’t worry, just load another program with a different clock speed.”

    Raspberry Pi engineer Graham Sanderson, author of the b-em BBC Micro emulator port for the RP2040, has suggested one possible fix for this issue: “You can slow the flash clock down by a factor of two relative to the processor by using a a custom boot stage2 with PICO_FLASH_SPI_CLKDIV=4,” Sanderson writes on Twitter. “You can change this in the board header too.”

    https://mobile.twitter.com/robingrosset/status/1368723453453467651

    Reply
  5. Tomi Engdahl says:

    Standalone MicroPython PC offers a REPL mode, screen editor, and the ability to save programs to both internal flash and USB flash drive.

    Picosoft Turns the Raspberry Pi Pico Into an Interactive MicroPython Computer, the ORANGE-Python
    https://www.hackster.io/news/picosoft-turns-the-raspberry-pi-pico-into-an-interactive-micropython-computer-the-orange-python-fbb6757a6196

    Standalone MicroPython PC offers a REPL mode, screen editor, and the ability to save programs to both internal flash and USB flash drive.

    Picosoft has unveiled a project to convert the Raspberry Pi Pico microcontroller development board into a standalone, fully-functional interactive computer driven by MicroPython — and including the unusual ability to save your files to a USB flash drive.

    Dubbed ORANGE-Python, the machine combines the Raspberry Pi Pico with Picosoft’s in-house pico-pico-DEBUG carrier board and USB-and-VGA add-on. Connect a monitor and a USB keyboard to the latter and USB power to the Raspberry Pi Pico in the former, and the system immediately boots into an interactive Python session — just as early microcomputers would present the user with BASIC or the like.

    ORANGE-Python has a few modern features, too: Users can switch away from the default interactive REPL (read-evaluate-print loop) into a screen editor for writing more complex programs, which can be saved for later execution.

    More information on the project is available, in Japanese, on the Picosoft website.
    http://picosoft.co.jp/Python/index.html

    Reply
  6. Tomi Engdahl says:

    Raspberry Pi Pico Converts Electric Guitar Signals to MIDI
    Philip Karlsson Gisslow used a Raspberry Pi Pico to convert the signal from an electric guitar to MIDI.
    https://www.hackster.io/news/raspberry-pi-pico-converts-electric-guitar-signals-to-midi-89bb5f61998f

    Reply
  7. Tomi Engdahl says:

    Capable of 500ksps, the PicoSDR project takes the Raspberry Pi Pico into a new domain — and boasts GNU Radio compatibility, too.

    Luigi Cruz Turns the Raspberry Pi Pico Into a Software-Defined Radio with the PicoSDR Project
    https://www.hackster.io/news/luigi-cruz-turns-the-raspberry-pi-pico-into-a-software-defined-radio-with-the-picosdr-project-0085e14ef96d

    Capable of 500ksps, the PicoSDR project takes the Raspberry Pi Pico into a new domain — and boasts GNU Radio compatibility, too.

    “PicoSDR! A whopping 500 ksps of pure Direct Sampling at 8-bits,” Cruz wrote of his project. “Yes, you heard it right! Get your samples right away using TCP/IP over the Full Speed USB at up to 12 Mbps. Welcome to 2005!”

    “Yes, I’ve made this for fun. Don’t get too excited. As I said, the RP2040 is very limited in terms of ADC speed and USB speed. This project is just a proof of concept with very limited use cases. But it works!”

    Reply
  8. Tomi Engdahl says:

    Lucky Resistor’s MicroPython Bitmap Tool Takes Your Images and Spits Out Ready-to-Use Code
    https://www.hackster.io/news/lucky-resistor-s-micropython-bitmap-tool-takes-your-images-and-spits-out-ready-to-use-code-b57409b4289a

    The open source utility offers a point-and-click interface for image-to-code conversion, including some neat overlays for visualization.

    Pseudonymous maker Lucky Resistor has released a software package designed to make it easier to handle bitmap imagery in MicroPython projects: the MicroPython BitMap Tool.

    MicroPython’s ability to handle image objects comes in handy when you’re looking to add a user interface to your project, but actually getting the imagery in there can be a challenge. Lucky Resistor’s solution: A software tool which takes a range of bitmap image formats and converts them to code which can be pasted directly into a MicroPython project ready for use.

    The tool can load PNG, JPEG, GIF, PBM, PGM, PPM, XBM, and XPM graphics

    Reply
  9. Tomi Engdahl says:

    Adafruit’s ItsyBitsy RP2040 Brings Raspberry Pi’s In-House Microcontroller to a New Form Factor
    https://www.hackster.io/news/adafruit-s-itsybitsy-rp2040-brings-raspberry-pi-s-in-house-microcontroller-to-a-new-form-factor-ddc497077201

    With the Feather RP2040 out of the door, Adafruit’s ItsyBitsy form factor is the next to host Raspberry Pi’s new RP2040 microcontroller.

    Reply
  10. Tomi Engdahl says:

    A modified version of flashrom now lets you turn your Raspberry Pi Pico, or other RP2040-based board, into an SPI flash ROM dumper/blower.

    Ghidra Ninja Turns the Raspberry Pi Pico, Other RP2040 Boards, Into an SPI Flash Blower via Flashrom
    https://www.hackster.io/news/ghidra-ninja-turns-the-raspberry-pi-pico-other-rp2040-boards-into-an-spi-flash-blower-via-flashrom-6099bc95ff1e

    Pseudonymous security researcher Ghidra Ninja has found a new use for the low-cost Raspberry Pi Pico development board: Turning it into a write-capable SPI flash ROM dumper and blower.

    https://github.com/flashrom/flashrom

    Reply
  11. Tomi Engdahl says:

    SparkFun Begins Shipping Its RP2040 Thing Plus Board, Packing 16MB of Flash Memory On-Board
    https://www.hackster.io/news/sparkfun-begins-shipping-its-rp2040-thing-plus-board-packing-16mb-of-flash-memory-on-board-8c271a3a5a28

    Following the company’s more compact RP2040 Pro Micro, the RP2040 Thing Plus includes a Feather layout, battery charging and a microSD slot.

    Reply
  12. Tomi Engdahl says:

    The Raspberry Pi Pico As An SDR Receiver
    https://hackaday.com/2021/03/16/the-raspberry-pi-pico-as-an-sdr-receiver/

    With the profusion of cheap RTL-SDR devices and the ever-reducing prices of more capable SDRs there might seem to be little place left for the low-bandwidth devices we’d have been happy with a decade or more ago, but there’s still plenty to be learned from something so simple. It’s something [Luigi Cruz] shows us with a simple SDR using the analogue-to-digital capabilities of the Raspberry Pi Pico, and since it works with GNU Radio we think it’s rather a neat project. CNX Software have the full story, and and quickly reveal that with its 500k samples per second bandwidth it’s not a machine that will set the SDR world on fine even when pushing Nyquist’s Law to the limit.

    PiccoloSDR (WIP)
    https://github.com/luigifcruz/pico-stuff/tree/main/apps/piccolosdr

    This example is a Raspberry Pico RP2040 working as a basic direct-sampling SDR. The data is sent via USB using the RNDIS protocol to emulate a TCP/IP interface. The ADC speed is limited to 500 ksps. This was tested on Linux but should work fine on Windows. The data can be used with software like the GNU Radio, an example is available here. It requires an OOT module that can be found here.

    Reply
  13. Tomi Engdahl says:

    Raspberry Pi Pico ADC Characterized
    https://hackaday.com/2021/03/15/raspberry-pi-pico-adc-characterized/

    [Markomo] didn’t find much useful information about the Raspberry Pi PIco’s analog to digital converter, so he decided to do some tests to characterize it. Lucky for us, he documented the findings and shared them. The results are in a series of blog posts that cover power supply noise, input-referred noise, signal to noise ratio, and distortions.

    There are some surprising results. For example, the Pico’s low noise regulator mode appears to produce more noise than having it set for normal operation. There also appears to be a large spike in nonlinearity around certain measurements.

    https://pico-adc.markomo.me/

    Reply
  14. Tomi Engdahl says:

    Using Raspberry Pi Pico as Hid Device to control Mouse and Keyboard
    https://hridaybarot.home.blog/2021/01/31/using-raspberry-pi-pico-has-hid-device-to-control-mouse-and-keyboard/

    This project is an OBS Controller using a Raspberry Pi Pico and CircuitPython.
    https://github.com/pjgpetecodes/pico-streamdeck

    Reply
  15. Tomi Engdahl says:

    Building on the TinyUSB and lwIP projects, Hermann Stamm-Wilbrandt has successfully demonstrated both client and server modes over a USB link.

    Hermann Stamm-Wilbrandt Gives the Raspberry Pi Pico Web Server, Client Over USB Capabilities
    https://www.hackster.io/news/hermann-stamm-wilbrandt-gives-the-raspberry-pi-pico-web-server-client-over-usb-capabilities-74104c572db1

    Building on the TinyUSB and lwIP projects, Stamm-Wilbrandt has successfully demonstrated both client and server modes over a USB link.

    Now, Stamm-Wilbrandt is back with another useful code snippet: Functional web server and web client examples, which make up for a lack of on-board Ethernet capabilities by networking the microcontroller over its USB port.

    Over the weekend, a port of the TinyUSB web server code to the Raspberry Pi Pico was released to GitHub and announced on the Raspberry Pi forum. While basic – the software simply loads a web page with a graphic of the Raspberry Pi Pico and allows the user to clock the LED to toggle its physical equivalent on and off, and to click the BOOTSEL button to reboot in flash mode — the tool was functional, and Stamm-Wilbrandt extended it further by having the picture of the LED represent the real LED’s current status.

    The project raised Stamm-Wilbrandt’s curiosity, though: Would it be possible to have the Raspberry Pi Pico act as a web client, as well as a web server? “I thought if Pico can be a web server with TCP/IP over USB,”

    The answer, it turns out, is yes. Stamm-Wilbrandt has demonstrated the ability for the Raspberry Pi Pico to download and process web data, though with a few caveats. The first is that it can only access plain-text HTTP sites, though the use of a HTTPS-to-HTTP proxy on the host can overcome this; the second is that accessing sites external to the host machine requires a proxy or bridge to be in place.

    Stamm-Wilbrandt has published his web server code to GitHub under the same MIT license as the original work

    https://github.com/Hermann-SW/pico-webserver

    Reply
  16. Tomi Engdahl says:

    Raspberry Pi Confirms It Is Investigating a Flaw in the Raspberry Pi Pico, RP2040 ADC
    https://www.hackster.io/news/raspberry-pi-confirms-it-is-investigating-a-flaw-in-the-raspberry-pi-pico-rp2040-adc-95c393b55dfb

    Big DNL spikes caused by an apparent mismatch between capacitors used in simulation and production, James Adams confirms

    Reply
  17. Tomi Engdahl says:

    Piper Launches Piper Make Visual Coding Environment for the Raspberry Pi Pico, Hardware Subs
    Free Blockly-based visual coding environment is joined by a $30 starter kit and $20 monthly hardware delivery service.
    https://www.hackster.io/news/piper-launches-piper-make-visual-coding-environment-for-the-raspberry-pi-pico-hardware-subs-dd4370bfee9f

    Reply
  18. Tomi Engdahl says:

    Ohjelmointitukea Raspberry Pin omalle ohjaimelle
    https://etn.fi/index.php/13-news/11923-ohjelmointitukea-raspberry-pin-omalle-ohjaimelle

    SEGGER ilmoittaa, että sen J-Link, Flasher ja Embedded Studio tukevat nyt RP2040-ohjainpiiriä. RP2040-piirillä on kaksi Cortex-M0 + -ydintä, jotka molemmat voidaan ohjelmoida ja debugata J-Linkin avulla.

    J-Link ohjelmoi koko RP2040-ohjaimen RAM-muistin 0,25 sekunnissa. QSPI-flashiin ohjelmakoodi latautuu 340 kilotavun sekuntinopeudella. Se sisältää myös rajoittamattoman määrän keskeytyspisteitä jopa flash-muistissa, sekä SEGGER GDB -palvelimen, mikä tekee siitä yhteensopivan kaikkien suosittujen kehitysympäristöjen kanssa.

    https://www.segger.com/news/segger-j-link-flasher-and-embedded-studio-now-support-raspberry-pi-rp2040/

    Reply
  19. Tomi Engdahl says:

    Driving Old School TFEL Display Panels with a Raspberry Pi Pico
    ZephRay has managed to drive TEFL display panels using a Raspberry Pi Pico development board.
    https://www.hackster.io/news/driving-old-school-tfel-display-panels-with-a-raspberry-pi-pico-cb8ca85f1f32

    The vast majority of displays that are used in devices today are based on either LCD or OLED technology, because those displays offer the best performance for the money. But many other display technologies have been developed over the years, even if most of them are now essentially obsolete. Plasma TVs, for example, were a very popular alternative to LCD TVs for several years, but they haven’t been manufactured in large numbers since 2015. TFEL (Thin Film ElectroLuminescent) displays are another type that we rarely see today, but ZephRay has managed to drive TEFL display panels using a Raspberry Pi Pico development board.

    https://www.zephray.me/post/rpi_pico_driving_el

    Reply
  20. Tomi Engdahl says:

    https://www.nwengineeringllc.com/article/how-to-add-the-raspberry-pi-microcontroller-to-your-pcb.php

    SMD Mounting with Castellated Holes
    One thing I like about the Pico is its castellated holes around the outer edge of the board. In addition, the back side of the board has no components, and there are only 6 exposed test points. These holes and the lack of components on the back side allow the board to be surface-mounted to a carrier board, just like you would with any other SMD component. The mounting holes can then be used to better secure the Pico to its carrier board, or the Pico can be secured directly to an enclosure with the mounting holes.

    Pin Headers and Standoffs
    Alternatively, you can use the pin headers with standoffs for a standalone module, just like you would with a typical Arduino module or other MCU board. Contrast this with a comparable MCU or SMD module (e.g., CC3235 or uBlox modems), which only has SMD mounting pads or castellated holes without pin headers. This gives designers more options for implementing the Pico into their designs. Using the pin headers and standoffs is a simple method for deploying a small MCU board with standard form factor you’d find in other MCU development boards

    Through-hole Mounting
    The pin header along the back side of the castellated holes also allows through-hole mounting to a carrier board. Simply solder an unshrouded pin header onto the board and place the corresponding through-hole pattern in the carrier board. The Pico can then be placed using through-hole mounting and soldered for a secure mechanical connection. This is a much better option for harsh environments, such as in an industrial setting or in a vehicle.

    Reply
  21. Tomi Engdahl says:

    Arducam Pico4ML: An RP2040 Based TinyML Dev Board
    https://hackaday.io/project/178308-arducam-pico4ml-an-rp2040-based-tinyml-dev-board

    Arducam took the RP2040 chip and turned it into a TFLite Micro powerhouse.

    To make Raspberry Pi Pico more robust for TFLite Micro, the Arducam team took the Raspberry Silicon (also known as the RP2040 chip) and created Pico4ML, a microcontroller dev board made exclusively for running and training machine learning examples.

    QVGA Camera Module

    Arducam built the front camera module with the HiMax HM01B0 CMOS sensor, it’s a great balance between performance and efficiency. It’s able to capture QVGA videos/photos at a maximum of 60 frames per second. This’d make the board a pretty reasonable fit for all the machine vision models/examples.
    0.96 inch LCD

    The small TFT display at the back of Pico4ML is a 160×80 LCD, it’s connected to the board through the SPI interface, you can do a live preview of the camera, or display the results of any of your ML models in real time.
    Onboard Microphone

    The audio chip on the Pico4ML is capable of outputting PDM (Pulse-density modulation) signals, this integration allows the RP2040 to do live audio recording, and it’s great for all the speech/voice recognition models.
    Reset Button

    They’ve also added a reset button to the board, unlike the official RPi Pico, you don’t have to unplug anymore.
    RPi Style Enclosure

    Reply
  22. Tomi Engdahl says:

    Raspberry Pi Pico and Other RP2040-Powered Boards Get an Unofficial Open Source Arduino Core
    https://www.hackster.io/news/raspberry-pi-pico-and-other-rp2040-powered-boards-get-an-unofficial-open-source-arduino-core-93e4e287499d

    Unofficial community Core project brings support for all known RP2040 boards to the Arduino IDE — including use of the PIO state machines.

    Work on the official Arduino Core continues, but an impatient community has beaten Arduino to the punch with an unofficial variant supporting all known RP2040 boards: the Arduino-Pico Core.

    “This is a port of the RP2040 (Raspberry Pi Pico processor) to the Arduino ecosystem,” project maintainer Earle F. Philhower, III explains. “It uses a custom toolset with GCC 10.2 and Newlib 4.0.0, not depending on system-installed prerequisites. There is automated discovery of boards in bootloader mode, so they show up in the IDE, and the upload command works using the Microsoft UF2 tool (included).”

    Like most Arduino Cores, the RP2040 Core can be installed quickly within the Arduino IDE via the Boards Manager tool — although instructions are included for manual installation too. The port includes a range of features, from pulse-width modulation (PWM) support to use of the programmable input/output (PIO) state machine capabilities for jitter-free servo control and tone generation.

    The Arduino-Pico Core is now available on GitHub, under the GNU Lesser General Public License 2.1.
    https://github.com/earlephilhower/arduino-pico

    Reply
  23. Tomi Engdahl says:

    A step-by-step guide walks through configuring your Ubuntu system — or container — and getting a basic micro-ROS application up and running.

    Canonical’s Jeremie Deray Gets You Up and Running with micro-ROS on the Raspberry Pi Pico
    https://www.hackster.io/news/canonical-s-jeremie-deray-gets-you-up-and-running-with-micro-ros-on-the-raspberry-pi-pico-d162b27b86ae

    A step-by-step guide walks through configuring your Ubuntu system — or container — and getting a basic micro-ROS application up and running.

    Canonical’s Jeremie Deray has published a guide to getting up and running with micro-ROS, a project designed to bring the Robot Operating System 2 (ROS 2) to microcontrollers, on the low-cost Raspberry Pi Pico.

    Recently ported to Arduino’s Portenta H7, micro-ROS is designed to bridge the gap between low-resource microcontrollers and more powerful systems-on-chips running ROS 2. Swapping out the Linux kernel for a lightweight real-time operating system (RTOS), micro-ROS integrates seamlessly with ROS 2 — and can now be installed on the $4 Raspberry Pi Pico’s RP2040 microcontroller.

    “We will see how the Raspberry Pi Pico can natively speak to a ROS 2 graph using micro-ROS,”

    The full tutorial, which can be carried in Ubuntu Linux directly or via an LXD container, is now available on the Ubuntu blog.

    https://ubuntu.com//blog/getting-started-with-micro-ros-on-raspberry-pi-pico

    Reply
  24. Tomi Engdahl says:

    Arduino Support for the Pi Pico available! And how fast is the Pico?
    https://www.youtube.com/watch?v=-XHh17cuH5E

    Breaking News: Arduino IDE support for the Pi Pico is available! No, not the official one. This probably still will take its time. But Earle F. Philhower, III published an unofficial support! Does it work, and how can we install it? And, of course, how fast is the Pico if we use the Arduino IDE? Really faster than anything we saw up till now?

    Reply
  25. Tomi Engdahl says:

    #370​ Raspberry Pi Pico vs ESP32 (-S2) and STM32 Blackpill
    https://www.youtube.com/watch?v=cVHCllbN3bQ

    The Raspberry Pi foundation spent a lot of money to create a new chip on the Pi Pico board for makers and gives it away for cheap. If I believe all the fanboy’s videos, it is the most important invention after sliced bread. But how does it compare with the Espressif and STM32 chips? Let’s have a closer look!

    Reply
  26. Tomi Engdahl says:

    How to use the two Cores of the Pi Pico? And how fast are Interrupts?
    https://www.youtube.com/watch?v=9vvobRfFOwk

    The new Pi Pico has two cores. How can we use both? And: If you want to play with the Pico, this video can save you a lot of time because we will discover the main differences between programming an Arduino and a Pi Pico.

    Reply
  27. Tomi Engdahl says:

    Arducam Pico4ML: An RP2040 Based TinyML Dev Board
    Arducam took the RP2040 chip and turned it into a TFLite Micro powerhouse.
    https://hackaday.io/project/178308-arducam-pico4ml-an-rp2040-based-tinyml-dev-board

    Reply
  28. Tomi Engdahl says:

    Clever code takes input from a microphone and displays it as a live spectrum on an SPI display — accelerated via the Pico’s two cores.

    Iwatake Turns the Raspberry Pi Pico Into a Dual-Core, FFT-Calculating Live Spectrum Analyzer
    https://www.hackster.io/news/iwatake-turns-the-raspberry-pi-pico-into-a-dual-core-fft-calculating-live-spectrum-analyzer-0245bbdd0699

    Clever code takes input from a microphone and displays it as a live spectrum on an SPI display — accelerated via the Pico’s two cores.

    “[This is a] dual-core spectrum analyzer on Raspberry Pi Pico,” iwatake writes of the project, “[using] ADC [analogue to digital conversion], DMA [direct memory access], IRQ [interrupt request], SPI [serial peripheral interface], Core0 and Core1.”

    The project, written in C++ using the official Raspberry Pi Pico software development kit (SDK), uses the RP2040′s two cores to split the work: Core0 is responsible for running the main thread, handling the touch-sensitive SPI display, reading the ADC input, and storing it in buffers; Core2, meanwhile, is dedicated to calculating a fast Fourier transform (FFT) to display on the screen as a live spectrum.

    The project’s source code is available on iwatake’s GitHub repository, under the permissive Apache 2.0 license.

    https://github.com/iwatake2222/pico-work/tree/master/pj_adc_fft

    Reply
  29. Tomi Engdahl says:

    Project Showcase: Machine Learning with RP2040
    https://www.youtube.com/watch?v=YGwm-TESdHA

    The RP2040 is supported with both C/C++ and MicroPython cross-platform development environments, including easy access to runtime debugging. It has UF2 boot and floating-point routines baked into the chip. The built-in USB can act as both device and host. It has two symmetric cores and high internal bandwidth, making it useful for signal processing and video. While the chip has a large amount of internal RAM, the board includes an additional 16MB external QSPI flash chip to store program code.

    Reply
  30. Tomi Engdahl says:

    WHICH IS BETTER? Raspberry Pi Pico vs Arduino Nano
    https://www.youtube.com/watch?v=6hTMC7Q6LLg

    The Pi Pico has come!!!! Is it better than the Arduino Nano? Let’s find out.

    It’s true an 8 bit from 2008 is not going to be as fast as a 32 bit from 2021. However, this comparison was for the boards most similar in size and use

    If the pi-zero is about 10x faster than pi-pico and has HDMI ports
    and is only about $2 more, then why should I by the pico?

    Pi Zero is a mini Linux computer which is wonderful and I love them, I have a few but they are harder to get ahold of nowadays. On the other hand Pi Pico is a microcontroller so it’s not the same. They are cheaper and for simpler projects. Using a Pi Zero for a simple project I feel would be not using the full potential of the Pi Zero and hence doesn’t warrant it. I hope this helps dude

    Reply
  31. Tomi Engdahl says:

    Arduino Core mbed 2.0 has been released, with support for the Raspberry Pi RP2040! https://github.com/arduino/ArduinoCore-mbed/releases/tag/2.0.0

    Reply
  32. Tomi Engdahl says:

    Based on an older Arduino project, this waveform generator shows just how powerful the $4 Raspberry Pi Pico can be.

    Rgco’s Ultra-Cheap Arbitrary Waveform Generator Packs a Raspberry Pi Pico to Outperform Lab Gear
    https://www.hackster.io/news/rgco-s-ultra-cheap-arbitrary-waveform-generator-packs-a-raspberry-pi-pico-to-outperform-lab-gear-c8d0c430c0a5

    Based on an older Arduino project, this waveform generator shows just how powerful the $4 Raspberry Pi Pico can be.

    Pseudonymous maker “rgco” has released a guide for turning a $4 Raspberry Pi Pico microcontroller into an arbitrary waveform generator — building on an earlier Arduino-powered project and upping the performance by a massive three-hundredfold.

    “As a test I wanted to see if any of my previous projects based on the Arduino Uno/Nano could benefit from a remake with this much more powerful board,” rgco writes of his experiments with the Raspberry Pi Pico, launched earlier this year as the first device built around the RP2040 microcontroller. “After all, it has 4x the bus width, 8x the clock frequency, 130x the RAM, and is more than a decade more modern.”

    The resulting Raspberry Pi Pico version of the project is considerably faster than the Arduino original – 300 times faster, in fact, boosting performance from 381 kilosamples per second (ksps) to 125 megasamples per second (Msps), or up to 250Msps with overclocking. “That is similar to serious lab-AWGs,” rgco notes, “which cost ~100EUR [around $119] for budget models.”

    The project is written in MicroPython running on the Raspberry Pi Pico, but should be portable to any other RP2040-based board. To get around the lack of an analogue output on the RP2040, rgco built a resistor ladder to act as a digital to analogue converter (DAC) —

    https://www.instructables.com/Arbitrary-Wave-Generator-With-the-Raspberry-Pi-Pic/

    Reply
  33. Tomi Engdahl says:

    Olimex’s compact carrier board turns your Pico into a personal computer, while the RP2040-Py is a drop-in Pico replacement with extra features.

    Olimex Unveils the RP2040-PICO-PC Carrier and the RP2040-Py Drop-In Raspberry Pi Pico Replacement
    https://www.hackster.io/news/olimex-unveils-the-rp2040-pico-pc-carrier-and-the-rp2040-py-drop-in-raspberry-pi-pico-replacement-67ed5c7dc6db

    Compact open-hardware carrier board turns your Pico into a personal computer, while the RP2040-Py is a drop-in Pico replacement with extras.

    Bulgarian open-hardware specialist Olimex has shown off the initial prototype for its RP2040-PICO-PC, a carrier board that turns the $4 Raspberry Pi Pico into a functional personal computer — and has teased an own-brand drop-in Pico replacement, the RP2040-Py, powered by the same RP2040 microcontroller but with added features.

    Olimex is currently working on two key RP2040-based products, the first designed to take a Raspberry Pi Pico and turn it into a low-power personal computer. “It’s [a] small base board for RP2040-PICO, the $4 module with the Cortex-M0+ processor made by Raspberry Pi Foundation,” Olimex’s Tsvetan Usunov explains. “We were ready with the prototype for a long time but the RP2040-PICO modules were tricky to source.”

    The carrier board accepts the Raspberry Pi Pico and adds lithium-polymer battery support, a physical reset button, microSD storage, analog audio, DVI video via a physical HDMI connector, UEXT connector carrying UART, SPI, I2C, 3V3, and ground pins, a JST 2.0 four-pin connector with I2C and power, and a debug connector for a serial adapter.

    While the Raspberry Pi Pico is designed with embedded tasks in mind, the features of the RP2040-PICO-PC give it potential as a personal computer

    The board will sell, the company has confirmed, for €12 (around $14) with pre-soldered headers.

    At the same time Olimex has shown off a render of a drop-in pin-compatible replacement for the Raspberry Pi Pico, designed to get around the scarcity of boards in certain regions. “As RP2040-PICO modules now are not available in production quantities for purchase,” Usunov explains, “we decided that until we wait we could make our own version of RP2040-PICO, which to be pin to pin drop in replacement. Fortunately some RP2040 processors are available now, so we can make our own DIL40 board, this is how our RP2040-Py board was born.”

    The RP2040-Py is the same size and with the same pinout as the Raspberry Pi Pico, but with a number of tweaks: The board includes 2MB of SPI flash, a micro-USB connector for power and data, a DC-DC power supply offering 3.3V at up to 2A, physical reset and boot buttons, a micro-UEXT connector on the underside, and a USB JTAG debugger at the end.

    Usunov has confirmed plans to release three variants of the RP2040-Py

    Reply
  34. Tomi Engdahl says:

    Arduino Core for Raspberry Pi Pico, Arduino Nano RP2040 Connect Released — and Upstreamed, Too
    Having been pipped at the post for first-to-release, Arduino has now launched an official Core for the Raspberry Pi Pico.
    https://www.hackster.io/news/arduino-core-for-raspberry-pi-pico-arduino-nano-rp2040-connect-released-and-upstreamed-too-a389b07853be

    Last month’s release of an unofficial Arduino Core that brings support for the Raspberry Pi Pico and other RP2040-based development boards to the Arduino IDE has now been followed by its official equivalent, targeting both the Raspberry Pi Pico and Arduino’s own Nano RP2040 Connect.

    In Release 2.0.0 of the Arduino Core for mbed, the Core gets support for two key new target devices: The Raspberry Pi Pico and Arduino’s own Nano RP2040 Connect. At the same time, developer Martino Facchin published a pull request that upstreams the RP2040 support into Arm’s mbed OS — though this is not yet been merged.

    https://github.com/arduino/ArduinoCore-mbed/releases/tag/2.0.0

    Reply
  35. Tomi Engdahl says:

    Developed using the TinyUSB library, this project receives MIDI messages via USB and decodes them for printing via UART.

    Boochow’s Raspberry Pi Pico Receives and Decodes MIDI Signals via Its USB Port
    https://www.hackster.io/news/boochow-s-raspberry-pi-pico-receives-and-decodes-midi-signals-via-its-usb-port-849cf87241d5

    Developed using the TinyUSB library, this project receives MIDI messages via USB and decodes them for printing via UART.

    Pseudonymous developer “boochow” has used the popular Raspberry Pi Pico in the heart of a MIDI device with a difference: Rather than making music, it’s designed to monitor and display the MIDI signals received from a USB MIDI device.

    “[The Raspberry Pi Pico] SDK’s TinyUSB Library makes USB devices relatively easy to create,” boochow explains in translation, “or connect USB devices. This time, I tried to create a MIDI device that outputs MIDI messages received via USB to UART. TinyUSB also includes a variety of sample codes and MIDI devices. The sample code was a sequencer-like device that outputs MIDI messages to USB, so I made it different.”

    The project requires minimal wiring: The Raspberry Pi Pico, launched earlier this year as a $4 combined breadboard-friendly development board and surface-mountable productizable module, connects to a host PC via USB and acts as a MIDI device; the two pins closest to the micro-USB port on the left-hand side are used as UART transmit and receive to output the captured and decoded MIDI signals.

    https://github.com/boochow/pico_test_projects/tree/main/usb-midi

    Reply
  36. Tomi Engdahl says:

    It’s Official! Arduino IDE Support for the Raspberry Pi Pico – How to Install
    https://www.youtube.com/watch?v=5YOEauk9bLo

    support for the Raspberry Pi Pico is available in the Arduino IDE! This is official support from Arduino and now we can program the Pico using a significantly easier toolchain. This video shows you how to install the board from the Arduino board manager and use the Raspberry Pi Pico in the Arduino IDE. This process avoids the horrible toolchain set up that we used to have to do with VSCode.

    Now with the Arduino IDE support out, we expect the Arduino Nano 2040 Connect shortly

    Reply
  37. Tomi Engdahl says:

    An RP2040 Board Designed For Machine Learning
    https://hackaday.com/2021/04/13/an-rp2040-board-designed-for-machine-learning/

    Machine learning (ML) typically conjures up ideas of fancy code requiring oodles of storage and tons of processing power. However, there are some ML models that, once trained, can readily be run on much more spartan hardware – even a microcontroller! The RP2040, star of the Raspberry Pi Pico, is one such chip up to the task, and [Arducam] have announced a board aiming to employ it to those ends – the Pico4ML.

    The board goes heavy on the hardware, equipping the RP2040 with plenty of tools useful for machine learning tasks. There’s a QVGA camera on board, as well as a tiny 0.96″ TFT display. The camera feed can even be streamed live to the screen if so desired. There’s also a microphone to capture audio and an IMU, already baked into the board. This puts object, speech, and gesture recognition well within the purview of the Pico4ML.

    Running ML models on a board like the Pico4ML isn’t about robust high performance situations. Instead, it’s intended for applications where low power and portability are key.

    https://www.arducam.com/pico4ml-an-rp2040-based-platform-for-tiny-machine-learning/

    Reply
  38. Tomi Engdahl says:

    In-depth: Raspberry Pi Pico’s PIO – programmable I/O!
    https://www.youtube.com/watch?v=yYnQYF_Xa8g

    In this video we take an in-depth look into the new Raspberry Pi Pico/RP2040 high-speed programmable I/O system: PIO!

    For a high level video check

    Raspberry Pi Pico: your new $4 microcontroller
    https://www.youtube.com/watch?v=o-tRJPCv0GA

    Reply
  39. Tomi Engdahl says:

    Project bundles a Lua run-time along with a rudimentary POSIX-style shell, full-screen editor, and file management — all on the RP2040.

    Kevin Boone Brings a “Proof of Concept” Lua Programming Environment to the Raspberry Pi Pico
    https://www.hackster.io/news/kevin-boone-brings-a-proof-of-concept-lua-programming-environment-to-the-raspberry-pi-pico-f05a55aeb7f6

    Project bundles a Lua run-time along with a rudimentary POSIX-style shell, full-screen editor, and file management — all on the RP2040.

    The $4 board and its surprisingly-capable microcontroller have found a home in a range of projects, and the launch-day support for programming in C/C++ and MicroPython quickly expanded to include the blocks-based BIPES, Mecrisp-Stellaris Forth, and now Lua.

    “Picolua is a proof-of-concept Lua programming environment for the [Raspberry] Pi Pico,” Boone explains of the project, which was brought to our attention by Adafruit. “As well as the Lua run-time, it includes a rudimentary shell that accepts Linux-like commands, a full-screen editor, and basic file management facilities.

    “Picolua is designed to be operated by connecting the Pico’s USB to a terminal emulator. Lua functions have been added for controlling the Pico’s GPIO and other peripherals. As a result, it is possible to enter and run simple programs that manipulate connected devices, without the need for any particular development tools. There is support for general digital input/output, analog input, PWM output, and I2C.”

    Some features, however, are missing — likely permanently: “There is no support,” Boone warns, “and probably never will be, for DMA, interrupts, threading, or multi-core operation.”

    https://github.com/kevinboone/luapico

    Reply
  40. Tomi Engdahl says:

    Xuken HCDC Launches Terminal Block Mounts to Integrate the Raspberry Pi Pico Into Industrial Builds
    https://www.hackster.io/news/xuken-hcdc-launches-terminal-block-mounts-to-integrate-the-raspberry-pi-pico-into-industrial-builds-3a4535e80a7e

    $19.90 add-on takes a Raspberry Pi Pico or pin-compatible and brings out the general-purpose input/output pins to screw terminals.

    “With [this] breakout board, you can easily extend Raspberry Pi Pico projects to industrial control, home automation, or other applications,” the company writes of its creation, which borrows its inspiration from an earlier terminal block add-on for the larger Raspberry Pi single-board computer family.

    the terminal block breakout offers a connection to almost every pin via screw terminals, for secure yet removable wiring.

    Note “almost every pin:” The serial-wire debug (SWD) header, located at the opposite end of the Raspberry Pi Pico to its micro-USB port, is not brought out to the twin terminal blocks; a position is included on the board, however, for a terminal block to be soldered into place if required.

    The board is available in two variants: The first includes a nylon mounting case which secures via screws at either end; for anyone with industrial use in mind, the second variant is suitable for DIN rail mounting.

    https://czh-labs.com/products/terminal-block-breakout-module-for-raspberry-pi-pico-din-rail-mount

    Reply
  41. Tomi Engdahl says:

    Wenting Is Back to Wow Us Again, This Time with Preader — a Raspberry Pi RP2040-Powered E-Reader!
    Wenting is wowing us with his Raspberry Pi RP2040-powered, bi-stable ChLCD display e-reader: the Preader!
    https://www.hackster.io/news/wenting-is-back-to-wow-us-again-this-time-with-preader-a-raspberry-pi-rp2040-powered-e-reader-dbe57d426834

    Reply
  42. Tomi Engdahl says:

    RP2040 Module
    Hand solderable RP2040 for smaller DIY designs.
    https://www.hackster.io/kattemjau/rp2040-module-303df8

    Reply
  43. Tomi Engdahl says:

    Pimoroni has announced the launch of a Raspberry Pi Pico add-on that lets you power your projects from a lithium-ion or lithium-polymer battery: the LiPo SHIM for Pico, or PiCoLiPoSHIM.

    Pimoroni’s LiPo SHIM for Pico Adds Easy Battery Management to Your Raspberry Pi Pico Projects
    https://www.hackster.io/news/pimoroni-s-lipo-shim-for-pico-adds-easy-battery-management-to-your-raspberry-pi-pico-projects-9a265fb736ae

    Compact add-on is built around the Microchip MCP73831 battery management chip, with an XYSemi XB6096I2 battery-protection system added.

    Reply
  44. Tomi Engdahl says:

    Bridging The PC And Embedded Worlds With Pico And Python
    https://hackaday.com/2021/04/18/bridging-the-pc-and-embedded-worlds-with-pico-and-python/

    Although protocols like I2C and SPI are great for communicating between embedded devices and their peripherals, it can be a pain to interface these low-level digital interfaces to a PC. [Alexandre] typically used an Arduino to bridge between the PC and embedded worlds, but he got tired of defining a custom serial protocol for each project. Inspired by MicroPython’s machine module, [Alexandre] has developed u2if—an implementation of some of MicroPython’s machine module for PC—using a USB-connected Raspberry Pi Pico to bridge between a PC and low-level digital interfaces.

    u2if consists of two parts: the PC portion is a Python implementation of a portion of the MicroPython machine module, and the Raspberry Pi Pico receives some custom C++ firmware. Thus far, [Alexandre] has implemented functionality for the onboard ADCs, I2C, SPI, UART, and GPIO lines as well as additional support for I2S sound and the WS2812B addressable LED.

    https://github.com/execuc/u2if
    u2if project

    u2if(USB to interfaces) is an attempt to implement some of the MicroPython “machine” module functionalities on a computer. The goal is to be able to communicate with breakout boards (sensors, lcd…) simply from a python program on x86 machine. It uses a Raspberry PICO microcontroller to make the interface between the computer (USB) and peripherals/protocols.

    Reply
  45. Tomi Engdahl says:

    RaspberryPi PICO vs Arduino NANO vs STM32 Blue Pill vs ESP32 vs STM32 Black Pill | Comparison
    https://www.youtube.com/watch?v=E2wmN9fRvkg

    Here’s a short side-by-side comparison video for all the popular competitors of the Brand New RaspberryPi Pico Dev Board. Well, based on RP2040 microcontroller powered by two 32 bit Arm Cortex M0 Processors (M0+). Running at a decent 133Mhz freq, though much faster than the Arduino buddies. Equipped with a wide variety of peripherals and at a very budget-friendly price, it’s surely a HIT.

    Reply

Leave a Comment

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

*

*