A small round NRF51822 board glued to the underside of a mailbox lid, with a small vibration sensor attached

Check Your Mailbox Using The AirTag Infrastructure

When a company creates an infrastructure of devices, we sometimes subvert this infrastructure and use it to solve tricky problems. For example, here’s a question that many a hacker has pondered – how do you detect when someone puts mail into your mailbox? Depending on the availability of power and wireless/wired connectivity options, this problem can range from “very easy” to “impractical to solve”. [dakhnod] just made this problem trivial for the vast majority of hackers, with the FakeTag project – piggybacking off the Apple’s AirTag infrastructure.

This project uses a cheap generic CR2032-powered NRF51822 board, sending the mailbox status over the FindMy system Apple has built for the AirTag devices. For the incoming mail detection, he uses a simple vibration sensor, glued to the flap lid – we imagine that, for flap-less mailboxes, an optical sensor or a different kind of mechanical sensor could be used instead. Every time someone with a FindMy-friendly iPhone passes by [dakhnod]’s mailbox, he gets an update on its status, with a counter of times the sensor has been triggered. [dakhnod] estimates that the device could run for up to a year on a single battery.

Continue reading “Check Your Mailbox Using The AirTag Infrastructure”

90s Apple Computer Finally Runs Unsigned Code

Back in the 90s, the console wars were in full swing. Nintendo vs Sega was an epic showdown at first, but when Nintendo seemed sure to clench the victory Sony came out of nowhere with the PlayStation. While these were the most popular consoles at the time, there were a few others around that are largely forgotten by history even if they were revolutionary in some ways. An example is the Pippin, a console made by Apple, which until now has been unable to run any software not signed by Apple.

The Pippin was Apple’s only foray into gaming consoles, but it did much more than that and included a primitive social networking system as well as the ability to run Apple’s Macintosh operating system. The idea was to be a full media center of sorts, and the software that it would run would be loaded from the CD-ROM at each boot. [Blitter] has finally cracked this computer, allowing it to run custom software, by creating an authentication file which is placed on the CD to tell the Pippin that it is “approved” by Apple.

The build log goes into incredible detail on the way these machines operated, and if you have a Pippin still sitting around it might be time to grab it out of the box and start customizing it in the way you probably always wanted to. For those interested in other obscure Apple products, take a look at this build which brings modern WiFi to the Apple Newton, their early PDA.

Continue reading “90s Apple Computer Finally Runs Unsigned Code”

Bringing IMessage To The Mac

If you’ve invested in the Apple ecosystem, the joys of iMessage likely illuminate your life. Your phone and desktop and laptop all sync your messages. But what if your desktop is running Mac OS 9 or System 2? This is where [CamHenlin’s] MessagesForMacintosh comes in.

Unfortunately, it does require a more modern Mac to act as an access point into the wider iMessage network. The modern Mac sets up a GraphQL database that can be accessed. Then a serial cable connects your “retro daily driver” to a translation layer that converts the serial commands into GraphQL commands. This could be something simple and network-connected like an ESP32 or a program running on your iMessage Mac. [CamHenlin] has a second Mac mini in his demo, seen above.

[CamHenlin] leverages his library known as CoprocessorJS. It allows older machines to hand off complex workloads to more modern machines, allowing modern machines to act as a coprocessor. Getting a single binary to run across many different versions of Mac OS and System is tricky and there were a few tricks involved. Retro68 is a C++17 compiler that targets PowerPC and 68k architectures. Additionally, Nuklear Quickdraw is used to provide a GUI in a performant manner.

It is always a joy to see older hardware do new tricks, often with the help of a bit of modern hardware. Connecting your Mac to the internet can be as easy as Pi.

Custom Macintosh With A Real 486

Older Apple computers can often be something of a collector’s item, with the oldest fetching an enormously high price in auctions. The ones from the late ’80s and early ’90s don’t sell for quite as much yet, but it’s possible that museums and collectors of the future will one day be clamoring for those as well. For that reason, it’s generally frowned upon to hack or modify original hardware. Luckily, this replica of an Apple Macintosh didn’t harm any original hardware yet still manages to run software on bare metal.

The computer is built around a single-board computer, but this SBC isn’t like the modern ARM machines that have become so ubiquitous. It’s a 133MHz AMD 486 which means that it can run FreeDOS and all of the classic DOS PC games of that era without emulation. In order to run Apple’s legacy operating system, however, it does require the use of the vMac emulator, but the 486 is quite capable of handling the extra layer of abstraction. The computer also sports a real SoundBlaster ISA sound card, uses a microSD card for its hard drive, and uses an 800×600 LCD screen.

As a replica, this computer is remarkably faithful to the original and even though it doesn’t ship with a Motorola 68000 it’s still fun to find retro PC gamers that are able to run their games on original hardware rather than emulation. It reminds us of another retro 486 that is capable of running old games on new hardware without an emulator as well.

Change Desktop Environments On… IOS?

While Apple’s modern operating systems may seem like they exist independently of the rest of the computing world, they are actually close cousins of modern versions of Linux. The primary link between the two is that Apple’s offerings are Unix-based and even though Linux isn’t Unix in the strict sense, it’s built to be extremely Unix-like. Plenty of Linux software is POSIX-compliant, meaning it is effectively compatible with true Unix. But what can we do with that information? Well, to start, we can run Linux desktop environments on top of an iOS install on your favorite iPhone or iPad.

To be sure, we will be filing this hack in the “because you can” category. [Torrekie], the creator of this project, has plenty of builds (Google translate from Chinese) where the boundaries between things like Linux and Unix are either blurred or nonexistant. In this particular project, a jailbroken iOS device is essentially gifted a ported version of XFCE which is able to run fairly well on iOS thanks to its compatibility with Unix environments. Details on how this was accomplished are sparse without a full investigation of the source code right now, but you can head over to the repository if you are curious enough to try this for yourself. [Torrekie] does note that this will only work with iOS devices that have been jailbroken using the “unc0ver” jailbreak only though.

To be sure, the relationship between modern Apple operating systems and Linux is about as close as modern Porsches and the Volkswagen Beetle, but either way the two are close enough to get interesting and impressive mashups like this project. For now only time will tell if using XFCE on iOS will be useful for anyone, but other projects bridging the gap between Linux and Apple are sure to be more immediately fruitful.

A miniature iMac clone running MacOS Monterey

Cute Little IMac Clone Runs MacOS On A Tiny Screen

Building a Hackintosh – a non-Apple computer running MacOS – has been a favorite pastime of hackers ever since Apple made the switch from PowerPC to Intel hardware. Though usually built from commodity PC parts, some have successfully installed Apple’s OS onto various kinds of Intel-based single-board computers. [iketsj] used such a board to build a cute little Hackintosh, and apparently decided that if he was going to imitate Apple’s hardware, he might as well take some clues from their industrial design. The result can be seen in the video (embedded below) where [Ike] demonstrates a tiny iMac-like device with a 5″ LCD screen.

The brains of this cute little all-in-one are a Lattepanda, which is a compact board containing an Intel CPU, a few GB of RAM and lots of I/O interfaces. [Ike] completed it with a 256 GB SSD, a WiFi/Bluetooth adapter and the aforementioned LCD, which displays 800×480 pixels and receives its image through the mainboard’s HDMI interface.

The case is a 3D-printed design that vaguely resembles a miniaturized iMac all-in-one computer. The back contains openings for a couple of USB connectors, a 3.5 mm headphone jack and even an Ethernet port for serious networking. A pair of speakers is neatly tucked away below the display, enabling stereo sound even without headphones.

The computer boots up MacOS Monterey just like a real iMac would, just with a much smaller display. [Ike] is the first to admit that it’s not the most practical thing in the world, but that he would go out and use it in a coffee shop “just for the lulz”. And we agree that’s a great reason to take your hacks outside.

[Ike] built a portable Hackintosh before, and we’ve seen some pretty impressive MacOS builds, like this Mini iMac G4, a beautiful Mac Pro replica in a trash can, and even a hackintosh built inside an actual Mac Pro case.

Continue reading “Cute Little IMac Clone Runs MacOS On A Tiny Screen”

Screenshot of MacOS Lunar app

Controlling External Monitors On M1 Macs With Undocumented APIs

Display Data Channel (DDC) is a very useful feature of modern digital displays, as it allows the graphics card (and thus the OS) to communicate with a display and control features such as brightness and contrast. The biggest negative aspect here is the relatively poor access to this feature within an operating system like MacOS, which can change on a whim, as [Alin Panaitiu] found out recently.

Current displays implement DDC2, which is based around an I2C bus. Despite this, few OSes offer DDC-based control of features such as brightness which is where [Alin] developed a popular utility for MacOS that used undocumented APIs to talk DDC2 with external monitors via I2C. Until the new Arm-based Mac systems got released and these undocumented APIs got changed, that is.

Even though there are some ways around this, with some utilities using a simple software-based overlay to ‘dim’ the display, or using an external gamma adjustment via an external Raspberry Pi system hooked up to HDMI and using ddcutil, the best way is still via DDC2. Ultimately the new (undocumented) APIs that provide access were discovered, with another user going by the name [zhuowei] notifying [Alin] of the new IOAVServiceReadI2C and IOAVServiceWriteI2C methods with Arm-based MacOS.

After this it took some more sleuthing to figure out which of the devices on the I2C bus were which monitor in the case of multiple external monitors, but in the end it all worked again, adding hardware-based brightness controls back in the hands of MacOS users. Minus a few apparent hardware issues with HDMI on the M1 Mac Mini and some displays, but who is counting?

[Heading image: Screenshot of the Lunar app on MacOS. Credit: Alin Panaitiu]