Wolfenstein 3D Clone Makes Arduboy Debut

The 8-bit Arduboy isn’t exactly a powerhouse by modern gaming standards, or even really by old school standards for that matter. But for the talented developers that produce software for the system, that’s just part of the challenge. To date the monochromatic handheld has seen miniaturized takes on many well-known games, with several taxing the hardware beyond what most would have assumed possible.

But the latest entry into this catalog of improbable software, WolfenduinoFX, is easily the most technically impressive. As the name implies, this is a “demake” of 1992’s iconic Wolfenstein 3D. It features 10 levels based on the original game’s shareware release, with the enemies, weapons, and even secret rooms lovingly recreated for the Arduboy’s 128 x 64 OLED display.

Arduboy FX Mod-Chip

Now, those of you who have experience working with the ATMega32u4 microcontroller at the heart of the Arduboy might think this is impossible…and you’d be right. The only way developer [James Howard] was able to pull this feat off was by leveraging the extended flash memory offered by the Arduboy FX.

This upgrade, which was developed in conjunction with the community, allows the handheld to hold hundreds of games by loading them from an SPI flash chip. For WolfenduinoFX, that flash chip is used to hold graphical assets for the game that would otherwise be too large to fit on the MCU alone.

When we looked at the Arduboy FX back in 2021, it was clearly a must-have upgrade, so it’s no wonder that the newest version of the handheld has the capability built-in. Now that games are actually requiring the expanded flash to function, it seems we’ve officially entered into a new era for the quirky little handheld that [Kevin Bates] first sent our way nearly a decade ago. Long live the Arduboy!

Continue reading Wolfenstein 3D Clone Makes Arduboy Debut”

A Look At All The Badge Hacks Of Supercon 2023

For those of you who’ve had the opportunity to join us in Pasadena for Supercon, you’ll know it’s a wild ride from start to finish. Singling out a single moment as our favorite is pretty much impossible, but certainly the Sunday Badge Hacking Ceremony has to rank up there. It’s the culmination of ~78 hours of intense hardware and software hacking, and that’s not even counting the pre-show work that attendees often put into their creations. Every year, without fail, this community manages to pull off badge hacks that are beyond anything we could have imagined — and we’re the ones who made the thing in the first place.

Unfortunately, in the mad rush, we’ve never had a chance to actually photograph the hacked badges and share them with the Hackaday readers. This year, at the urging of some of the badge hackers themselves, we were able to throw together a suitable overhead light at the last minute and actually snapped shots of each badge after it was presented to the audience.

The resulting images, sorted by badge hacking category, are below. While some proved difficult to photograph, especially with an impromptu setup, we’re happy to at least have a complete record of this year’s creations. Hopefully we’ll be able to improve on our technique for 2024 and beyond. If yours shows up, or if you’d like to share your appreciation, sound off in the comments below!

Continue reading “A Look At All The Badge Hacks Of Supercon 2023”

Meshtastic And Owntracks To Kick Your Google Habit

I have an admission to make. I have a Google addiction. Not the normal addiction — I have a problem with Google Maps, and the timeline feature. I know, I’m giving my location data to Google, who does who-knows-what-all with it. But it’s convenient to have an easy way to share location with my wife, and very useful to track my business related travel for each month. What we could really use is a self-hosted, open source system to track locations and display location history. And for bonus points, let’s include some extra features, like the ability to track vehicles, kids, and pets that aren’t carrying a dedicated Internet connection.

You can read the title — you know where we’re going with this. We’re setting up an Owntracks service, and then tying it to Meshtastic for off-Internet usability. The backbone that makes this work is MQTT, a network message bus that has really found its niche in the Home Assistant project among others. It’s a simple protocol, where clients send brief messages labeled by topic, and can also subscribe to specific topics. For this little endeavor we’ll use the Mosquito MQTT broker.

One of the nice things about MQTT is that the messages are all text strings, and often take the form of JSON. When trying to get two applications to talking using a shared MQTT server, there may need to be a bit of translation. One application may label a field latitude, and the other shortens it to lat. The glue code to put these together is often known as an MQTT translator, or sometimes an MQTT bridge. This is a program that listens to a given topic, ingests each message, and sends it back to the MQTT server in a different format and topic name.

The last piece is Owntracks, which has a recorder project, which pulls locations from the MQTT server, and stores it locally. Then there’s Owntracks Frontend, which is a much nicer user interface, with some nice features like viewing movement a day at a time. Continue reading “Meshtastic And Owntracks To Kick Your Google Habit”

Hackaday Prize 2023: An Anti-Tremor Handle, With No Electronics

Many of us will have seen the various active assistive devices which have appeared over the last few years to help people with a hand tremor. Probably the best known was a fork with a set of servos and an accelerometer, that kept the end of the utensil steady despite the owner’s hand movements. It’s a field which has the potential to help many people, but it’s undeniable that such technology comes with a cost.

What if the same effect could be achieved passively, without all those electronics? It’s something [Jacob] is investigating with his mechanical anti-tremor cup handle. It’s a university project completed as part of his studies so it’s very much a work-in-progress which if we’re being fair isn’t quite there yet, but we think the potential in this idea of bringing a useful assistive device at least bears further attention.

The write-up is available as a Norwegian PDF file so takes a little bit of Google Translate cut and pasting for an Anglophone. Sadly due to what must be report format requirements set by the university it’s long on procedure and shorter on engineering calculations than we’d like, but there’s an attempt to calculate the properties of the helical springs in each of the joints to match the likely forces. Our intuition is that the design as shown would require significantly more mass on the end of it than that of the mug and beverage alone to achieve some form of stability, but despite that as we said it’s an interesting enough idea that it deserves more thought.

Hand tremor assistive devices have appeared more than once on these pages before, here’s one for soldering that enlists the aid of a camera gimbal.

A handheld computer made on a piece of prototyping board running a Tetris clone

Tetris Clone Uses 1000 Lines Of Code, And Nothing Else

If you’re programming on a modern computer, you typically make use of lots of work done by other people. There’s operating systems to abstract away the complexities of modern hardware, standard libraries to implement common tasks, and tons of third-party libraries that prevent you from having to reinvent the wheel all the time: you’re definitely not the first one trying to draw graphics onto a screen or store data in a file.

But if it’s the wheels you’re most interested in, then there’s nothing wrong with inventing new ones now and then. [Michal Zalewski], for instance, has made a beautiful Tetris clone in just 1000 lines of C, without using anyone else’s code.

The purpose of this exercise is to show that it’s possible to make a game with graphics comparable to modern, complex computing systems, without relying on operating systems or third-party libraries. The hardware consists of not much more than an ARM Cortex-M7 MCU, a 240×320 LCD screen and a few buttons soldered onto a piece of prototyping board, all powered by a set of AAA batteries.

The software is similarly spartan: just pure C code running directly on the CPU core. Graphic elements, some generated by AI and others hand-drawn, are stored in memory as plain bitmaps. They are manipulated by 150 lines of code that shuffles sprites around the display at a speed high enough to generate smooth motion. Game mechanics take up about 250 lines, while sound consists of simple square-wave chiptunes written in just 50 lines of code.

[Michal]’s code is very well documented, and his blog post gives even more details about all the problems he had to solve. One example is the length of keypresses: when do you interpret a keypress as a single “press”, and when does it become “press and hold”? Apparently, waiting 250 ms after the first press and 100 ms after subsequent ones does the trick. [Michal] is a bit of an expert on bare-bones game programming by now: he has previously pushed several 8-bit micros to their very limits. Third-party libraries can make your programming life a lot easier, but it’s good to reflect on the dangers of relying too much on other people’s code.

Continue reading Tetris Clone Uses 1000 Lines Of Code, And Nothing Else”

Squid-Con Brings Joy To All

While we’re always happy to see accessibility aids come into fruition, most of them focus on daily tasks, not that there’s anything wrong with that. But what about having some fun? That’s the idea behind [Akaki Kuumeri]’s accessibly-awesome Joy-Con controller, the Squid-Con, which provides access to every button with just one hand. It even has tripod and AMPS mounts.

The joysticks themselves are controlled with the thumb and pinky, although some of [Akaki]’s beta testers changed it up a bit. That’s okay, because it’s designed to be comfortable in a variety of positions for either hand. As for the ABXY buttons, those are actuated using 3D-printed arms that connect to a central piece which [Akaki] calls the turbine.

But perhaps the coolest part of this project is the flexures that actuate the shoulder buttons (L, R, zL, and zR) on the controllers. It’s a series of four arms that are actuated by bringing the fingers back toward the palm. If all of this sounds confusing, just check out the video after the break.

We love flexures around here, and we’ve seen them in everything from cat feeding calendars to 6-DOF positioners to completely new kinds of joysticks.

Continue reading “Squid-Con Brings Joy To All”

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”