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. Video after the break.

Continue reading “Building A Lamp To Help With Seasonal Depression”

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.

Hyundai To Lead US Market For Hydrogen Fuel Cell Trucks

Hydrogen has long been touted as a potential fuel of the future. While it’s failed to catch on in cars as batteries have taken a strong lead, it still holds great promise for larger vehicles like trucks.

Hyundai have been working diligently in this space over the last few years, with its Xcient line of fuel-cell powered trucks. It’s set to dominate the world of hydrogen trucking in the US as it brings a fleet of vehicles to California next year.

Continue reading “Hyundai To Lead US Market For Hydrogen Fuel Cell Trucks”

This Gun Should Be Banned During The Month Of December

Do you play Whamageddon? It’s a pastime for the month of December, something like the Game, in which you lose when you are exposed to the 1984 Wham! Christmas classic, Last Christmas. Such is the pervasive nature of Christmas music at this time of year, it’s extremely difficult not to encounter a bit of unexpected Wham! during the month. At Tkkrlab hackerspace in the Netherlands, they evidently take their Whamageddon seriously. Seriously enough it seems, to weaponise it, because one of their members has created a Wham! gun.

Starting with a compressed-air kit gun (we think that’s a sealant cartridge gun, for Anglophones) because of its comedy plastic-firearm-like appearance, they’ve put in an AliExpress audio sample player module and a speaker. Add a suitably hazard-warning paint job, and Wham! Any unwary visitor might be ambushed and lose their Whamageddon game before they can even pop the cap on a refreshing bottle of Club-Mate.

It’s all a bit of seasonal fun, but deadly serious if the dulcet tones of George Michael are anathema to you. Don’t get mad, get equal, never visit a Dutch hackerspace in December without first fixing your noise cancelling headphones.