Interesting new micro-controller board and custom chip from Raspberry Pi: Raspberry Pi Pico.
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
Tomi Engdahl says:
Adafruit Shows Off Upcoming CAN Bus, USB Host RP2040-Powered Development Boards
RP2040′s second core and PIO press-ganged into bit-banged USB duties, while a single-chip CAN bus controller extends its capabilities.
https://www.hackster.io/news/adafruit-shows-off-upcoming-can-bus-usb-host-rp2040-powered-development-boards-ac5b6760d044
Tomi Engdahl says:
Cornell Updates Their MCU Course For The RP2040
https://hackaday.com/2023/03/10/cornell-updates-their-mcu-course-for-the-rp2040/
The School of Electrical and Computer Engineering at Cornell University has made [Bruce Land]’s lectures and materials for the Designing with Microcontrollers (ECE 4760) course available for many years. But recently [Bruce], who semi-retired in 2020, and the new lecturer [Hunter Adams] have reworked the course and labs to use the Raspberry Pi Pico. You can see the introductory lecture of the reworked class below.
Not only are the videos available online, but the class’s GitHub repository hosts extensive and well-documented examples, lecture notes, and helpful links. If you want to get started with RP2040 programming, or just want to dig deeper into a particular technique, this is a great place to start.
https://ece4760.github.io/
Tomi Engdahl says:
Pi Pico Power Meter
https://hackaday.io/project/189359-pi-pico-power-meter
For my electronic developments I need more than one multimeter to get the power. Here it is!
Based on Raspberry RP2040 controller and the INA219 current sensor it is possible to get very precise measurements of current flowing through a shunt resistor. Additionally it is possible to measure the system voltage and get the calculated power.
Everything is shown on a 0.96″ OLED display.
I will use it as a power meter for my power electronic development. With two of them I could use it to calculate the efficiency.
Tomi Engdahl says:
https://hackaday.com/2023/03/15/a-smart-home-that-can-do-it-all/
Tomi Engdahl says:
PicoHome (WIP)
https://github.com/racerxdl/picohome
Raspberry Pi Pico Home Automation using CAN Bus
Tomi Engdahl says:
https://hackaday.com/2023/03/17/fish-tank-dosing-pump-built-using-pi-pico/
Tomi Engdahl says:
Per-Simon Saal’s PiPicoPowerMeter Turns a Raspberry Pi RP2040 Into a Power Measurement Powerhouse
https://www.hackster.io/news/per-simon-saal-s-pipicopowermeter-turns-a-raspberry-pi-rp2040-into-a-power-measurement-powerhouse-8b1c5fed521e
Offering voltage, current, and power measurements up to 26V, the PiPicoPowerMeter is a compact alternative to multimeter juggling.
Tomi Engdahl says:
https://www.raspberrypi.com/news/rp2040-smart-event-badges-for-hacker-hotel/
Tomi Engdahl says:
https://www.cnx-software.com/2022/12/28/banana-pi-bpi-pico-rp2040-raspberry-pi-pico-replica-gets-usb-c-port-i2c-connector-and-rgb-led/
Tomi Engdahl says:
Pimoroni’s Raspberry Pi Pico W-Powered Cosmic Unicorn Packs Over 1,000 RGB LEDs
Chunky but funky 32×32 RGB LED matrix gets driven by MicroPython on a Raspberry Pi Pico W — and there’s even early Bluetooth support.
https://www.hackster.io/news/pimoroni-s-raspberry-pi-pico-w-powered-cosmic-unicorn-packs-over-1-000-rgb-leds-85b53da1f56a
Tomi Engdahl says:
RP2040 Runs Linux Through RISC-V Emulation
https://hackaday.com/2023/03/19/rp2040-runs-linux-through-risc-v-emulation/
We’re used to running Linux on CPUs where it belongs, and the consensus is that RP2040 just isn’t up for the task – no memory controller, and nowhere near enough RAM, to boot. At least, that’s what you might believe until you see [tvlad1234]’s Linux-on-RP2040 project, reminding us there’s more than one way to boot Linux on a CPU like this! Just like with the “Linux on AVR” project in 2012 that emulated an ARM processor, the pico-rv32ima project emulates a RISC-V core – keeping up with the times.
https://github.com/tvlad1234/pico-rv32ima
Tomi Engdahl says:
https://mcuoneclipse.com/2023/03/19/ble-with-wifi-and-freertos-on-raspberry-pi-pico-w/
Tomi Engdahl says:
Bitbanged DVI on the RP2040 Microcontroller
https://github.com/Wren6991/picodvi
RP2040 was designed to run at 133 MHz, but we found (without too much surprise) that typical silicon can be pushed further. In fact, there was overlap between the maximum system clock, and the TMDS bit clocks of slower DVI video modes. We had done great stuff with VGA on the FPGA platform, which ran at 48 MHz, but wouldn’t it be absurd and wonderful to connect your microcontroller straight to an HD TV with no other electronics in between? This seemed unlikely to work out, but I stayed up at night playing around with assembly loops, and I could not convince myself that DVI was out of reach. Everything seemed to fit:
With some of the core-local hardware on RP2040, and a neat encoding trick, I could do pixel-doubled TMDS encode on-the-fly using around 60% of an M0+ (running at 252 MHz, for 640x480p 60 Hz DVI)
PIO can yeet out data streams at system clock frequency, and drive a 1/10th rate clock on the side, with pretty minimal programming
Some of the DMA features are help with putting together the sync/blanking patterns on the fly, rather than having the patterns flat in memory
With the second processor utterly unencumbered, you can render some pretty graphics to put on your DVI display. There is even enough RAM for a QVGA framebuffer!
The greatest unknown was driving 252 Mbps serial through the general-purpose digital pads (especially differential serial, emulated with two single-ended pads). By this point I was utterly driven and consumed by the need to find out if DVI could work, so I laid out a board over a few evenings after work.
Although it passes the eye mask and a few other tests, this circuit is not fully compliant with the DVI spec. In particular, our logic 1 is not quite right, due to the CMOS drive on the GPIOs: any more than a ~60 mV mismatch between the Source and Sink +3V3 rails will push our high-level offset outside of the +- 10 mV allowed by the spec. This is a real nitpick, because a differential receiver is unlikely to care about a 10 mV commmon mode offset, but still — it is out of spec. A better circuit could use a fast Si diode and a smaller resistor value, e.g. 220 ohm, so that the emulated CML output floats on the sink’s +3V3 supply when we output our 3V3 CMOS high level, but still sinks the requisite 10 mA when driving low.
That said, it’s compliant enough that I can wander around the office and plug it into every monitor I see, and not even one of them explodes (if my manager is reading this — hi).
Encoding TMDS
DVI uses an encoding scheme called TMDS during the video periods. 8 data bits are represented by a 10 bit TMDS symbol, which is serialised at 10x the pixel clock. 3 lanes transfer 24 bits of data per pixel clock, which for our purposes is one pixel. TMDS is DC-balanced, although DVI as a whole is not DC-balanced on all lanes, due to the control symbol encoding. The algorithm given in the DVI spec is quite fussy, and you are supposed to match its output exactly. It tracks running disparity with a counter, and optionally inverts symbols to bound the disparity, with some tie-break rules for 0-balance symbols.
Key fact about TMDS: if the current running disparity is 0, and you encode data x followed by data x ^ 0×01, this produces a pair of TMDS symbols with 0 net parity. If you manipulate the input data in this way — duplicating the pixels, and twiddling the LSB — TMDS becomes stateless, because the running disparity is defined to be 0 at the start of each video period, and returns to 0 after each duplicated pixel pair.
If we have a half-resolution scanline buffer, and are only interested in 7 or fewer bits of significance for each colour channel, we can encode this with a lookup table, where each entry is two TMDS symbols with net balance 0. The toggling of the LSB with each output pixel is not noticeable.
We must output a pixel once per 10 system clock cycles (as the system runs at the TMDS bit clock), and since we are doubling pixels horizontally we may as well double vertically too, by using each encoded buffer twice. Taking horizontal blanking into account (1:4 ratio at VGA), we would spend 1.2 of our two cores on TMDS encode, and have 0.8 cores left to generate DVI timing and render graphics.
Tomi Engdahl says:
Raspberry Pi Pico Video Output
https://picockpit.com/raspberry-pi/raspberry-pi-pico-video-output/
The Raspberry Pi Pico is an incredible little microcontroller. While it does not have a video output interface built-in, like it’s bigger Raspberry Pi Zero / 1 / 2 / 3 / 4 / 400 brethren (HDMI / double HDMI in their case), it is possible to add a video output to the Pico! (As VGA or DVI over an HDMI connector, read on for details)
We’ll explain why a video out is a very special feature for microcontrollers, and what types of video out you can build or purchase for your Pico. We’ll also show you some sample code – already precompiled for you, so you can download it, and talk about what you need to modify to make it run.
Making VGA output work on the Pico
This means that the Pico, with it’s 3.3V digital output has high enough voltages to be able to drive these RGB pins into the VGA cable (which expects voltages of 0 – 0.7V). We actually need to reduce the voltage by using resistors.
We can buld a simple DAC (digital analog converter) by combining several resistors and GPIO pins. Depending on the combination of GPIO pins which are active at any given moment, we have different voltage levels (= brightnesses):
Since we’re working on the Pico, there are no “graphics drivers” we can simply install. We need to write the code ourselves … or not
Luckily, the people who designed the hardware board for us already supply some code we can use, so that we’re able to focus on our project.
Example code you can use can be found in the pico-playground Repository:
https://github.com/raspberrypi/pico-playground
In this repository, there is a simple movie player called popcorn (which plays movies in a custom format). A big buck bunny, 1.6 GB in size can be downloaded here. Note that these are raw disk images to be written to an SD card – this example assumes you have the VGA demo board, which has an SD slot. Instructions for converting movies are also given.
The code uses the pico_scanvideo library (pico/scanvideo.h) from the pico_extras repository. Also have a look at that repository for audio sample code!
pico_scanvideo – includes extensive documentation!
The API outputs parallel RGB data and sync signal on pins for DPI VGA (using resistor DACs, as described above).
Tomi Engdahl says:
Adafruit Launches New CAN Bus Boards and a Neat Feather RP2040 with HDMI-Compatible Video Port
https://www.hackster.io/news/adafruit-launches-new-can-bus-boards-and-a-neat-feather-rp2040-with-hdmi-compatible-video-port-c9542fb8e856
If you’re working with automotive or robotics the CAN bus boards could be for you, while the new Feather offers low-cost digital video.
Adafruit has launched a trio of new boards, including two aimed at those working on automotive or other CAN bus projects and one which gives you an easy way to hook a Raspberry Pi RP2040 microcontroller up to an HDMI display.
Adafruit’s final new board, which at the time of writing was still listed as “coming soon,” is the Adafruit Feather RP2040 with DVI Output Port. Mashing together the company’s existing Feather RP2040 and DVI Breakout Board designs, the new Feather offers a single-board solution to getting a Raspberry Pi RP2040 controller talking to HDMI displays — using the sneaky workaround of sending DVI signals over an HDMI cable to avoid having to pay a fee to license the HDMI standard.
“In Arduino, which is what we recommend, we use our fork of [Luke Wren's] PicoDVI to create an internal framebuffer of 320×240 or 400×240 16-bit pixels that is then continuously blitted out as pixel-doubled 640×480 or 800×480 digital video. Note that the DVI video generation uses one full core, both PIOs [Programmable Input/Output blocks], and 150k[B] (320×240) or 190k (400×240) of SRAM. It’s kinda maxed out so be aware of the remaining resource limitations.”
https://www.adafruit.com/product/5710
Tomi Engdahl says:
https://liliputing.com/lilbits-a-raspberry-pi-rp2040-powered-game-console-on-a-stick-and-a-single-board-pc-with-nvme-support-and-2-ethernet-ports/
Tomi Engdahl says:
Could 1080p Video Output From The RP2040 Be Possible?
https://hackaday.com/2023/03/31/could-1080p-video-output-from-the-rp2040-be-possible/
Modern microcontrollers often have specs comparable with or exceeding early gaming consoles. However, where they tend to fall short is in the video department, due to their lack of dedicated graphics hardware. With some nifty coding, though, great things can be achieved — as demonstrated by [TEC_IST]’s project that gets the RP2040 outputting 1080p video over HDMI.
The project builds on earlier work that saw the RP2040 outputting digital video over DVI. [TEC_IST] realized that earlier methods already used up 30% of the chip’s processing power just to reach 320×240 output. To get to 1080p resolution would require a different tack.
RP2040 1080p HDMI
https://hackaday.io/project/190161-rp2040-1080p-hdmi
Custom RP2040 board using SDRAM ‘frame buffer’ and HDMI encoder; optional Ethernet, i2s audio, mic, speaker
[TEC_IST] has shared the design for a potential 1080p HDMI output board for the RP2040 on GitHub and is inviting comment from the broader community. They’re yet to be built and tested, so it’s all theoretical at this stage.
https://github.com/TEC-IST/rp2040-hdmi-1080p-hardware
Bitbanged DVI On A Raspberry Pi RP2040 Microcontroller
https://hackaday.com/2021/02/12/bitbanged-dvi-on-a-raspberry-pi-rp2040-microcontroller/
Tomi Engdahl says:
Adafruit’s PiCowbell Adalogger Turns a Raspberry Pi Pico or Pico W Into a Compact Datalogger
With a battery-backed real-time clock and microSD storage, this compact board has everything you need for easy data logging.
https://www.hackster.io/news/adafruit-s-picowbell-adalogger-turns-a-raspberry-pi-pico-or-pico-w-into-a-compact-datalogger-a59654f13ce5
Tomi Engdahl says:
WeAct RP2040 board adds 16MB flash, USB-C port to Raspberry Pi Pico form factor
If the Raspberry Pi Pico’s 2MB of QSPI flash is not quite sufficient for your needs, and you’d not quite a fan of micro USB ports, the WeAct RP2040 “clone” comes with up to 16MB flash and a USB Type-C port for power and programming.
https://www.cnx-software.com/2022/07/13/weact-rp2040-board-adds-16mb-flash-usb-c-port-to-raspberry-pi-pico-form-factor/
Tomi Engdahl says:
RP2040 And 5V Logic – Best Friends? This FX9000P Confirms!
https://hackaday.com/2023/04/05/rp2040-and-5v-logic-best-friends-this-fx9000p-confirms/
Over the years, we’ve seen some modern microcontrollers turn out to be 5V-tolerant – now, RP2040 joins the crowd. Half a year ago, when we covered an ISA card based on a Pi Pico, [Eben Upton] left a comment saying that RP2040 is, technically, 5V tolerant for GPIO input purposes. The datasheets don’t state this because the reality of 5V tolerance isn’t the same as for natively 5V-tolerant chips – for instance, it doesn’t extend all the way to 5.5V for it to be ‘legally’ 5V-tolerant, as in, what 5V tolerance typically means when mentioned in a datasheet.
Having read that comment, [Andrew Menadue] has set out to test-drive the RP2040 GPIO capabilities, in a perfectly suited real-world scenario.
Is the Raspberry Pi Pico 5V Tolerant?
https://www.youtube.com/watch?v=rD_nQ9pwTb4
Tomi Engdahl says:
Re: RP2040 GPIO 5V Tolerance
https://forums.raspberrypi.com/viewtopic.php?p=2092122#p2091977
Mon Mar 20, 2023 1:42 pm
Okay here goes.
I would recommend designing to the datasheet as this is what is what the parts are tested to.
If you want to go beyond the datasheet you are on your own. The IOPADs are designed to wider range ( but as I said they haven’t been qualified )
GPIO pins which are shared with the ADC should always be design to the datasheet as there is an internal ESD diode to IOVDD.
GPIO pins that aren’t shared with the ADC don’t have an ESD diode to IOVDD, but a different ESD structure. Series resistors don’t help to protect the RP2040 as it is voltage that typically overstress the internal transistors as opposed to current.
GPIO pins that aren’t shared with the ADC can accept a maximum of 3.6v without IOVDD being powered.
GPIO pins that aren’t shared with the ADC and have IOVDD at 3.3v can accept a maximum of 5v ( not 5v tolerant as this typically means up to 5.5v)
Remember during powerup in typical designs 3.3v usually comes up after a 5v rail so applying 5v to a GPIO will endup over stressing the RP2040 during powerup.
If you exceed the one of the specifications the internals may not fail immediately, but over time if the silicon is stressed it may fail. Remember noise and overshoots can all add to stressing the silicon.
I would recommend designing to the datasheet as this is what is what the parts are tested to.
Tomi Engdahl says:
GPIO pins that aren’t shared with the ADC and have IOVDD at 3.3v can accept a maximum of 5v ( not 5v tolerant as this typically means up to 5.5v)
Tomi Engdahl says:
Derek Woodroffe’s PicoCray Turns Raspberry Pi Pico Boards Into a Distributed Supercomputer of Sorts
Using I2C as a backhaul, PicoCray lets multiple RP2040 processors work on a single task — though performance gains have yet to be proven.
https://www.hackster.io/news/derek-woodroffe-s-picocray-turns-raspberry-pi-pico-boards-into-a-distributed-supercomputer-of-sorts-8f13bc3b97be
Tomi Engdahl says:
Raspberry Pi RP2040 development board doubles as a magnetic rotary encoder
PICO DEV M3 is a round-shaped development board based on a Raspberry Pi RP2040 dual-core microcontroller and serves as a magnetic rotary encoder with a few 3D printed parts.
https://www.cnx-software.com/2022/11/28/raspberry-pi-rp2040-board-magnetic-rotary-encoder/
Tomi Engdahl says:
“Peter “Bobricius” Misenko Shows Off the PyPrCa, an RP2040-Powered Python Programmable Calculator”
Peter “Bobricius” Misenko Shows Off the PyPrCa, an RP2040-Powered Python Programmable Calculator
https://www.hackster.io/news/peter-bobricius-misenko-shows-off-the-pyprca-an-rp2040-powered-python-programmable-calculator-f80b0174bd2d
This little gadget hides a few tricks up its sleeve, from retro computer emulation to LoRa-powered private messaging.
Engineer Peter “Bobricius” Misenko has designed another portable computer powered by the Raspberry Pi Pico and its RP2040 microcontroller — and despite being dubbed the PyPrCa, for Python Programmable Calculator, its skills extend well beyond simple mathematical solutions.
“My new build [is a] universal programmable pocket handheld computer in [a] pocket calculator style,” Misenko explains of his design. “There is [a] numerical block for better native enter[ing of] numbers and [a] QWERTY block for writ[ing] programs. Instead of searching [for] 2nd, 3th colorful symbols on [a] chaotic ABCD keyboard you can type SIN,COS etc. on [the] well-known QWERTY keyboard.”
Tomi Engdahl says:
Mechanical keyboard enthusiast Joe Scotto is back with another design, the ScottoErgo — an impressively futuristic-looking layout that includes a robust aviation connector in place of a traditional USB port.
Joe Scotto’s ScottoErgo Is an Impressive Open-Hardware Keyboard Build with a Robust Connector
https://www.hackster.io/news/joe-scotto-s-scottoergo-is-an-impressive-open-hardware-keyboard-build-with-a-robust-connector-0433acb88b2d
“I ripped it off,” Scotto explains of the missing micro-USB port on the keyboard’s Raspberry Pi Pico controller, in favor of something else.
Tomi Engdahl says:
Pi Microcontroller Still Runs A Webserver
https://hackaday.com/2023/04/07/pi-microcontroller-still-runs-a-webserver/
At first glance, the Raspberry Pi Pico might seem like a bit of a black sheep when compared to the other offerings from the Raspberry Pi Foundation. While most of the rest of their lineup can run Linux environments with full desktops, the Pico is largely limited to microcontroller duties in exchange for much smaller price tags and footprints. But that doesn’t mean it can’t be coerced into doing some of the things we might want a mainline Pi to do, like run a web server.
The project can run a static web page simply by providing the Pico with the project code available on the GitHub page and the HTML that you’d like the Pico to serve. It can be more than a static web page though, as it is also capable of running Python commands through the web interface as well. The server can pass commands from the web server and back as well, allowing for control of various projects though a browser interface. In theory this could be much simpler than building a physical user interface for a project instead by offloading all of this control onto the web server instead.
Pico Web Server: Control Your Raspberry Pi Pico Projects from Any Device
https://gurgleapps.com/learn/projects/micropython-web-server-control-raspberry-pi-pico-projects
Raspberry Pi Pico Web Server Control
https://github.com/gurgleapps/pico-web-server-control
This repository contains code to control Raspberry Pi Pico, ESP8266, ESP32 or other MicroPython projects using a browser-based user interface. It allows you to interact with your Pico projects remotely from any device with a web browser, including smartphones, tablets, and computers.
The latest features include improved memory usage, support for additional microcontrollers like ESP8266, and convenient options such as blinking the IP address using the built-in LED and displaying a file list for the root directory.
Tomi Engdahl says:
https://hackaday.com/2023/04/09/parallel-computing-on-the-picocray-rp2040-cluster/
Tomi Engdahl says:
https://hackaday.io/project/190181-the-phone-friend
Tomi Engdahl says:
Advanced Dial-Home Device
A rotary dial and Nixie display user interface for a home automation system. Powered by RPi Pico W and MQTT.
https://hackaday.io/project/188537-advanced-dial-home-device
Tomi Engdahl says:
$5 Raspberry Pi Pico Clone with USB-C, MicroSD, 8MB of Flash, and More!
https://www.youtube.com/watch?v=ma40w3_8dtg
The Marble Pico is a $5 Raspberry Pi Pico clone. It is compatible with the Pi Pico, but comes with some upgrades including USB-C, built-in MicroSD card reader, 8MB of Flash, LiPo battery charging circuit, and a separate 3.3V stabilizer for the ADC resulting in more accurate, noise-free conversions.
Tomi Engdahl says:
RPi Volume Controller
RP2040 and CircuitPython powered volume controller
https://hackaday.io/project/187936-rpi-volume-controller
An RP2040 microcontroller running a script which allows for analog input from a potentiometer to control volume as well as capacitive pin registering which allows for a touch based mute option. The circuit was soldered together and exposed wire was insulated with electrical tape. The internals are housed in an all metal construction casing for increased ruggedness and an industrial look. Volume is controlled by rotating the gear and touch based mute/unmute functionality is accomplished through the middle washer.
Tomi Engdahl says:
Soil moisture measurement device
Control (visual and IoT) of soil moisture or air humidity w/ Raspberry Pi Pico
https://hackaday.io/project/178522-soil-moisture-measurement-device
Tomi Engdahl says:
Designed for projects where a 48V output won’t cut it, this MicroPython power supply throws out an impressive 300V.
Avery Louie’s RP2040-Based USB-PD Supply Offers a 300V Output for Electrowetting and More
Designed for projects where a 48V output won’t cut it, this MicroPython-based power supply throws out an impressive 300V.
https://www.hackster.io/news/avery-louie-s-rp2040-based-usb-pd-supply-offers-a-300v-output-for-electrowetting-and-more-3bb9dc2528f4
Engineer Avery Louie has built a handy tool for turning a USB Power Delivery (USB-PD) connection into a high-voltage supply for a variety of uses — bumping the output up to 300V via a flyback converter.
“[It's] a USB-PD that nobody wanted or asked for. However, I needed one,” Louie jokes of his project. “When I say high voltage, I don’t mean 20V, I mean around 300V, for high-voltage DC needs like electrophoresis or electrowetting. This is a gratuitous and impractical project, since you can buy an electrophoresis power supply for about $100. However, I wanted to do a more [complicated] design, and I ‘needed’ a test PCB for my hotplate, so I made this.”
“I wanted to use a flyback converter to take advantage of the inherent isolation of the transformer,” Louie explains. “The 300V out is not ground referenced, which makes it a lot safer since you have to touch both wires to get zapped (this will hurt). To maintain isolation, the output voltage cannot be sensed directly (with a conductor). For safety, I added a high value bleeder resistor to the output caps, so they will discharge below the hazardous voltage threshold within a minute or two of disabling the supply.”
The finished board design includes two USB ports and a BNC connector.
https://aylo6061.com/2023/04/26/adjustable-high-voltage-usb-pd-power-supply/
https://github.com/Aylo6061/PDHV
Tomi Engdahl says:
Adafruit Teases RP2040 Circuit Pyrate
Adafruit is exploring an alternative version of the popular Bus Pirate that uses an RP2040
https://www.hackster.io/news/adafruit-teases-rp2040-circuit-pyrate-551cd515e7bd
Communicating with integrated circuits and electronic devices can present a challenge when prototyping or debugging projects and designs. One option is to use a microcontroller to accomplish the communication, however this also requires developing code to interface with the devices. An additional option available is to use a device such as the Bus Pirate. The Bus Pirate enables users to communicate with devices using protocols such as I2C, SPI, JTAG, asynchronous serial, and 2- and 3-Wire libraries. The major benefit the Bus Pirate provides is that only a serial terminal is needed to communicate with the devices. It also has additional benefits of being able to program AVR microcontrollers and being completely open source. The Bus Pirate has been a very popular hacking tool for a while now, unfortunately it has become harder to get (like many other devices) and may not be back in stock anytime soon.
Meet the Circuit Pyrate! Instead of a PIC microcontroller, an RP2040 would be used for communication and interfacing to devices. This introduces the advantage of added memory as well as usage of the RP2040’s programmable IO (PIO).
llDespite the advantages the RP2040 offers, there is still challenges and questions that need to be worked out. First, the original Bus Pirate has an interface that is tolerant of voltages from 0 – 5.5V. The RP2040 natively works at 3.3V and consequently will require some sort of logic level conversion to interface with 5V devices. The current implementation uses a Zener diode and resistor that should let it tolerate 3.3V and 5V devices. But this method has the disadvantages of limiting bandwidth and constantly pulling a small amount of current
Another challenge being faced is matching the pin outputs exactly to the original Bus Pirate. However, as alluded to previously, the RP2040’s PIO should allow for a universal interface to accomplish this task.
Tomi Engdahl says:
The Open-Hardware tinyVision.ai Pico-Ice Combines a Raspberry Pi RP2040 with a Lattice iCE40 FPGA
Designed for projects which need both a microcontroller and an FPGA, this affordable development board packs in the features.
https://www.hackster.io/news/the-open-hardware-tinyvision-ai-pico-ice-combines-a-raspberry-pi-rp2040-with-a-lattice-ice40-fpga-03d68a35e6fc
Tomi Engdahl says:
https://hackaday.com/2023/06/13/bios-post-card-built-using-raspberry-pi-pico/
Tomi Engdahl says:
PICOZX LCD – ZX Spectrum handheld
Almost full size ZX Spectrum but with LCD and other 8bits emulation like C64, Atari 800 thanks to MCUME project
https://hackaday.io/project/191530-picozx-lcd-zx-spectrum-handheld
Tomi Engdahl says:
Raspberry Pi Pico W Now Supports Bluetooth
https://hackaday.com/2023/06/15/raspberry-pi-pico-w-now-supports-bluetooth/
Tomi Engdahl says:
BIOS POST Card Built Using Raspberry Pi Pico
https://hackaday.com/2023/06/13/bios-post-card-built-using-raspberry-pi-pico/
A computer’s BIOS includes basic diagnostic tools for troubleshooting issues. Often, we rely on the familiar beeps from the POST system for this reason. However, error codes are also available via hardware “POST Cards” that were particularly popular in the 1990s. [Mr. Green] has now built a POST card using readily-available modern hardware.
BIOS POST Card with the Raspberry Pi Pico and LPC bus explained. Ep.1
https://www.youtube.com/watch?v=C4Kq1r9A0k0
Tomi Engdahl says:
A Pico-Based ZX Spectrum Emulator
https://hackaday.com/2023/06/21/a-pico-based-zx-spectrum-emulator/
The ZX Spectrum was a popular computer of the 8-bit era. Now, it’s possible to emulate this machine on a microcontroller so cheap that it’s literally been given away on the front cover of magazines. Yes, we’re talking about the Pico ZX Spectrum project.
The project consists of all the necessary code to emulate a ZX Spectrum upon the hardware of the RP2040 microcontroller that makes up the Raspberry Pi Pico. The community has then taken this code and run with it, using it as the basis for all manner of different ZX Spectrum builds. If so desired, you can go barebones and use the Pico to run a ZX Spectrum off a breadboard with HDMI video output. Alternatively, you can build something like the PicoZX from [Bobricius]. The handheld computer features a PCB-based housing, along with an LCD and an integrated keyboard. Other configurations support features like USB keyboards, VGA outputs, and working sound output.
https://github.com/fruit-bat/pico-zxspectrum
Tomi Engdahl says:
A BASIC Interpreter For The Raspberry Pi Pico
https://hackaday.com/2023/06/28/a-basic-interpreter-for-the-raspberry-pi-pico/
Tomi Engdahl says:
Mr. Green’s POST Decoder Uses a Raspberry Pi Pico to Diagnose Boot Errors in x86 Hardware
If listening for beeps isn’t your thing, this low-cost add-on taps into the LPC bus for a visual readout of POST error codes.
https://www.hackster.io/news/mr-green-s-post-decoder-uses-a-raspberry-pi-pico-to-diagnose-boot-errors-in-x86-hardware-90c467f86211
Tomi Engdahl says:
https://elektrolinna.fi/kauppa/raspberry-pi-pico-wireless/
Tomi Engdahl says:
https://hackaday.com/2023/08/12/arbitrary-waveforms-on-the-cheap/
Tomi Engdahl says:
https://pi3g.com/products/dvi-sock-raspberry-pi-pico/
Tomi Engdahl says:
Raspberry Pi Pico, HDMI on a breadboard
https://www.youtube.com/watch?v=GyZS_efRyiY
Tomi Engdahl says:
https://hackaday.io/project/192304-doom-on-the-raspberry-pico-and-lcd-screen
Tomi Engdahl says:
https://www.raspberrypi.com/news/set-sail-in-the-pico-powered-roboat/
Tomi Engdahl says:
https://hackaday.com/2023/08/11/grblhal-cnc-controller-based-on-rp2040-pico/