From the “why didn’t we think of that” department comes [dupontgu’s] pong mouse project. The mouse appears and acts like a normal computer mouse until you click the scroll wheel. When you do, the mouse rapidly moves the cursor on the connected computer to play pong. Obviously, though, the paddles and the ball all look like your cursor, whatever that happens to be. So, how do you tell the score? Well, when a score happens, the cursor shows between the two paddles. In the middle means the game is tied. Otherwise, the player closest to the score indicator is winning. Continue reading “Mouse Doesn’t Play Pong… It IS Pong!”
pi pico53 Articles
Raspberry Has A New Pico, Built With The New RP2350
Raspberry Pi’s first foray into the world of microcontrollers, the RP2040, was a very interesting chip. Its standout features were the programmable input/output units (PIOs) which enabled all sorts of custom real-time shenanigans. And that’s not to discount the impact of the Pi Pico, the $4 dev kit built around it.
Today, they’re announcing a brand-new microcontroller: the RP2350. It will come conveniently packaged in the new Pi Pico 2, and there’s good news and bad news. The good news is that the new chip is better in every way, and that the Pico form factor will stay the same. The bad news? It’s going to cost 25% more, coming in at $5. But in exchange for the extra buck, you get a lot.
For starters, the RP2350 runs a bit faster at 150 MHz, has double the on-board RAM at 520 kB, and twice as much QSPI flash at 4 MB. And those sweet, sweet PIOs? Now it has 12 instead of just 8. (Although we have no word yet if there is more program space per PIO – even with the incredibly compact PIO instruction set, we always wanted more!)
As before, it’s a dual-core chip, but now the cores are Arm Cortex M33s or RISC-V Hazard3s. Yes, you heard that right, there are two pairs of processors on board. Raspberry Pi says that you’ll be able to select which style of cores runs either by software or by burning one-time fuses. So it’s not a quad core chip, but rather your choice of two different dual cores. Wild!
Raspberry Pi is also making a big deal about the new Arm TrustZone functionality. It has signed boot, 8 kB of OTP key-storage memory, SHA-256 acceleration, a hardware RNG, and “fast glitch detectors”. While this is probably more aimed at industry than at the beginning hacker, we’re absolutely confident that some of you out there will put this data-safe to good use.
There is, as of yet, no wireless built in. We can’t see into the future, but we can see into the past, and we remember that the original Pico was wireless for a few months before they got the WiFi and Bluetooth radio added into the Pico W. Will history repeat itself with the Pico 2?
We’re getting our hands on a Pico 2 in short order, and we’ve already gotten a sneak peek at the extensive software toolchain that’s been built out for it. All the usual suspects are there: Picotool, TinyUSB, and OpenOCD as we write this. We’ll be putting it through its paces and writing up all the details next week.
Probably The Cheapest Mac Emulation Hardware
There are many ways to build your own Macintosh clone, and while the very latest models remain a little inaccessible, there are plenty of Intel-based so-called “Hackintoshes” which deliver an almost up-to-date experience. But the Mac has been around for a very long time now, and its earliest incarnation only has 128k of RAM and a 68000 processor. What can emulate one of those? Along comes [Matt Evans], with a working Mac 128k emulated on a Raspberry Pi Pico. Such is the power of a modern microcontroller that an RP2040 can now be a Mac!
The granddaddy of all Macs might have been a computer to lust after four decades ago, but the reality was that even at the time the demands of a GUI quickly made it under-powered. The RP2040 has plenty of processing power compared to the 68000 and over twice the Mac’s memory, so it seemed as though emulating the one with the other might be possible. This proved to be the case, using the Musashi 68000 interpreter and a self-built emulator which has been spun into a project of its own called umac. With monochrome VGA and USB for keyboard and mouse, there’s MacPaint on a small LCD screen looking a lot like the real thing.
If you want a 1980s Mac for anything without the joy of reviving original hardware, this represents an extremely cheap way to achieve it. If it can be compiled for microcontrollers with more available memory we could see it would even make for a more useful Mac, though your Mac mileage may vary.
Of course, this isn’t the only take on an early Mac we’ve brought you.
A C64 SID Replacement With Built-in Games
Developer [frntc] has recently come up with a smaller and less expensive way to not only replace the SID chip in your Commodore 64 but to also make it a stereo SID! To top it off, it can also hold up to 16 games and launch them from a custom menu. The SIDKick Pico is a simple board with a Raspberry Pi Pico mounted on top. It uses a SID emulation engine based on reSID to emulate both major versions of the SID chip — both the 6581 and the 8580. Unlike many other SID replacements, the SIDKick Pico also supports mouse and paddle inputs, meaning it replaces all functionality of the original SID!
Sound can be generated in three different ways: either using PWM to create a mono audio signal that is routed out via the normal C64/C128 connectors, an external PCM5102A DAC board, or using a different PCB design that has pads for an on-board DAC and TL072 op-amp. While many Commodore purists dislike using replacement chips, the reality is that all extant SID chips were made roughly 40 years ago, and as more and more of them fail, options like the SIDKick Pico are an excellent way to keep the sound of the SID alive.
If you want to hear the SIDKick Pico in action, you can check out the samples on the linked GitHub page, or check out the video below by YouTuber Wolfgang Kierdorf of the RETRO is the New Black channel. To get your hands on a SIDKick Pico, you can follow the instructions on the GitHub page for ordering either bare PCBs or pre-assembled PCBs from either PCBWay or your board manufacturer of choice.
Continue reading “A C64 SID Replacement With Built-in Games”
The Pi Pico, An SDR Receiver Front End
Making a software defined radio (SDR) receiver is a relatively straightforward process, given the right radio front end electronics and analogue-to-digital converters. Two separate data streams are generated using clocks at a 90 degree phase shift, and these are passed to the software signal processing for demodulation. But what happens if you lack a pair of radio front ends and a suitable clock generator? Along comes [Mordae] with an SDR using only the hardware on a Raspberry Pi Pico. The result is a fascinating piece of lateral thinking, extracting something from the hardware that it was never designed to do.
The onboard RP2040 ADC is of course far too slow for the task, so instead an input is used, with a negative feedback arrangement from another GPIO to form a crude 1-bit ADC. A PIO peripheral is then used to perform the quadrature mixing, resulting in the requisite pair of data streams. At this point these are sent over USB to GNU Radio for demodulating, mainly for convenience rather than necessarily because the microcontroller lacks the power.
The result is a working SDR front end, demonstrated pulling in an FM broadcast station. The Pico has to be overclocked to reach that frequency and it’s more than a little noisy, but we’re extremely impressed with how much has been done with so little. Oddly it isn’t the first Pico SDR we’ve seen, but the previous one was a much more conventional and lower-frequency affair for the European Long Wave band.
A Scope Test Tool You Can Build With Just A Pico
Ever wanted to see how well your oscilloscope adheres to its stated capabilities? What if you buy a new scope and need a quick way to test it lest one of its channels its broken, like [Paul Wasserman] had happen to him? Now you only need a Pi Pico and a few extra components to make a scope test board with a large variety of signals it can output, thanks to [Paul]’s Sig Gen Pi Pico firmware.
Despite the name it’s not a signal generator as we know it, as it’s not flexible in the signals it generates. Instead, it creates a dozen signals at more or less the same time — from square waves of various frequencies and duty cycles, to a PWM-driven DAC driving eight different waveforms, to Manchester-encoded data I2C/SPI/UART transfers for all your protocol decoder testing.
Everything is open source under the BSD 3-Clause license, and there’s even two PDFs with documentation and a user manual, not to mention the waveform screenshots for your own reference.
It’s seriously impressive how many features [Paul] has fit into a single firmware. Thanks to his work, whenever you have some test equipment in need of being tested, just grab your Pico and a few passive components.
Running Four Brushless Motors With A Single Pi Pico
Sometimes, you have to drive four motors, and you need to do so with a certain level of control. You could throw a lot of parts at the problem, but you don’t necessarily have to. As [Shaun Crampton] demonstrates, you can run four brushless DC motors with a single Pi Pico.
[Shaun] set about developing a brushless motor controller from scratch with the Pico, relying on its PIO hardware and the TI DRV8313 — a handy three phase motor driver. Before he knew it, he was implementing field oriented control (FOC) in MicroPython, only to find that it was a little too slow for proper motor control work. He soon switched to C for the lower overheads, and was readily driving a brushless motor with his own code. Before long, he’d implemented torque limiting and PID speed control. He was even able to optimize things to the point where he had four motors hanging off a single Pi Pico, complete with Hall sensors for feedback.
The full story is well worth reading, as it goes from “Hello, World” all the way to the end of the project. If you’ve never experienced the joy of your own code getting a motor to spin, you might enjoy following in [Shaun’s] footsteps. Files are on GitHub for the curious.
We’ve seen a lot of motor controllers around here, many of which draw heavily from other projects online. It’s a great way to learn the basics of what is a very well established field. Meanwhile, if you’re cooking up your own project in this space, do drop us a line!