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

751 Comments

  1. Tomi Engdahl says:

    Pico-Based NES Emulator Outputs HDMI Video
    https://www.hackster.io/news/pico-based-nes-emulator-outputs-hdmi-video-4f1843507515

    Thanks to Frank Hoedemakers, you can now run an NES emulator on a Raspberry Pi Pico with SD game storage and HDMI video output.

    Reply
  2. Tomi Engdahl says:

    Raspberry Pi Produced 10 Million RP2040s in 2021, More Pi Stores Likely
    By Les Pounder published 2 days ago
    There’s almost an “infinite” supply of RP2040 chips
    https://www.tomshardware.com/news/raspberry-pi-10-million-rp2040s

    500 Wafers Equals 10 Million RP2040s
    Tom’s Hardware Editor-in-Chief and The Pi Cast co-host Avram Piltch asked Upton “Why are there no shortage of RP2040 based products?” and Upton’s answer “We took some big risks” lead to the revelation that Raspberry Pi purchased 500 wafers in 2021.

    The offer and subsequent decision to purchase 500 wafers came through within a day, Upton said. Per wafer there can be between 21,000 and 22,000 RP2040 die with a die size of roughly 2mm square. Upton then compares the “big chip world” where dies are 30 mm square. The original BCM2835 SoC (as used in the original Raspberry Pi and Raspberry Pi Zero) is based on this tech.

    From a wafer, the yield is approximately 2000 die for 30mm. Newer chips, such as those in the Raspberry Pi Zero 2 W and Raspberry Pi 4 use a 45mm square die, respectively the BCM2710 and BCM2711 packages. From a wafer Raspberry Pi expect to make 1400 die.

    Upton then does the math and from 500 wafers, each yielding around 21,000 die, there are around 10 million RP2040 chips.

    This “stockpile” of chips from 2021 are what many of us keen Pico users are currently consuming, be it in the form of Raspberry Pi Pico , Pico W or third-party boards. Upton then talks about what is “effectively an infinite supply [of RP2040]” based upon how many die can be created per wafer. This is a refreshing statement, given how global supply chains have been hit by the pandemic.

    Upton is keen to steer enthusiasts to the Raspberry Pi Pico / RP2040 and backs this up by stating that he wants the Pico to be a product that never runs out and says that he has gone as far as to strategically purchase “millions of units” of the many other components that make up the board (buck / boost converter, Wi-Fi etc). These bulk purchases mean that it is virtually impossible for the Raspberry Pi Pico to go out of stock.

    Reply
  3. Tomi Engdahl says:

    Altmode Friend Easily Adds USB-C PD to Any Project
    RP2040-powered building block for managing Power Delivery.
    https://www.hackster.io/news/altmode-friend-easily-adds-usb-c-pd-to-any-project-655476db4a5d

    For end users, the USB’s Power Delivery (PD) specification means a single power supply can efficiently power small or large devices. This flexibility is because the spec enables a power supply (source) and device (sink) to communicate their capabilities and requirements to negotiate the best option for delivering power. Unfortunately, incorporating PD into a project is more complex than a couple of resistors, like with previous generations of USB. Thankfully, drop-in modules like the Altmode Friend add USB PD to any project.

    https://www.tindie.com/products/crimier/altmode-friend-a-module-for-your-usb-c-pd-needs/

    Reply
  4. Tomi Engdahl says:

    A Heavy Overclock Pushes PAL-Standard Video From a Raspberry Pi RP2040′s PIO Blocks
    With a minimum of additional components and a hevty overclock to 312MHz, this project offers color imagery on a PAL-standard TV.
    https://www.hackster.io/news/a-heavy-overclock-pushes-pal-standard-video-from-a-raspberry-pi-rp2040-s-pio-blocks-ce895afd0d48

    Reply
  5. Tomi Engdahl says:

    A Disposable Dumper For ROM Chips With A Pi Pico
    https://hackaday.com/2023/02/02/a-disposable-dumper-for-rom-chips-with-a-pi-pico/

    ROM dumping is vital for preserving old hardware, and we’ve seen many hacks dedicated to letting someone dump a ROM and send its contents to some hacker stuck with a piece of technology that lost its firmware. However, that requires ROM dumping tools of some kind, and it’s often that the lucky ROM-equipped hacker doesn’t own such tools. Now, you could mail the chip to someone else, but postal services in many countries are known to be UDP-like — lossy and without delivery guarantees. The risk of leaving both hackers without a ROM chip is quite real, so, instead of mailing ROM chips or expensive devices around, [Amen] proposes a cheap and disposable flash dumping tool that you could mail instead.

    https://trochilidae.blogspot.com/2023/01/getting-rom-dumps-by-post.html

    Reply
  6. Tomi Engdahl says:

    Best Raspberry Pi Pico Accessories and Add-Ons 2023
    By Les Pounder published January 03, 2023
    Make the most of your Raspberry Pi Pico with these boards and kits.
    https://www.tomshardware.com/best-picks/best-raspberry-pi-pico-accessories

    Reply
  7. Tomi Engdahl says:

    How To Make a DIY Mouse Jiggler with Raspberry Pi Pico
    By Les Pounder published 8 days ago
    Keep your PC from showing you as inactive when you take a break.
    https://www.tomshardware.com/how-to/diy-mouse-jiggler-raspberry-pi-pico

    Reply
  8. Tomi Engdahl says:

    Simple MP3 Audio Playback With Raspberry Pi Pico
    https://embeddedcomputing.com/technology/processing/interface-io/simple-mp3-audio-playback-with-raspberry-pi-pico

    The RP2040, with a processing speed of 133 MHz, is capable of decoding MP3 files, and the Pico RP2040 dev board includes 2 MB of Flash–enough to store a significant amount of compressed audio. At a list price of $4, the Pico therefore makes an incredible and cost-effective platform for embedded audio playback.

    Reply
  9. Tomi Engdahl says:

    Capture Screenshots on Old Test Equipment with This Parallel Port Hack
    Using few components and a Raspberry Pi Pico, parallel printer port output data is captured.
    https://www.hackster.io/news/capture-screenshots-on-old-test-equipment-with-this-parallel-port-hack-939629b2b1b4

    The parallel printing port was the “USB port” of early computing devices. It used a handful of control signals and eight data paths to send information in parallel across cables. To hack this port, three key components are required. This includes a DB-25 connector to connect to the instrument of interest, a USB connection to send the data out to a PC, and a microcontroller to handle the data capturing and handling. For the microcontroller, a Raspberry Pi Pico was chosen due to its availability, low cost, and ease of use. In addition, a level shifter also had to be included to interface the 5.0V parallel port voltage levels to the Pico’s lower 3.3V tolerant GPIO pins.

    Python code has been written to assist with the data capturing events. Although it is possible to capture the raw data using the device alone, the Python code offers a more simple means of doing this by automatically splitting print captures into different files and providing feedback on the data being received.

    Overall, not many solutions exists for a convenient means to capture screenshots on old test equipment. Currently there are some devices that exist such as the Retro Printer Raspberry Pi HAT. However, this device costs over $100 and the Raspberry Pi that is also needed for it may not even be available in today’s market.

    Reply
  10. Tomi Engdahl says:

    CircuitPython 8.0.0 Launches with a New Wireless Workflow, Raspberry Pi Pico W Support
    https://www.hackster.io/news/circuitpython-8-0-0-launches-with-a-new-wireless-workflow-raspberry-pi-pico-w-support-14f036b000e8

    The new release brings with it a warning of potential data loss for beta users, though, so proceed carefully before upgrading.

    Reply
  11. Tomi Engdahl says:

    Raspberry Pi Pico W Bluetooth Support Is Just Around the Corner, for Both C/C++ and MicroPython
    Six months after launching with Wi-Fi, the Raspberry Pi Pico is set to gain Bluetooth connectivity in the 1.5.0 SDK update.
    https://www.hackster.io/news/raspberry-pi-pico-w-bluetooth-support-is-just-around-the-corner-for-both-c-c-and-micropython-592c42d1170a

    Reply
  12. Tomi Engdahl says:

    Built around the RP2040 microcontroller with the Picoprobe firmware, Raspberry Pi’s compact board offers USB to SWD and UART for Arm target debugging.

    The New Raspberry Pi Debug Probe Offers RP2040-Powered SWD and UART Handling for Just $12
    https://www.hackster.io/news/the-new-raspberry-pi-debug-probe-offers-rp2040-powered-swd-and-uart-handling-for-just-12-5aaaaf42fe5a

    Built around the RP2040 microcontroller with the Picoprobe firmware, this compact board offers USB to SWD and UART for Arm target debugging.

    Raspberry Pi has launched a surprise new entry in its RP2040 microcontroller board range, taking aim at those who need to work with Serial Wire Debug (SWD) on the RP2040 or other Arm-based devices: the $12 Raspberry Pi Debug Probe.

    “Ever since we launched Raspberry Pi Pico, and our RP2040 microcontroller, in January 2021, people have been using one Pico to debug programs running on another,” Raspberry Pi co-founder Eben Upton explains. “Inspired by this trend, today we’re launching the Raspberry Pi Debug Probe, a complete debug hardware solution for Arm-based microcontrollers, powered by RP2040, and priced at just $12.”

    According to Raspberry Pi, the board is primarily designed for use with the Raspberry Pi Pico and newer Raspberry Pi Pico W — but is compatible with any Arm-based microcontroller which supports Serial Wide Debug and operates with 3.3V logic.

    “The Raspberry Pi Debug Probe exposes the SWD signals on a three-pin JST connector, conforming to the Raspberry Pi Debug Connector Specification,” Upton says. “We provide adapter cables to connect without soldering to breadboard, and to the debug connector on Raspberry Pi Pico H and WH. The Raspberry Pi Debug Probe [also] functions as a USB serial adapter, over the same USB connection as the SWD bridge. It exposes the UART signals on a second three-pin JST connector, again conforming to the Raspberry Pi Debug Connector Specification.”

    https://www.raspberrypi.com/products/debug-probe/

    Reply
  13. Tomi Engdahl says:

    Raspberry Pi Release $12 Plug-and-Play Pico Powered Debug Kit
    By Les Pounder published 1 day ago
    We’re going on a bug hunt
    https://www.tomshardware.com/news/raspberry-pi-release-dollar12-plug-and-play-pico-powered-debug-kit

    Reply
  14. Tomi Engdahl says:

    Powered by a Raspberry Pi Pico, this battery tester uses a solid-state relay to shunt current through the user’s choice of resistors.

    This CircuitPython Battery Tester Works From Big Car Batteries Down to Teeny-Tiny Coin Cells
    https://www.hackster.io/news/this-circuitpython-battery-tester-works-from-big-car-batteries-down-to-teeny-tiny-coin-cells-86932ee5aaf5

    Powered by a Raspberry Pi Pico, this battery tester uses a solid-state relay to shunt current through the user’s choice of resistors.

    Semi-pseudonymous maker “carsonauto,” hereafter simply “Carson,” has put together a universal battery tester which uses a constant current discharge system to measure the capacity of anything from car and boat batteries down to hearing-aid cells — driven by a Raspberry Pi Pico.

    Reply
  15. Tomi Engdahl says:

    $4 Logic Analyzer Based on Raspberry Pi Pico
    https://www.eejournal.com/article/4-logic-analyzer-based-on-raspberry-pi-pico/

    Here’s a truly inspired project. Dr. Agustín Gimenez Bernad, a Senior Developer in ServiZurich S.A. in Spain, has created one of the most brilliant hacks I’ve seen yet. He’s built a 24-bit logic analyzer that samples at 100 Msamples/sec and stores 32K samples from nothing more than a $4 Raspberry Pi Pico board and some clever code. There’s a lot to learn from this project, which is posted with some very fine documentation on GitHub, but if you just need a $4 logic analyzer, there’s still a lot to be admired.

    The Raspberry Pi Pico is based on a custom microcontroller, the RP2040, which incorporates a dual-core Arm Cortex-M0+ processor running at a maximum clock rate of 133 MHz. Given those two Arm Cortex-M0+ processors and that clock rate, there’s no way to implement a 100Msamples/sec logic analyzer with trigger logic in software on that kind of system. Instead, Dr. Bernad harnessed the power of the two PIO (programmable I/O) engines designed into the device.

    Each PIO engine contains four software-controlled state machines that share a 32-entry instruction memory. The PIOs recognize just nine different instructions,and each instruction executes in one cycle.

    Even these PIO state machines are not capable of sampling at 100 Msamples/sec with trigger conditions, but gang all eight together with some imaginative hackery, and you have a logic analyzer.

    The analyzer has three trigger types: edge, fast pattern, and complex pattern. The edge trigger program requires just two instructions and runs on just one of the Raspberry Pi Pico’s eight state machines, which allows eight such triggers to run in parallel at the full 100Msps sampling rate. The complex trigger requires the use of two state machines and runs more slowly. The fast trigger overcomes the limitations of the PIO units with a “clever hack” (documented on GitHub) and can run at 100Msamples/sec across as many as five channels.

    Reply
  16. Tomi Engdahl says:

    Let Machine Learning Code An Infinite Variety Of Pong Games
    https://hackaday.com/2023/02/21/let-machine-learning-code-an-infinite-variety-of-pong-games/

    In a very real way, Pong started the video game revolution. You wouldn’t have thought so at the time, with its simple gameplay, rudimentary controls, some very low-end sounds, and a cannibalized TV for a display, but the legendarily stuffed coinboxes tell the tale. Fast forward 50 years or so, and Pong has been largely reduced to a programmer’s exercise to see how few lines of code can stand in for what [Ted Dabney] and [Allan Alcorn] accomplished. But now even that’s too much, as OpenAI Codex can generate a playable Pong from just a few prompts, at least most of the time.

    Infinite pong games with Raspberry Pi Pico-W
    Use PicoW for connect to OpenAI Codex and generate a new game each
    https://hackaday.io/project/188096-infinite-pong-games-with-raspberry-pi-pico-w

    In this project I will explore the possibilities of the OpenAI API to generate code on the fly, without any human intervention.

    Reply
  17. Tomi Engdahl says:

    Debugging Raspberry Pi Pico C & C++
    Using Visual Studio Code
    https://www.okdo.com/project/debugging-raspberry-pi-pico-c-c/?ok_ts=1677755618380

    Debugging Raspberry Pi Pico is vital as programs become longer and more complicated, bugs are more likely to be introduced into the code and sometimes they can be quite difficult to track down. Using a debugger will not only help you find the bugs but will also give you a much better understanding of how your code works. This technique also flashes code to the Pico without having to reconnect the USB cable.

    Specialised hardware debuggers are available but for debugging the Pico everything you need is built into the Raspberry Pi 4 Model B or Raspberry Pi 400 when used with the OpenOCD debug translator and Visual Studio Code.

    1. Serial wire debugging

    Raspberry Pi Pico has a special Serial Wire Debug (SWD) connector marked DEBUG on the end of the board, which is used to connect to an external debugger or to the Raspberry Pi GPIO connector.

    Make sure the Raspberry Pi is powered down and the power supply removed before making any connections, then check them carefully before powering on.

    Reply
  18. Tomi Engdahl says:

    How to Program Raspberry Pi Pico with Visual Studio Code?
    https://www.mathaelectronics.com/how-to-program-raspberry-pi-pico-with-visual-studio-code/

    This guide will teach you how to use Visual Studio Code to program the Raspberry Pi Pico. An excellent IDE for software development is Visual Studio Code, also known as VS Code. We’ll demonstrate how to install Visual Studio Code on the Raspberry Pi (the host computer), and in a subsequent article, we’ll demonstrate how to do the same for a Windows system (including installation of all the other necessary tools).

    nstalling Visual Studio Code in Raspberry Pi

    IMPORTANT NOTE: I strongly advise you to finish the preceding instructions on the Raspberry Pi Pico before installing Visual Studio Code on your Raspberry Pi host computer. Certainly the instructions for “Programming Raspberry Pi Pico with C” and “Program and Debug Raspberry Pi Pico with SWD.”

    All of the actions that come after presume that you’ve already installed the required toolchains as described in the earlier lessons.

    Open your Raspberry Pi’s browser and navigate to the official VS Code download page first. Download the VS Code ARM.deb package from Linux Downloads by swiping down from the top of the page (64-bit or 32-bit depending on your Raspberry Pi OS).

    Reply
  19. Tomi Engdahl says:

    Making Ghidra Play Nice With RP2040
    https://hackaday.com/2023/03/01/making-ghidra-play-nice-with-rp2040/

    Developing firmware for RP2040 is undeniably fun, what’s with all these PIOs. However, sometimes you will want to switch it around and reverse-engineer some RP2040 firmware instead. If you’ve ever tried using Ghidra for that, your experience might have been seriously lackluster due to the decompiled output not making sense when it comes to addresses – thankfully, [Wejn] has now released patches for Ghidra’s companion, SVD-Loader, that turn it all around, and there’s a blog post to go with these.

    SVD-Loader, while an indispensable tool for ARM work, didn’t work at all with the RP2040 due to a bug – fixed foremost. Then, [Wejn] turned to a pecularity of the RP2040 – Atomic Register Access, that changes addressing in a way where the usual decompile flow will result in nonsense addresses. Having brought a ton of memory map data into the equation, [Wejn] rewrote the decoding and got it to a point where peripheral accesses now map to nicely readable register writes in decompiled code – an entirely different picture!

    You can already apply the patches yourself if you desire.

    Making SVD-Loader for Ghidra play nice with RP2040
    https://wejn.org/2023/02/making-ghidra-svd-loader-play-nice-with-rp2040/

    Reply
  20. Tomi Engdahl says:

    This Crafty Raspberry Pi Pico Hack Adds Four New GPIO Pins
    https://www.reviewgeek.com/123814/this-crafty-raspberry-pi-pico-hack-adds-four-new-gpio-pins/

    Do you need more GPIO for your Pi Pico project? A creative keyboard maker named HealthyCabinet found a way to unlock up to four new GPIO pins on the Raspberry Pi Pico or Pi Pico W. It requires a bit of soldering work, but nonetheless, it’s a surprisingly simple modification.

    Reply

Leave a Comment

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

*

*