Automation For The NES

Old hardware might not be anywhere close to as powerful as modern technology, but it does have a few perks. Aesthetics can of course drive the popularity of things like retro gaming systems, but the ease of understanding the underpinnings of their inner workings is also critical. The Nintendo Entertainment System, now nearly four decades old, is a relatively simple machine by modern standards and this lends the system to plenty of modifications, like this controller that allows the system to be somewhat automated.

The original NES controller used a fairly simple shift register to send button presses to the system. The system outputted a latch signal to the controller, the shift register would take as input the current state of the buttons, and then would send them one-by-one to the system at a rate of around 1000 times per second. These signals can be sent without a controller easily enough, too. This build uses a CD4021 shift register, which is the same as the original controller, but instead of reading button states it accepts its inputs from a separate computer via a latching circuit. In this case, the separate computer is a custom design that came about through adapting cassette storage for a 6502-based computer, but it could come from anything else just as easily.

With this system in place, it’s possible to automate gameplay to some extent. Since the system can’t get feedback about the game in its current state, it requires some precise timing to get it to play the game well, and a lot of tuning needs to go into it. This isn’t just a one-off, either. Similar methods are how we get tool-assisted speedruns of games and although these are often done in emulators instead of on real hardware, they can result in some interesting exploits.

Continue reading “Automation For The NES”

Low Res Arduino Thermal Camera

Do you know how you see those cheap telescopes at the department store? The box has beautiful pictures that probably came from the Hubble. What you will see is somewhat different. You have to carefully look at [upir’s] Arduino thermal camera project because it intersperses pictures of what you expect an 8×8 sensor will produce with images produced by a much better camera.

The actual project — watch the video below — is undoubtedly neat. An inexpensive 8×8 IR sensor and an 8X8 LED panel join to form a crude but usable thermal camera.

Continue reading “Low Res Arduino Thermal Camera”

A Guide To Field Stripping Your Voyager Tricorder

For the last few years, [Mangy_Dog] has been working on what is easily the most technically and aesthetically impressive Star Trek tricorder prop the world has ever seen. With each new version of the hardware we’ve gotten the occasional peek under the hood or source code walk-through, but these limited presentations have made it somewhat difficult to really appreciate the scale of this undertaking.

But now thanks to this epic hour-long tour of the hardware and software that makes up version 2.5 of hisĀ Voyager tricorder, we can finally see just how incredible the engineering that’s gone into this project really is. Every detail has been meticulously considered to deliver a final product that’s not only as visually accurate as possible, but reliable enough to actually carry around. Continue reading “A Guide To Field Stripping Your Voyager Tricorder”

Thin Client Wysens Up To Become OpenWrt Router

For some of us, unused hardware lying around just calls to be used. It seems like [Miles Goodhew] heard the call, and wanted to put a Dell Wyse 3040 thin client to use — in this case as a wireless router. It seems simple enough. OpenWrt supports x64_64 targets, and the thin client has 2G of ram and 8G of flash. It should make for a very capable router.

And before you tell us that it’s just another computer, and that installing OpenWrt on a miniature x86 machine isn’t a hack, note that there were some speedbumps along the way. First off, the motherboard has integrated storage, with the not-very-useful ThinLinux installed, and the system BIOS locked down to prevent reinstall. There is a BIOS clear button on the system’s diminutive motherboard. With the BIOS lock out of the way, a real Linux system can be installed on the small 8 GB mmcblk device.

The next issue the the CPU. It’s an Intel Atom x5 z-series. OpenWrt won’t actually boot on that oddball, not-quite- processor, so [Miles] opted to install Fedora and test via virtualization instead. If that statement makes you do a double-take, you’re not alone. The initial explanation sounded like the mobile-centric processor was missing instructions to make OpenWrt run, but virtualization doesn’t add any instructions for a guest to use. It turns out, the problem is a missing serial port that OpenWrt uses as a debugging output by default.

After a custom OpenWrt compile, the device comes up just as you’d expect, and while it would be underpowered as a desktop, OpenWrt runs happily shuffling bits from Ethernet to wireless adapter at respectable speeds. As [Miles] points out, there’s nothing ground-breaking here, but it’s nice to have the details on re-using these machines compiled in one place. And if you too love the idea of putting OpenWrt in places where nobody intended, we’ve got you covered.

A Speaker With Dancing Ferrofluid

A speaker project isn’t usually very different, but we couldn’t help but notice [Electronoob’s] latest speaker not for its audio performance but because it features dancing ferrofluid and is an unusual work of art. The housing is 3D printed and includes some translucent portions for LEDs.You can see and hear the speaker at work in the video below.

Apparently, not all ferrofluid is created equal. You can get just the fluid, but then you have to work up some sort of carrier fluid. You can also get the material already in a glass with a carrier fluid, which is a better option. Apparently, you can also get cheap material that is little more than iron filings suspended in a liquid. That’s not really ferrofluid.

Continue reading “A Speaker With Dancing Ferrofluid”

Adding Power Over Ethernet Support To A Mac Mini

Wiring up a Mac Mini's new PoE module. (Credit: Ivan Kuleshov)
Wiring up a Mac Mini’s new PoE module. (Credit: Ivan Kuleshov)

Despite all the fancy features on modern Apple Mac systems like USB-C and Thunderbolt, they have one glaring omission: the absolute lack of any form of Power-over-Ethernet (PoE). This is an issue that [Ivan Kuleshov] sought to rectify with some delicate board-level surgery. Since the original Ethernet jack on the lucky vic^Wrecipient M1 Mac Mini does not have integrated magnetics (magjack), tapping into the appropriate lines would have been rather awkward, with questionable results on the side of the PCB traces that would suddenly be used for PoE purposes they were never designed for.

Rather than choosing this level of experimentation, [Ivan] decided to patch in the Silvertel AG5412 PoE module with plentiful patch wires. This involved removing the Ethernet jack and bypassing the PCB and the magnetics module completely for the new PoE functionality, instead using the magnetics pilfered from a magjack and routing from there back to the mainboard as well as to the PoE module’s inputs. Continue reading “Adding Power Over Ethernet Support To A Mac Mini”

A Digital Camera For The 1984 Market

Digital cameras are a ubiquitous consumer and professional product here in 2023, and because of the wide availability of parts it’s relatively straightforward to construct one for yourself. Four decades ago though, film was king, but that hasn’t stopped [Georg Lukas] from building a digital camera for the 1984 market. The hardware is definitely from recent years, the extremely affordable ESP32-cam board that many of us will have worked with already. Meanwhile the 1984 part lies in the recording format, it makes EGA 16-colour low-res pictures and stores them in the archaic TGA file format.

A low-res camera is fun, but there are two other angles on this which are definitely worth some time. The first is that his description and code are worth a read for anyone with an interest in programming an ESP32 camera, while the second invites us to consider whether such a camera could have been made using parts available in 1984. We remember camera peripherals for 8-bit microcomputers which were a C-mount lens positioned over a decapped RAM chip, and thus we can’t help wondering whether an RGB split to three of those sensors could have been constructed. Whether a 6502 or a Z80 with 64k of memory could have processed the three images into one is another matter, but at least if any of you want to try there’s a handy 1984 computer still popping up on eBay.