Raspberry Pi Pico “Modchip” Unlocks The GameCube

In terms of units sold, it’s no secret that the GameCube was one of Nintendo’s poorest performing home consoles. You could argue increased competition meant sales of the quirky little machine were destined to fall short of the system’s legendary predecessors, but that didn’t keep the Wii from outselling it by a factor of five a few years later. Still, enough incredible games were released for the GameCube that the system still enjoys a considerable fanbase.

Now, with the release of PicoBoot by [webhdx], we suspect the GameCube is about to gain a whole new generation of fans. With just a Raspberry Pi Pico, some jumper wires, and a widely available third-party SD card adapter, this open source project bypasses the console’s original BIOS so it can boot directly into whatever homebrew application the user selects. With how cheap and easy to perform this modification is, we wouldn’t be surprised if it kicked off something of a renaissance for GameCube homebrew development.

Installation takes just five wires.

In the video after the break, [Tito] of Macho Nacho Productions provides a rundown of this new project, including a fantastic step-by-step installation guide that covers everything from soldering the jumper wires to the console’s motherboard to getting the firmware installed on the Pico. He then demonstrates booting the console into various community developed front-ends and tools, showing just how versatile the modification is. While some will see this as little more than an easier way to run bootleg games, we can’t help but be excited about what the future holds now that getting your own code to run on the system is so easy.

Alright, maybe it’s not so easy. To solder on the five wires that will eventually snake their way to the GPIO pins of the Pi Pico, you’ll need to strip the console all the way down to the main board. That wouldn’t be too bad itself, but unfortunately to reach two of the connections you’ll need to remove the system’s massive heatsink — which means you’ll need to clean up the old sticky thermal pads and apply new ones if you don’t want your GameCube to turn into a GameCrisp. It’s nothing that would scare off the average Hackaday reader, but it might give pause to those less handy with an iron.

The release of PicoBoot comes hot on the heels of the revelation that the Raspberry Pi Pico can be used not only as an N64 flash cart but as a supercharged PlayStation Memory Card. These projects would all be significantly improved with a custom RP2040 board, and no doubt that’s the direction they’ll eventually head, but it’s hard not to be impressed by what the low-cost microcontroller development board is capable of in its native form. Especially now that it comes in WiFi flavor.

Continue reading “Raspberry Pi Pico “Modchip” Unlocks The GameCube”

UART Can’t? Arduino CANSerial Can!

[Jacob Geigle] had a problem. A GPS unit and a Bluetooth-to-serial were tying up all the hardware UARTs on an AVR Arduino project. “Software serial”, I hear you say. But what if I told you [Jacob] already had the board in question sending out data over CAN bus?

[Jacob]’s sweet hack creates an arbitrary number of CAN “devices” inside the Arduino code, and can treat each one of them as its own serial data channel. The “N” in CAN stands for network, after all. The trick is to create a device ID for each desired CANSerial interface, which is done in his library using the usual Arduino setup step. A buffer takes care of storing all the different channels until they can be pushed out over the hardware CAN peripheral. On the big-computer side of things, some software listens for the different “device” enumeration IDs and assigns each a virtual serial port.

While this was a hack born of necessity, we can see it as a clever opportunity to segregate information coming from the microcontroller into different streams. Maybe a debug channel, a command channel, and a data channel? They’re virtual devices, so go nuts!

While we usually see CANbus in its native habitat – inside your car – it’s also cool to think of the uses we could put it to. For instance, controlling a 3D printer. Need a CAN refresher? We’ve got just the ticket.

[Bus photo: Malta Bus; The terminus, Valletta by John Haslam. Can photo: Paint Cans by Daniel R. Blume. Horrible visual pun: I’m afraid that’s on us. You try finding images for CANbus code!]

Raspberry Pi Pico W Adds Wireless

News just in from the folks at Raspberry Pi: the newest version of their Pico has WiFi and is called, obviously, the Pico W. We were going to get our hands on a sample unit and kick its tires, but it’s stuck in customs. Boo! So until it shows up, here’s what we can glean from the press releases and documentation.

The Pico is, of course, the Raspberry Pi microcontroller dev board based on their RP2040 microcontroller. This in turn has two Cortex M0+ cores and a good chunk of onboard RAM, which has made it a popular target for MicroPython. They had some extra real estate on the PCB, so they’ve added an Infineon CYW43439 WiFi chip, and voila: Pico W.

As of now, the WiFi is supported in both the C SDK and the pre-baked MicroPython image. It looks trivially easy to get it working, and it’s based on the time-tested lwIP stack, a classic in the embedded world. The CYW43439 is also Bluetooth capable, but there’s no firmware support for that yet, but we wouldn’t be surprised if it showed up soon.

The price? $6 for the whole shooting match. You can view this two ways: a small $2 premium over the old Pico, or a price increase of 50%. How you see things probably depends on your order quantity. Either way, it’s firmly in the ESP32 module price range, so you’ve got some comparison shopping to do if your project needs a microcontroller and WiFi. And in these days of silicon shortages, it’s nice to have a couple of options.

Bare-Metal STM32: Adding An Analog Touch With ADCs

An Analogue to Digital Converter (ADC) is at its core a straight-forward device: by measuring an analog voltage within a set range and converting the measured level to a digital value we can use this measurement value in our code. Through the use of embedded ADCs in microcontrollers we can address many essential use cases, ranging from measuring the setting on a potentiometer, to reading an analog output line on sensors, including the MCU’s internal temperature and voltage sensors.

The ADCs found in STM32 MCUs have a resolution between 12 to 16 bits, with the former being the most common type. An ADC can be configured to reduce this resolution, set a specific sampling speed, and set up a multi-mode configuration depending on the exact ADC peripheral. STM32 MCUs feature at least a single ADC peripheral, while some have multiple. In this article we will take a look at how to configure and use the basic features of the ADCs in STM32 MCUs, specifically the ADCs found in F0 and the ADC5_V1_1 type as found in most F3-family MCUs.

Continue reading “Bare-Metal STM32: Adding An Analog Touch With ADCs”

Food Irradiation Detector Doesn’t Use Banana For Scale

How do the potatoes in that sack keep from sprouting on their long trip from the field to the produce section? Why don’t the apples spoil? To an extent, the answer lies in varying amounts of irradiation. Though it sounds awful, irradiation reduces microbial contamination, which improves shelf life. Most people can choose to take it or leave it, but in some countries, they aren’t overly concerned about the irradiation dosages found in, say, animal feed. So where does that leave non-vegetarians?

If that line of thinking makes you want to Hulk out, you’re not alone. [kutluhan_aktar] decided to build an IoT food irradiation detector in an effort to help small businesses make educated choices about the feed they give to their animals. The device predicts irradiation dosage level using a combination of the food’s weight, color, and emitted ionizing radiation after being exposed to sunlight for an appreciable amount of time. Using this information, [kutluhan_aktar] trained a neural network running on a Beetle ESP32-C3 to detect the dosage and display relevant info on a transparent OLED screen. Primarily, the device predicts whether the dosage falls into the Regulated, Unsafe, or just plain Hazardous category.

[kutluhan_aktar] lets this baby loose on some uncooked pasta in the short demo video after the break. The macaroni is spread across a load cell to detect the weight, while [kutluhan_aktar] uses a handheld sensor to determine the color.

This isn’t the first time we’ve seen AI on the Hackaday menu. Remember when we tried those AI-created recipes?

What Do You Get When A Raspberry Pi Pico Flashes A Nintendo 64

The joke was when the Nintendo 64 first hit the streets around a quarter century ago, that the 64 in the name referred not to the technology on board, but to the excessive cost of the cartridges. Whatever the truth in that, it’s something now completely laid to rest by [Konrad Beckmann] with his Nintendo 64 flash cart powered by a Raspberry Pi Pico (Nitter Link).

The schematic is surprisingly simple, in that the Pico does everything required to both interface to the N64 and to an SD card to hold the software. The clever work is done by the RP2040 firmware, which can be found along with the hardware details in the “develop” branch of the project’s GitHub repository. And while the earliest version was a Raspberry Pi Pico with a host of jumper wires, the more polished version focuses on a custom PCB and bare RP2040 chip.

Perhaps the N64 hasn’t received the attention it should have over the years, overshadowed as it was by its competitors such as the original PlayStation, but it’s projects like this one which remind us that there’s still life in Nintendo’s ’90s flagship. Speaking of which, if you were on Team Sony back in the day but still want to put your Pi Pico to use, check out this DIY PlayStation Memory Card we covered recently.

Faux-Retro “Tape” Player Runs On ESP32 And 80s Vibes

At first glance, this gorgeous retro-styled audio player built by [Max Kern] could absolutely pass for the genuine article. But then you take a closer look and realize that the “tape” it’s playing is actually an animation running on a 320 x 240 IPS display, and the Play and Rewind buttons on the front aren’t the chunky electromechanical affairs of yesteryear but actually cleverly repurposed MX keyboard switches.

By now you’re probably realizing that this player is quite a bit smaller than you first imagined, which in turn, means that it even its case is a modern fabrication. While it might perfectly encapsulate the look and feel of a piece of 1980s consumer electronics, it was squirted out on a thoroughly modern desktop 3D printer.

Even so, [Max] made sure to include draft angles in the CAD design and and a distinctive separation line so the case looked like it was injection molded. Following similar logic, he decided against using a modern rechargeable battery pack to power the electronics, opting instead for a more era-appropriate set of AA batteries.

In terms of hardware, the custom PCB is home to an ESP32 WROOM, a MAX98357A I2S audio amplifier, a FT231XS USB-to-serial chip, with enough passives and regulators to keep them all well fed and happy. The ESP32 has more than enough computational horsepower to chew through MP3 files, which are conveniently loaded via an SD slot built into the side of the player. As the player was actually intended for audio books, onboard playback is limited to a mono speaker; though there is a 3.5 mm audio jack to plug in a pair of headphones for when the built-in speaker isn’t up to the task.

Check out the video after the break to see how the player is assembled, as well as a demonstration of its simple three-button user interface. It looks like a joy to use, though the lack of fast forward and rewind sound effects took us a bit by surprise given the otherwise impeccable attention to detail. We’ll assume there’s some technical limitation that makes this particularly difficult to implement, and that their absence is currently keeping [Max] up at night.

As impressive as the final product is, we can’t say it’s a surprise. Frankly, we wouldn’t expect anything less from [Max] at this point. His adaptive OLED macro pad wowed us back in 2020, and his ZeroBot is still one of the slickest designs for a DIY two-wheeled robots we’ve ever seen.

Continue reading “Faux-Retro “Tape” Player Runs On ESP32 And 80s Vibes”