Editing GameCube Memory With A Raspberry Pi

[James] has been working with GameCubes, emulators, and Animal Crossing for a while now, and while emulators are sufficient, he’d like to play on real hardware. This means he needs to write to a GameCube memory card. While there are a few options to do this, they either require a Wii or hardware that hasn’t been made in a decade. The obvious solution to this problem is to reverse engineer the GameCube memory card to read and write the memory with a Raspberry Pi.

There’s an incredible amount of unofficial documentation for every console, and [James] stumbled upon a GC-Forever forum post that describes the electrical signals inside the GameCube memory card. There’s your standard compliment of power and ground pads, along with a DI, DO, CS, Clk, and an INT pin. [James] broke out the magnet wire and soldered up a pin header to these cards. Data was then captured with a Salae logic analyzer, and lo and behold, it looked like a standard SPI protocol.

With the low-level protocol worked out, [James] checked out the Yet Another GameCube Documentation to get the main functions allowed through the SPI bus. The ‘read block’, for instance, starts off with 0x52 and an address offset. A little bit of Python on a Raspberry Pi meant [James] could read and write the entire GameCube memory card. Right now the code is a little rough, but all the work is available should you want to edit your Animal Crossing save with a Raspberry Pi.

This work follows [James]’ earlier work on getting into the debug menu of Animal Crossing, allowing him to add items to his inventory. With this latest advancement, it’s only a matter of time before we plug Raspberry Pis directly into a GameCube.

A Raspberry Pi Has This Pool Covered

Far from being a tiled hole in the ground with a bit of water in it, a modern swimming pool boasts a complex array of subsystems designed to ensure your morning dip is as perfect as that you’d find on the sun-kissed beaches of your dream tropical isle. And as you might expect with such complex pieces of equipment in a domestic setting, they grow old, go wrong, and are expensive to fix.

[DrewBeer]’s pool had just such a problem. A decades-oldwired controller had failed, so rather than stump up a fortune for a refit, he created his own pool controller which exists under the watchful eye of a Raspberry Pi. The breadth of functionality is apparent from his write-up. In addition to the pump and heater you’d expect, he as a salt water system, environmental monitoring, and even an RTL-SDR to pull in readings from an RF floating temperature probe. It’s all exposed via a node.js API, and thus far has been running for over 6 months without mishap.

From where this is being written in the gloom of a damp November in a Northern Hemisphere maritime climate we can only envy [Drew] his pool and imagine it as perpetually deep blue and sparkling, invitingly cool against the heat of a summer’s day. If you have similar pool automation woes. perhaps you’d also like to look at this ESP8266 pool monitor, or another automation project using a Raspberry Pi.

Arcade1up Cabinet Mod Raspberry Pi 3

Arcade1up Cabinet Solderless Upgrade With A Side Of Raspberry Pi

Upon announcement of the Arcade1up replica arcade cabinets earlier this year, many laid in waiting for the day they could see a teardown. A four foot tall cab with an LCD outputting the proper 4:3 aspect ratio and the simple construction of IKEA furniture certainly seemed appealing. In theory, it wouldn’t take long to customize such a piece of hardware provided the internals lent themselves to that sort of thing. Now that the cabinets are on store shelves, [ETA Prime] made a tutorial video on his method for upgrading the Arcade1up cabinet with a Raspberry Pi calling the shots.

The entirety of the mod is solder-free and uses plenty of readily available parts from your favorite online reseller. The brains of the operation is a Raspberry Pi 3 Model B+ running Emulation Station. The Arcade1up Street Fighter 2 cabinet’s less than stellar audio receives an upgrade in a 2x20W car audio amp, while the middling joysticks are swapped out for some more robust Sanwa-clone ball tops.

Since there is no “select/coin” button natively, [ETA Prime] added some and in the process replaced them all with beefier LED-lit 30mm buttons. The replacement joysticks and buttons were all part of a kit, so they plug-in conveniently to a plug and play USB encoder. To adapt the 17″ LCD’s output over LVDS, [ETA Prime] elected to go with an LCD controller board that outputs DVI, VGA, or HDMI. Luckily the Arcade1up cabinet’s 12V power supply could be reused to power the LCD controller board and in the process bring down the overall cost of the upgrade.

While this Arcade1up cabinet mod won’t solve the whole “bats versus ball tops” argument, it does provide a template to build on. The tutorial video is below and the list of parts used can be found in the YouTube description.

Continue reading “Arcade1up Cabinet Solderless Upgrade With A Side Of Raspberry Pi”

Extreme Pi Overclocking With Mineral Oil

Liquid cooling is a popular way to get a bit of extra performance out of your computer. Usually this is done in desktops, where a special heat sink with copper tubing is glued to the CPU, and the copper tubes are plumbed to a radiator. If you want dive deeper into the world of liquid cooling, you can alternatively submerge your entire computer in a bath of mineral oil like [Timm] has done.

The computer in question here is a Raspberry Pi, and it’s being housed in a purpose-built laser cut acrylic case full of mineral oil. As a SoC, it’s easier to submerge the entire computer than it is to get a tiny liquid-cooled heat sink for the processor. While we’ve seen other builds like this before, [Timm] has taken a different approach to accessing the GPIO, USB, and other connectors through the oil bath. The ports are desoldered from the board and a purpose-built header is soldered on. From there, the wires can be routed out of the liquid and sealed off.

One other detail used here that  we haven’t seen in builds like this before was the practice of “rounding” the flat ribbon cable typically used for GPIO. Back in the days of IDE cables, it was common to cut the individual wires apart and re-bundle them into a cylindrical shape. Now that SATA is more popular this practice has been largely forgotten, but in this build [Timm] uses it to improve the mineral oil circulation and make the build easier to manage.

Continue reading “Extreme Pi Overclocking With Mineral Oil”

Set Up A Headless Raspberry Pi, All From Another Computer’s Command Line

There are differences between setting up a Raspberry Pi and installing an OS on any other computer, but one thing in common is that if you do enough of them, you seek to automate the process any way you can. That is the situation [Peter Lorenzen] found himself in, and his solution is a shell script to install and configure the Raspberry Pi for headless operation, with no need to connect either a keyboard or monitor in the process.

[Peter]’s tool is a script called rpido, and with it the process for setting up a new Raspberry Pi for headless operation is super streamlined. To set up a new Pi, all [Peter] needs to do is:

  1. Plug an SD card into his laptop (which happens to be running Ubuntu.)
  2. Run: rpido -w -h myhostname -s which downloads and installs the newest version of Raspbian lite, does some basic setup (such as setting the hostname), configures for headless operation, and launches a root shell.
  3. Use the root shell to do any further tweaks or checks (like launching raspi-config for additional changes.)
  4. Exit the shell, remove the SD card from his laptop, and install the card into the Raspberry Pi.

There are clear benefits to [Peter]’s script compared to stepping through a checklist of OS install and setup tasks, not to mention the advantage of not needing to plug in a keyboard and monitor. Part of the magic is that [Peter] is mounting the SD card’s filesystem in a chroot environment. Given the right tools, the ARM binaries intended for the Pi run on his (Intel) Ubuntu laptop. It’s far more convenient to make changes to the contents of the SD card in this way, before it goes to its new home in a Pi.

Not everything has to revolve around an SD card, however. [Jonathan Bennet] showed that it’s possible to run a Raspberry Pi without an SD card by using the PXE boot feature, allowing it to boot and load its file system from a server on the same network, instead of a memory card.

The Best Laptop Gets Even Better

The ThinkPad is the greatest laptop ever created. It doesn’t come in rose gold, it comes in black. It doesn’t have a weird screen instead of an escape key. For less than half the price of a MacBook, you can have a capable laptop that will somehow fit three drives inside. It’s madness, but it’s still not the perfect tool for hacking. To get there, you’re going to need to load that thing up with an independent Linux system, and maybe a solderless breadboard. That’s what [ollie242] is doing with his ThinkPad, and the results are the perfect addition to the perfect laptop.

This build is really just a 3D printed drive caddy for the Thinkpad UltraBay, the modular standard that allows you to add a CD drive, SATA drive, or even a serial and parallel port to your laptop. [ollie242] is modeling this off the CD drive taken from a ThinkPad T420, so we’re looking at a ‘Serial Ultrabay Enhanced’ version of this standard, which is compatible with a T430, which is still the best laptop you can possibly buy.

Inside this 3D printed drive caddy is a Raspberry Pi Zero W, powered by the ThinkPad through the internal SATA connector. The Pi Zero has right-angle headers attached, giving access to the GPIO pins from the outside. Just to add a little flair, [ollie242] added an OLED display to show the IP address, the CPU load, and the memory availability of the Pi.

This is a great project, if only because no one has any use for a CD drive anymore. Since these UltraBay drives are huge, it would be a simple matter to add a much more powerful computer to the drive like the recently announced Raspberry Pi 3 Model A+. There are — or at least there should be — some interesting internal connections on that UltraBay port, and it’s not inconceivable this Raspberry Pi UltraBay could be used as a coprocessor of sorts for its host laptop.

This Bitcoin Price Tracking Traffic Light Isn’t Just A Red LED

Quick, what’s the price of Bitcoin? Is it lower today than yesterday? Are you overdrafting your Lamborghini account? What if you had an easy way to tell at a glance how much you could have made if you sold in December of last year? That’s what this Bitcoin price tracking traffic light is all about, and it’s a great use of existing electronics.

The hardware for this build is a traffic light table lamp available on Amazon for twenty bucks. Inside this traffic light, you get a PCB with three LEDs and a small microcontroller to control the LEDs. The microcontroller isn’t used in this case, instead the microcontroller is removed and a few wires are soldered up to the base of the transistors used to drive the LEDs. The other ends of these wires are attached to a trio of pins on a Raspberry Pi Zero W, giving this traffic light table lamp Linux and a connection to the Internet.

On the software side of things, we’re looking at a Docker container running a Python script that fetches the latest Bitcoin price from Coindesk and calculates the change from the previous fetch of the price of Bitcoin. This data is shuffled off to another Python script that actually changes the LEDs on the lamp.

Sure, these days a ‘bitcoin price tracking traffic light’ is as simple as connecting a red LED to a battery, and if you’re feeling extra fancy you can add a 220 Ω resistor. But this is a project that’s so well executed that we’ve got to give it a tip ‘o our hat.