Reverse Engineering The PROM For The SGI O2

The SGI O2 was SGI’s last-ditch attempt at a low-end MIPS-based workstation back in 1996, and correspondingly didn’t use the hottest parts of the time, nor did it offer much of an upgrade path. None of which is a concern to hobbyists who are more than happy to work around any hardware- and software limitations to e.g. install much faster CPUs. While quite a few CPU upgrades were possible with just some BGA chip reworking skills, installing the 900 MHz RM7900 would require some PROM hacking, which [mattst88] recently took a shake at.

The initial work on upgrading SGI O2 systems was done in the early 2000s, with [Joe Page] and [Ian Mapleson] running into the issue that these higher frequency MIPS CPUs required a custom IP32 PROM image, for which they figured that they’d need either SGI’s help or do some tricky reverse-engineering. Since SGI is no longer around, [mattst88] decided to take up the torch.

After downloading a 512 kB binary dump of the last version of the O2’s PROM, he set to work reverse-engineering it, starting by dissembling the file. A big part of understanding MIPS PROM code is understanding how the MIPS architecture works, including its boot process, so much of what followed was a crash-course on the subject.

With that knowledge it was much easier to properly direct the Capstone disassembler and begin the arduous process of making sense of the blob of data and code. The resulting source files now reassemble into bit-identical ROM files, which makes it likely that modifying it to support different CPUs is now possible with just a bit more work.

For those who want to play along, [mattst88] has made his ip32prom-decompiler project available on GitHub.

Thanks to [adistuder] for the tip.


Top image: Silicon Graphics 1600SW LCD display and O2 workstation. (Source: Wikimedia)

Front and back of the prototype phone

Neither Android Nor IOS: DIY Smartphone Runs On ESP32!

You may or may not be reading this on a smartphone, but odds are that even if you aren’t, you own one. Well, possess one, anyway — it’s debatable if the locked-down, one-way relationships we have with our addiction slabs counts as ownership. [LuckyBor], aka [Breezy], on the other hand — fully owns his 4G smartphone, because he made it himself.

OK, sure, it’s only rocking a 4G modem, not 5G. But with an ESP32-S3 for a brain, that’s probably going to provide plenty of bandwidth. It does what you expect from a phone: thanks to its A7682E simcom modem, it can call and text. The OV2640 Arducam module allows it to take pictures, and yes, it surfs the web. It even has features certain flagship phones lack, like a 3.5 mm audio jack, and with its 3.5″ touchscreen, the ability to fit in your pocket. Well, once it gets a case, anyway.

Continue reading “Neither Android Nor IOS: DIY Smartphone Runs On ESP32!”

Making A 286 Think It’s Alive Again

[Nagy KrisztiĂ¡n] had an Intel 286 CPU, only… There was no motherboard to install it in. Perhaps not wanting the processor to be lonely, [Nagy] built a simulated system to bring the chip back to life.

Okay, 68 pins does look like a lot when you arrange them like that.

The concept is simple enough. [Nagy] merely intended to wire the 286 up to a Raspberry Pi Pico that could emulate other parts of a computer that it would normally expect to talk to. This isn’t so hard with an ancient CPU like the 286, which has just 68 pins compared to the 1000+ pins on modern CPUs. All it took was a PLCC-68 socket, an adapter PCB, a breadboard, and some MCP23s17 logic expanders to give the diminutive microcontroller enough I/O. With a bit of work, [Nagy] was able to get the Pi Pico running the 286, allowing it to execute a simple program that retrieves numbers from “memory” and writes them back in turn.

Notably, this setup won’t run the 286 at its full clock speed of 12 MHz, and it’s a long way off from doing anything complex like talking to peripherals or booting an OS. Still, it’s neat to see the old metal live again, even if it’s just rattling through a few simple machine instructions that don’t mean a whole lot. [Nagy] equates this project to The Matrix; you might also think of it as a brain in a jar. The 286 is not in a real computer; it’s just hooked up to a microcontroller stimulating its various pins in a way that is indistinguishable from its own perspective. Continue reading “Making A 286 Think It’s Alive Again”

Hackaday Links Column Banner

Hackaday Links: March 1, 2026

We’ll start this week off with a bit of controversy from Linux Land. Anyone who’s ever used the sudo command knows that you don’t see any kind of visual feedback while entering your password. This was intended as a security feature, as it was believed that an on-screen indicator of how many characters had been entered would allow somebody snooping over your shoulder to figure out the length of your password. But in Ubuntu 26.04, that’s no longer the case. The traditional sudo binary has been replaced with a one written in Rust, which Canonical has recently patched to follow the modern convention of showing asterisks on the password prompt.

As you might expect, this prompted an immediate reaction from Linux greybeards. A bug report was filed just a few days ago demanding that the change be reverted, arguing that breaking a decades-old expectation with no warning could be confusing for users. The official response from a Canonical dev was that they see it the other way around, and that the change was made to improve the user experience. It was also pointed out that those who want to revert to the old style of prompt can do so with a config change. The issue was immediately marked as “Won’t Fix”, but the discussion is ongoing.

Speaking of unexpected changes, multiple reports are coming in that the February security update for Samsung Galaxy devices, which is currently rolling out, removes several functions from the Android recovery menu. After the update is applied to phones such as the S25 and Fold 7, long-standing features, such as the ability to wipe the device’s cache partition or install updates via Android Debug Bridge (ADB), disappear.

Continue reading “Hackaday Links: March 1, 2026”

AI Assistant Uses ESP32

Having an AI assistant is all the rage these days, but AI assistants usually don’t know about your automation setups and may have difficulty dealing with tasks asynchronously. Enter zclaw. It gives you the option to have a personal assistant on an ESP32 backed by Anthropic, OpenAI, or OpenRouter. The whole thing fits in 888KB, and while it doesn’t host the LLM, it does add key capabilities to monitor and control devices connected to the ESP32.

You communicate with the assistant via telegram. You can say things like “Remember the garage sensor is on GPIO 4.” Then later you might say: “In 20 minutes, check the garage sensor and if it is high, set GPIO 5 low.” It has an RTOS for scheduling tasks and is aware of the timezone and common periods. Memory persists across reboots, and you can pick different personas.

Continue reading “AI Assistant Uses ESP32”

The S2000 at a much lower altitude than 2000 m.

Wind Power Is Taking Off In China– All The Way To 2000 M AGL

2000 m above ground level (AGL), winds are stronger and much, much more consistent than they are at surface. Even if the Earth were a perfect sphere, there’d be a sluggish boundry layer at the surface, but since it’s got all these interesting bumps and bits and bobs, it’s not just sluggish but horribly turbulent, too. Getting above that, as much as possible, is why wind turbines are on big towers. Rather than build really big tower, Beijing Lanyi Yunchuan Energy Technology Co. has gone for a more ambitious approach: an aerostat to take power from the steady winds found at high altitude. Ambitiously called the Stratosphere Airborne Wind Energy System (SAWES), the megawatt-scale prototype has recently begun feeding into the grid in Yibin, Sichuan Province.

The name might be a bit ambitious, since its 2000 m test flight is only one tenth of the way to the stratosphere, but Yibin isn’t a bad choice for testing: as it is well inland, the S2000 prototype won’t have to contend with typhoons or other ocean storms. The prototype is arguably as ambitious as the name: its 12 flying turbines have a peak capacity of three megawatts. True, there are larger turbines in wind farms right now, but at 60 m in length and 40 m in diameter, the S2000 has a lot of room to grow before hitting any kind of limit or even record for aerostats. We’re particularly interested in the double-hull construction– it would seem the ring of the outer gas bag would do a good job funneling and accelerating air into those turbines, but we’d love to see some wind tunnel testing or even CFD renderings of what’s going on in there.

A rear view shows the 12 turbines inside the double hull. It should guide air into the gap, but we wonder how much turbulence the trusses in there are making.

During its first test flight in January 2026, the system generated generated 385 kilowatt-hours of electricity over the course of 30 minutes. That means it averaged about 25% capacity for the test, which is a good safe start. Doubtless the engineers have a full suite of test flights planned to demonstrate the endurance and power production capabilities of this prototype. Longer flights at higher capacity may have already happened by the time you read this.

Flying wind turbines isn’t a new idea by any means; a few years ago we featured this homemade kite generator, and the pros have been in on it too. Using helium instead represents an interesting design choice–on the plus side, its probably easier to control, and obviously allowing large structures, but the downside is the added cost of the gas. It will be interesting to see how it develops.

We’re willing to bet it catches on faster than harvesting wind energy from trees.

All images from Beijing Lanyi Yunchuan Energy Technology Co., Ltd.

 

Driving WS2812Bs With Pure Logic

The WS2812B has become one of the most popular addressable LEDs out there. They’re easy to drive from just about any microcontroller you can think of. But what if you don’t have a microcontroller at all? [Povilas Dumcius] decided to try and drive the LEDs with raw logic only.

The project consists of a small board full of old-school ICs that can be used to drive WS2812Bs in a simplistic manner. A 74HC14 Schmitt trigger oscillator provides the necessary beat for this tune, generating an 800 kHz clock to keep everything in time and provide the longer pulse trains that represent logic one to a WS2812B. A phase-shifted AND gate generates the shorter pulses necessary to indicate logic zero. Meanwhile, a binary counter cycles through 24 bits (8 per R, G, and B) to handle color. Pressing each one of the three push-buttons allows each color channel to be activated or deactivated as desired. It can make the strip red, green, or blue, or combine the channels if you press multiple buttons at once. That’s all the control you get—it would take a bit more logic to enable variable levels of each channel. Certainly within the realms of possibility, though.

We’ve featured some other nifty tricks for driving WS2812Bs in unconventional ways, like using DMA hardware or even I2S audio outputs. If you’ve got your own tricks, don’t hesitate to notify the tipsline.

Continue reading “Driving WS2812Bs With Pure Logic”