A Pi Pico soldered onto a custom breakout PCB, with an SD card connected to it using prototyping wires

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.

Initially, the aforementioned “Linux on AVR through ARM” project was picked as a base – then, a newer development, [cnlohr]’s RISC-V emulator, presented itself and was too good to pass up on. Lack of RAM was fully negated by adding an SD card into the equation – coupled with a small caching layer, this is a crucial part for the project’s not-so-secret sauce. A fair amount of debugging and optimization later, [tvlad1234] got Linux to run, achieving boot times in 10-15 minutes’ ballpark – considering the emulation layer’s presence, this is no mean feat.

At this point, the boot process stalls as you enter a login shell. If Linux on RP2040 is within your area of interest, feel free to pick up the effort from here, as the project is fully open-source – you only need a Pi Pico board and a throwaway SD card! Now, if pairing a RP2040 with some classic software is your definition of an evening well-spent, you can’t go wrong with DOOM! However, if you’d rather play with something else *nix-like, we’ve seen someone port Fuzix onto the RP2040 before.

Fish Tank Dosing Pump Built Using Pi Pico

When you’re maintaining a fish tank, it’s actually quite important to get all your basic chemistry right. Mismanage things, and you’ll kill all the helpful bacteria in the tank, or kill your fish when things get too alkaline or too acidic. To help him get things just right, [yojoebosolo] built a custom dosing pump to maintain his fishtank.

The pumps themselves are small peristaltic pumps sourced from AliExpress. They can be had for under $10 if you look hard enough. Two of these are assembled into a PLA housing. Meanwhile, the brains of the operation is a Raspberry Pi Pico. It’s charged with running the pumps to a regular schedule, ensuring that just the right amount of chemicals are delivered when they are needed. It delivers 2 mL of Kalkwasser solution into [yojoebosolo’s] reef tank every ten minutes.  The pumps are switched on and off with a simple 5V relay.

If you’ve got a delicate and complex fish tank that demands only the best, building your own dosing pump may be the way to go. Off-the-shelf versions can be expensive, after all, so sometimes it makes sense to roll your own. Video after the break.

Continue reading “Fish Tank Dosing Pump Built Using Pi Pico”

Dobsonian Telescope Adds Plate Solver

The amateur astronomy world got a tremendous boost during the 1960s when John Dobson invented what is now called the Dobsonian telescope. Made from commonly-sourced materials and mechanically much simpler than what was otherwise available at the time, the telescope dramatically reduced the barrier to entry for larger telescopes and also made them much more portable and inexpensive.

For all their perks, though, a major downside is increased complexity when building automatic tracking systems. [brickbots] went a different way when solving this problem, though: a plate solver.

Plate solving is a method by which the telescope’s field of view is compared to known star charts to determine what it’s currently looking at. Using a Raspberry Pi at the center of the build, the camera module pointed at the sky lets the small computer know exactly what it’s looking at, and the GPS system adds precise location data as well for a quick plate solving solution. A red-tinted screen finishes out the build and lets [brickbots] know exactly what the telescope is pointed towards at all times.

While this doesn’t fully automate or control the telescope like a tracking system would do, it’s much simpler to build a plate solver in this situation. That doesn’t mean it’s impossible to star hop with a telescope like this, though; alt-azimuth mounted telescopes like Dobsonians just need some extra equipment to get this job done. Here’s an example which controls a similar alt-azimuth telescope using an ESP32 and a few rotary encoders.

A Smart Home That CAN Do It All

In an ideal smart home, the explosion of cheap WiFi and Bluetooth chips has allowed hundreds of small wireless devices to control the switches, lights, and everything else required for a “smart home” at a relatively low price. But what if you don’t want hundreds of internet-connected devices in your home polluting the wireless spectrum and allowing potential security holes into your network? If you’re like [Lucas Teske], you might reach for something wired and use cheap and (currently) available Raspberry Pi Picos to create PicoHome.

The unique twist of PicoHome is that it uses a CAN bus for communication. One of [Lucas’] goals was to make the boards easily swappable when hardware failed. This meant board-to-board communication and protocols like I2C were susceptible to noise (every time a relay triggered, the bus would lock up briefly). The CAN bus is designed to work in an electrically noisy environment.

There are two parts to the system: pico-relay and pico-input. The first connects to a 16 relay board and can control 16 different 24v relays. The second has 16 optoisolators to read from 12v-24v switches and various buttons throughout the house. These can be placed in a giant metal box in a central wiring location and not worry about it.

The firmware and board files are all released under an Apache 2.0 license, but the CAN2040 library this project relies on is under GPL. We covered the CAN2040 library when it was first released, and it’s lovely to see it being used for something entirely unexpected.

Continue reading “A Smart Home That CAN Do It All”

Mechanical Keyboard As Travel Saxophone

Those who play larger musical instruments, things like drums, piano, harp, tuba, upright bass, or Zeusaphone, know well the challenges of simply transporting their chosen instrument to band practice, a symphony hall, or local watering hole. Even those playing more manageably-sized instruments may have similar troubles at some point especially when traveling where luggage space is at a premium like on an airplane. That’s why [jcard0na] built this electronic saxophone, designed to be as small as possible.

Known as the “haxophone”, the musical instrument eschews the vibrating column of air typical of woodwind instruments in favor of an electronic substitute. Based around the Raspberry Pi, the device consists of a custom HAT with a number of mechanical keyboard switches arrayed in a way close enough to the layout of a standard saxophone that saxophonists will be able to intuitively and easily play. Two pieces of software run on the Pi to replicate the musical instrument, one that detects the player’s breaths and key presses, and another that synthesizes this information into sound.

While [jcard0na] notes that this will never replicate the depth and feel of a real instrument, it does accomplish its design goal of being much more easily transportable than all but the most soprano of true saxophones. As a musical project it’s an excellent example of good design as well, much like this set of electronic drums with a similar design goal of portability.

New Raspberry Pi Camera With Global Shutter

Raspberry Pi has just introduced a new camera module in the high-quality camera format. For the same $50 price you would shell out for the HQ camera, you get roughly eight times fewer pixels. But this is a global shutter camera, and if you need a global shutter, there’s just no substitute. That’s a big deal for the Raspberry Pi ecosystem.

Global vs Rolling

Most cameras out there today use CMOS sensors in rolling shutter mode. That means that the sensor starts in the upper left corner and rasters along, reading out exposure values from each row before moving down to the next row, and then starting up at the top again. The benefit is simpler CMOS design, but the downside is that none of the pixels are exposed or read at the same instant.

Continue reading “New Raspberry Pi Camera With Global Shutter”

Pi Picos Give Casio FX9000P Its Memory Back

Is the Casio FX9000P a calculator or a computer? It’s hard to tell since Casio did make calculators that would run BASIC. [Menadue] didn’t know either, but since it had a CRT, a Z80, and memory modules, we think computer is a better moniker.

He found one of these, but as you might expect, it needed a bit of work. There were two bad video RAM chips on the device, and [Menadue] used two Raspberry Pi Picos running a program to make them think they are RAM chips. The number of wires connecting the microcontollers might raise some eyebrows, but it does appear to get the job done.

He also used more Picos to emulate memory on cartridges. Then he used a test clip and a — you guessed it — another Pico to monitor the Z80 bus signals. It is amazing that the Pico can replace what would have been state-of-the-art memory chips and a very expensive logic analyzer.

The second video mostly shows the computer in operation. The use of Picos to stand in for so much is clever. It reminded us of the minimal Z80 computer that used an Arduino for support chips. The computer itself, though, reminded us more of a cheap version of the HP9845.

Continue reading “Pi Picos Give Casio FX9000P Its Memory Back”