Inside An Arcade Joystick

If you ever played an arcade game and wondered what was inside that joystick you were gripping, [Big Clive] can save you some trouble. He picked up a cheap replacement joystick, which, as you might expect, has a bunch of microswitches. However, as you can see in the video below, there are some surprising features that make sense when you think about it.

For one, there are plates you can put on the bottom to limit the joystick’s travel depending on the game. That is, some games only want the stick to move up and down or left and right. The knobs are quite nice, and [Clive] mentions the size and thread of the knob with the idea you could use them in different applications. You can also buy replacement knobs if you don’t want to get the whole assembly.

The mechanics are rugged but straightforward. The circuit board is surprisingly stylish but also simple. Still interesting to see what’s inside one of these, even though the schematic is extremely simple.

If you need an excuse to use one of these, how about an arcade table? If you aren’t a woodworker, grab a 3D printer instead.

Continue reading “Inside An Arcade Joystick”

Excerpt from 1995 Stratasys patent, showing the drawings of FDM layers, including brick layers.

Brick Layers: The Promise Of Stronger 3D Prints And Why We Cannot Have Nice Things

It is a fact of life that 3D printed parts from an FDM (fused deposition modeling) printer have weaknesses where the layers join. Some of this is due to voids and imperfect layer bonding, but you can — as [Geek Detour] shows us — work around some of this. In particular, it is possible to borrow techniques from brick laying to create a pattern of alternating blocks. You can check out the video below.

The idea of ‘brick layers’ with FDM prints was brought to the forefront earlier this year by [Stefan] of CNC Kitchen. Seven months after that video you still can’t find the option for these layers in any popular slicers. Why? Because of a 2020 patent filed for this technique by a 3D printing company which offers this feature in its own slicer. But is this patent even valid?

It’s no surprise that prior art already exists in the form of a 1995 Stratasys patent. The above image shows an excerpt from the 1995 Stratasys patent, covering the drawings of FDM layers, including brick layers. This covered all such ways of printing, but the patent expired in 2016. In 2019, a PrusaSlicer ticket was opened, requesting this feature. So what happened? A second patent filed in 2020 assigned to Addman Intermediate Holdings: US11331848B2.

Continue reading “Brick Layers: The Promise Of Stronger 3D Prints And Why We Cannot Have Nice Things”

Here’s Code For That AI-Generated Minecraft Clone

A little while ago Oasis was showcased on social media, billing itself as the world’s first playable “AI video game” that responds to complex user input in real-time. Code is available on GitHub for a down-scaled local version if you’d like to take a look. There’s a bit more detail and background in the accompanying project write-up, which talks about both the potential as well as the numerous limitations.

We suspect the focus on supporting complex user input (such as mouse look and an item inventory) is what the creators feel distinguishes it meaningfully from AI-generated DOOM. The latter was a concept that demonstrated AI image generators could (kinda) function as real-time game engines.

Image generators are, in a sense, prediction machines. The idea is that by providing a trained model with a short history of what just happened plus the user’s input as context, it can generate a pretty usable prediction of what should happen next, and do it quickly enough to be interactive. Run that in a loop, and you get some pretty impressive clips to put on social media.

It is a neat idea, and we certainly applaud the creativity of bending an image generator to this kind of application, but we can’t help but really notice the limitations. Sit and stare at something, or walk through dark or repetitive areas, and the system loses its grip and things rapidly go in a downward spiral we can only describe as “dreamily broken”.

It may be more a demonstration of a concept than a properly functioning game, but it’s still a very clever way to leverage image generation technology. Although, if you’d prefer AI to keep the game itself untouched take a look at neural networks trained to use the DOOM level creator tools.

All Aboard The Good Ship Benchy

We’ll go out on a limb here and say that a large portion of Hackaday readers are also boat-builders. That’s a bold statement, but as the term applies to anyone who has built a boat, we’d argue that it encompasses anyone who’s run off a Benchy, the popular 3D printer test model. Among all you newfound mariners, certainly a significant number must have looked at their Benchy and wondered what a full-sized one would be like. Those daydreams of being captain of your ship may not have been realized, but [Dr. D-Flo] has made them a reality for himself with what he claims is the world’s largest Benchy. It floats, and carries him down the waterways of Tennessee in style!

The video below is long but has all the details. The three sections of the boat were printed in PETG on a printer with a one cubic meter build volume, and a few liberties had to be taken with the design to ensure it can be used as a real boat. The infill gaps are filled with expanding foam to provide extra buoyancy, and an aluminium plate is attached to the bottom for strength. The keel meanwhile is a 3D printed sectional mold filled with concrete. The cabin is printed in PETG again, and with the addition of controls and a solar powered trolling motor, the vessel is ready to go. Let’s face it, we all want a try!

Continue reading “All Aboard The Good Ship Benchy”

[rasteri] holding his HIDMan USB dongle

HIDman Brings Modern Input To Vintage PCs

Retro computing enthusiasts, rejoice! HIDman, [rasteri]’s latest open source creation, bridges the gap between modern USB input devices and vintage PCs, from the IBM 5150 to machines with PS/2 ports. Frustrated by the struggle to find functioning retro peripherals, [rasteri] developed HIDman as an affordable, compact, and plug-and-play solution that even non-techies can appreciate.

The heart of HIDman is the CH559 microcontroller, chosen for its dual USB host ports and an ideal balance of power and cost-efficiency. This chip enables HIDman’s versatility, supporting serial mice and various keyboard protocols. Building a custom parser for the tricky USB HID protocol posed challenges, but [rasteri]’s perseverance paid off, ensuring smooth communication between modern devices and older systems.

Design-wise, the project includes a thoughtful circuit board layout that fits snugly in its case, marrying functionality with aesthetics. Retro computing fans can jump in by building HIDman themselves using the files in the GitHub repository, or by opting for the ready-made unit.

Continue reading “HIDman Brings Modern Input To Vintage PCs”

The Badge Hacks Of Supercon

We just got home from Supercon and well, it was super. It was great to see everyone, and meet a whole bunch of new folks to boot! The talks were great, and you can see a good half of them already on the Hackaday YouTube channel, so for that you didn’t even have to be there.

The badge hacks were, as with most years, out of this world. I’ll admit that my cheeks were sore from laughing so much after emceeing it this year, due in no small part to two hilarious AI projects, both of which were also righteous hacks in addition to full-on comedy routines. A group of six programmers got all of their hacks working together, and the I2C-to-MQTT bridge had badges blinking in sync even in the audience. You want blinkies? We had blinkies.

But the hack that warmed everyones’ hearts was “I figured it out” by [Connie]. Before this weekend, she had never coded MicroPython and didn’t know anything about I2C. But yet by Sunday afternoon, she made a sweet spiral animation on the LED wheel, and blinked the RGBs in the touchwheel.

What I love about the Hackaday audience is that, when the chips are down, someone doing something new for the first time is valued as much as some of the more showy work done by more experienced programmers. Hacking is also about learning and pushing out boundaries after all. The shouts for “I figured it out” were louder than any others in the graphics hacks category, it took home a prize, and I was smiling from ear to ear.

Hackaday can learn from this too. [Connie]’s hack definitely shows the need for another badge-hack category, first timers, because we absolutely should recognize first tries. There was also a strong petition / protest from people who had worked new hacks onto previous year’s badges – like [Andy] and [koppanyh]’s addition of bit-banged I2C to the Voja 4 badge from two years ago, and [Instant Arcade]’s Polar Pacman, which he named “Ineligible for this Competition” in protest. Touche.

We’re stoked to learn new things, see new hacks, and basically just catch up with everything folks did over the weekend. We can’t wait to see what you’re up to next year!

Nix + Automated Fuzz Testing Finds Bug In PDF Parser

[Michael Lynch]’s adventures in configuring Nix to automate fuzz testing is a lot of things all rolled into one. It’s not only a primer on fuzz testing (a method of finding bugs) but it’s also a how-to on automating the setup using Nix (which is a lot of things, including a kind of package manager) as well as useful info on effectively automating software processes.

[Michael] not only walks through how he got it all up and running in a simplified and usefully-portable way, but he actually found a buffer overflow in pdftotext in the process! (Turns out someone else had reported the same bug a few weeks before he found it, but it demonstrates everything regardless.)

[Michael] chose fuzz testing because using it to find security vulnerabilities is conceptually simple, actually doing it tends to require setting up a test environment with a complex workflow and a lot of dependencies. The result has a high degree of task specificity, and isn’t very portable or reusable. Nix allowed him to really simplify the process while also making it more adaptable. Be sure to check out part two, which goes into detail about how exactly one goes from discovering an input that crashes a program to tracking down (and patching) the reason it happened.

Making fuzz testing easier (and in a sense, cheaper) is something people have been interested in for a long time, even going so far as to see whether pressing a stack of single-board computers into service as dedicated fuzz testers made economic sense.