HUD-Like Clock Is A Transparent Time Display

While we have all types of displays these days, there’s something special about those that appear to float in the air. This HUD clock from [Kiwi Bushwalker] is one such example.

The build relies on four 8×8 LED matrixes to display the four digits that make up the time, run by the MAX7219 driver chip. However, the LEDs aren’t viewed directly — that would be too simple. Instead, the matrixes shoot their light up at an angle towards a tilted piece of clear acrylic. This creates a “heads-up display” look where the numbers appear to float in the air.  The clock gets accurate time from an NTP time server over WiFi, thanks to the ESP32 microcontroller that runs the show.

It’s a straightforward clock build in many ways, but we particularly like the use of the heads-up display technique. It’s almost surprising we don’t see these projects more often, for things like car dashboard displays or targeting womp rats in a T-16 landspeeder. If you’ve been whipping up your own HUD projects, don’t hesitate to notify the tipsline!

Continue reading “HUD-Like Clock Is A Transparent Time Display”

Resurrecting PONG, One Jumper Wire At A Time

Between 1976 and 1978, over one million Coleco Telstar video game consoles were sold. The Killer App that made them so desirable? PONG. Yep, those two paddles bouncing a ball around a blocky tennis court were all the rage and helped usher in a new era. And as [Dave] of Dave’s Garage shows us in the video below the break, the bringing the old console back to life proved simpler than expected!

Thankfully, the console is built around what [Dave] quite aptly calls “PONG on a chip”, the General Instrument AY-3-8500 which was designed to make mass production of consoles possible. The chip actually contains several games, although PONG was the only one in use on the Coleco.

After removing the CPU from the non-functional console, [Dave] breathed life into it by providing a 2 MHz clock signal that was generated by an Arduino, of all things. A typical 2N2222 amplifies the audio, and a quick power up showed that the chip was working and generating audio.

Video is smartly taken care of just as it was in the original design, by combining various signals with a 4072 OR gate. With various video elements and synchronization patterns combined into a composite video signal, [Dave] was able to see the game on screen, but then realized that he’d need to design some “paddles”. We’ll leave that up to you to watch in the video, but make sure to check the comments section for more information on the design.

Is a breadboarded PONG console not retro enough for you? Then check out this old school mechanical version that was found languishing in a thrift store.

Continue reading “Resurrecting PONG, One Jumper Wire At A Time”

Open World 3D Game Runs On The RP2040 Microcontroller

The Raspberry Pi RP2040 is versatile and cheap, but it’s by no means known as the most powerful microcontroller on the world. Regardless, it is capable of great things, as demonstrated by [Bernhard Strobl], who built a 3D open world game engine that runs on that very platform.

The graphics are simple, but with a compelling low-poly style.

The game engine itself is built to run on the Pimoroni PicoSystem, which is essentially a handheld gaming platform built around the RP2040 chip. The engine takes advantage of the multi-core nature of the RP2040, using the second core as a dedicated rasterizer to keep frames pumping out.

The basic game [Bernhard] built in the engine features 50 NPC characters and 50 further zombies, all running at the same time. Specs are impressive, with the engine’s included game simulating a “world” of 120 x 120 meters in size. As a maximum limit, the engine can handle a 2.56 x 2.56 km world, thanks to the use of 8-bit integers for directional data. However, limited storage space would make it difficult to achieve such a large world in practice.

We don’t get to see much of the gameplay in the YouTube video, but the quality of the graphics is impressive for such a cheap microcontroller. It seems within the bounds of possibility that an actual open-world game could be practical on the PicoSystem if only enough storage were available. Video after the break.

Continue reading “Open World 3D Game Runs On The RP2040 Microcontroller”

After 40 Years, Adobe Releases PostScript Source V0.10 For Posterity

Celebrating their 40th anniversary, Adobe released the source code of PostScript v0.10 to the Computer History Museum. But before you ask, we tried and it won’t compile with GCC out of the box – it’s missing at least except.h, but we’d bet you can hack around it with a little dedication.

PostScript is the precursor to PDF, and at the time it was revolutionary. Coming out of Xerox’s PARC, the idea was to create device- and resolution-independent documents where all the characters, symbols, and graphics are described by their shapes instead of bitmaps. PostScript’s secret sauce was in how it went back to a pixel-based representation for end use on monitors or printers. It’s no exaggeration to say that this ended up revolutionizing the print industry, and it makes sense in the CHM’s collection.

Still, on the trade-secret front, you shouldn’t get too excited. Apparently the code released here only includes a first-draft version of Adobe’s font hinting algos, as evidenced by the early version number. Nonetheless, you’re free to dig into pretty readable C. For instance, vm.c contains the virtual machine that implements PostScript’s almost Forth-like language.

Of course, if you’d just like to mess around with PostScript, downloading a modern open-source interpreter like GhostScript probably makes a lot more sense. Even so, it’s fun to see the original codebase where it all started.

VHS-Decode Project Could Help Archival Efforts

Archiving data from old storage media can be a highly complex process. It can be as simple as putting a disk in an old drive and reading out the contents. These days, though, the state of the art is more complex, with advanced techniques helping to recover the most data possible. The VHS-Decode project is an effort to improve the archiving of old analog video tapes.

The project is a fork of the LaserDisc-focused ld-decode, started by [Chad Page] back in 2013, which readers may recall was used for the Domesday Duplicator — a device aimed to recover data from the BBC’s ancient Domesday LaserDiscs. VHS-Decode is designed to capture the raw RF signals straight out of a tape head, which are the most direct representation of the signals on the physical media. From there, these signals can be processed in various ways to best recover the original audio and video tracks. It’s much the same technique as is used by floppy disk recovery tools like the FluxEngine.

Despite the VHS name, the code currently works with several tape formats. VHS, S-VHS and U-Matic are supported in PAL and NTSC formats, while Betamax, Video8 and High8 tape capture remains a work in progress. Using the code requires a video tape player with test points or traces that make signals from the head accessible. Capturing those signals is achieved via a Domesday Duplicator hardware device, or alternatively a Conexant CX2388x analog-to-digital converter, often found in many old PCI TV tuner cards. Various techniques can then be used to turn the captured signals into watchable video files.

We love a good archival project, and VHS-Decode is clearly a useful tool when it comes to salvaging old video tapes. Continue reading “VHS-Decode Project Could Help Archival Efforts”

Building A Lamp To Help With Seasonal Depression

The sun plays a big biological role in our lives, regulating our circadian rhythms and doing a whole bunch more as well. Some people find the reduced sunlight of the winter months to have negative emotional effects, and rely on artificial lighting to counteract this. [Samasrinivas] built a lamp of their own design for this very purpose.

The lamp is constructed around an abstract sculptural form made in air-dry clay. Light is provided via a string of Neopixel RGBW LEDs. Run by an Adafruit Feather Huzzah, they’re programmed to trigger with the sunrise to provide a bright light in the morning on grey days when the outside world isn’t quite delivering the same. The Adafruit queries an online weather API to get the right sunrise time every day without requiring user intervention. The lamp can also be programmed to provide warm light during later hours.

We’ve featured a few circadian lighting projects before, including one that goes for a whole-of-house effect with smart bulbs. For some, they’re a valuable way to help boost mood and maintain consistent sleep cycles.

Push ESP32 Over The Air Updates From GitHub

Let’s say you’re working on an ESP32 project to send off to your grandma; something she can just plug in and it will start automatically monitoring her plant’s water levels. But you discover a critical flaw in the firmware and need to update it. Does she send it back? Do you walk her through dropping the update via the Arduino IDE OTA? The easiest way would be to plan and use something like esp_ghota, an OTA framework by [Justin Hammond].

OTA (Over-The-Air) updates are a fantastic feature of the ESP32, and we’ve covered libraries that make it easy. But compared to those earlier projects, esp_ghota takes a different approach. Rather than hosting a web server where someone can drop a binary, it looks at GitHub releases. [Justin] had to include a streaming JSON parser, as GitHub API responses tend to be beefy. The workflow is straightforward, push a new commit to your main branch on GitHub, and the action will trigger, building a few different versions. Your little plant watering reminder at your grandma’s will check every so often to see if a new version has been pushed and can update with rollback on littlefs, fatfs, and spiffs filesystems.

It’s an incredible project that we suspect will be very useful for many folks to update their projects. [Justin] even includes an example GitHub action and a sample ESP32 project.