Building A Robot Partner To Play Air Hockey With

Air hockey is one of those sports that’s both incredibly fun, but also incredibly frustrating as playing it by yourself is a rather lonely and unfulfilling experience. This is where an air hockey playing robot like the one by [Basement Builds] could come in handy. After all, after you finished building an air hockey table from scratch, how hard could it be to make a robot that merely moves the paddle around to hit the puck with?

An air hockey table is indeed not extremely complicated, being mostly just a chamber that has lots of small holes on the top through which the air is pushed. This creates the air layer on which the puck appears to float, and allows for super-fast movement. For this part countless chamfered holes were drilled to get smooth airflow, with an inline 12 VDC duct fan providing up to 270 CFM (~7.6 m3/minute).

Initially the robot used a CoreXY gantry configuration, which proved to be unreliable and rather cumbersome, so instead two motors were used, each connected to its own gearbox. These manipulate the paddle position by changing the geometry of the arms. Interestingly, the gearbox uses TPU for its gears to absorb any impacts and increase endurance as pure PLA ended up falling apart.

The position of the puck is recorded by an overhead camera, from where a Python script – using the OpenCV library running on a PC – determines how to adjust the arms, which is executed by Arduino C++ code running on a board attached to the robot. You could just copy this code yourself, but as the video makes clear, this is basically cheating as you don’t get to enjoy doing all the trigonometry and physics-related calculating and debugging fun.

Continue reading “Building A Robot Partner To Play Air Hockey With”

Printing An Underwater Diving Helmet With Floating Air Supply

Old-school diving helmets are deceivingly simple, even if they are – as [Hyperspace Pirate] puts it in a recent video – essentially the equivalent of an upside-down bucket with an air hose supplying air into it. While working on a 3D-printed diving helmet, he therefore made sure to run through all the requisite calculations prior to testing out said diving helmet in his pool.

The 3D model for the diving helmet can be found over at Thingiverse if you too feel like getting wet, just make sure that you size it to fit your own head. In the video CAD (cardboard-aided design) was used to determine the rough bounding box for the head, but everyone’s head is of course different. The helmet was printed in ABS, with the sections glued together before being covered in fiberglass and epoxy resin. Note that polyester resin dissolves ABS, so don’t use that.

On the helmet is a 1/4″ SAE fitting for the air hose, with the air provided from an oil-less compressor that in the final iteration is strapped to a floatation device along with an inverter and batteries. Of note is that you do not want to use a gas-powered compressor, as it’ll happily use any CO2 and CO it exhausts to send down the air hose to your lungs. This would be bad, much as having vaporized oil ending up in your lungs would be bad.

Although in the video the system is only tested in a backyard pool, it should be able to handle depths of up to ten meters, assuming the compressor can supply at least 41 L/minute. With some compressor-side miniaturization and waterproofing, [Hyperspace Pirate] reckons it would work fine for some actual ocean exploration, which while we’re sure everyone is dying to see. Perhaps don’t try this one at home, kids.

Continue reading “Printing An Underwater Diving Helmet With Floating Air Supply”

3D Printing A Harmonic Pin-Ring Gearing Drive

Cycloidal drives are a type of speed reducer that are significantly more compact than gearboxes, but they still come with a fair number of components. In comparison, the harmonic pin-ring drive that [Raph] recently came across as used in some TQ electric bicycles manages to significantly reduce the number of parts to just two discs. Naturally he had to 3D model his own version for printing a physical model to play with.

How exactly this pin-ring cycloidal drive works is explained well in the referenced [Pinkbike] article. Traditional cycloidal drives use load pins that help deal with the rather wobbly rotation from the eccentric input, but this makes for bulkier package that’s harder to shrink down. The change here is that the input force is transferred via two teethed discs that are 180° out of sync, thus not only cancelling out the wobble, but also being much more compact.

It appears to be a kind of strain wave gearing, which was first patented in 1957 by C.W. Musser and became famous under the Harmonic Drive name, seeing use by NASA in the Lunar Rover and beyond. Although not new technology by any means, having it get some more well-deserved attention is always worth it. If you want to play with the 3D model yourself, files are available both on GitHub and on MakerWorld.

Mini Multi-Arcade Game Cabinets With An ESP32 And Galagino

Most people love arcade games, but putting a full-sized arcade cabinet in the living room can lead to certain unpleasant complications. Ergo the market for fun-sized cabinets has exploded alongside the availability of cheap SBCs and MCUs that can run classical arcade titles. Microcontrollers like the ESP32 with its dual 240 MHz cores can run circles around the CPU grunt of 1980s arcade hardware. Cue [Till Harbaum]’s Galagino ESP32-based arcade emulator project, that recently saw some community versions and cabinet takes.

There was a port to the PlatformIO framework by [speckhoiler] which also added a few more arcade titles and repurposed the enclosure of an off-the-shelf ‘My Arcade’ by stuffing in an ESP32-based ‘Cheap Yellow Display‘ (CYD) board instead. These boards include the ESP32 module, a touch display, micro SD card slot, sound output, and more; making it an interesting all-in-one solution for this purpose.

Most recently [Davide Gatti] and friends ported the Galagino software to the Arduino platform and added a 3D printed enclosure, though you will still need to source a stack of parts which are listed in the bill of materials. What you do get is a top display that displays the current game title in addition to the display of the usual CYD core, along with an enclosure that can be printed both in single- or multi-color.

There’s also a build video that [Davide Gatti] made, but it’s only in Italian, so a bit of a crash course in this language may be required for some finer details.

Continue reading “Mini Multi-Arcade Game Cabinets With An ESP32 And Galagino”

Running Ocarina Of Time On The Apple Watch

At this point in time it can be safely stated that the question ‘Does it run Doom?’ defaults to a resounding ‘Yes’. This raises the question of what next games should be seen as some kind impressive benchmark, with [Game of Tobi] gunning heavily for Nintendo 64 titles. Most recently he ported Legend of Zelda: Ocarina of Time to the Apple Watch, with the port almost ready for release along with Super Mario 64 after a few more issues are fixed.

Although there are a few approaches when it comes to porting Nintendo 64 games to other systems, if the target system is effectively a small PC with all of the amenities such as rendering APIs, then using the Ship of Harkinian project as the basis is a good start. This is what [Toby] did with the Apple Watch, and after some work it runs Ocarina of Time at a solid pace, with as the main flaw being busted text rendering.

Of course, the overwhelming flaw with any small gaming system and touchscreen-only systems is that our meaty paws do not shrink that well, and using telepathy to control game systems still isn’t a feature. Thus the biggest compromise with the Apple Watch port is that you have the controls overlaid on the screen. This could probably be compensated for with a Bluetooth controller or similar, but that poses its own problems when it comes to two-handed playing.

Practical issues aside, it’s pretty amazing that just about any ‘smart’ device that we carry around with us can also be a full-featured retro gaming system, and we appreciate [Toby]’s efforts in making this a reality.

Continue reading “Running Ocarina Of Time On The Apple Watch”

Turning A GDB Coredump Debug Session Into A Murder Mystery

Debugging an application crash can oftentimes feel like you’re an intrepid detective in a grimy noir detective story, tasked with figuring out the sordid details behind an ugly crime. Slogging through scarce clues and vapid hints, you find yourself down in the dumps, contemplating the deeper meaning of life and  the true nature of man, before hitting that eureka moment and cracking the case. One might say that this makes for a good game idea, and [Jonathan] would agree with that notion, thus creating the Fatal Core Dump game.

Details can be found in the (spoiler-rich) blog post on how the game was conceived and implemented. The premise of the game is that of an inexplicable airlock failure on an asteroid mining station, with you being the engineer tasked to figure out whether it was ‘just a glitch’ or that something more sinister was afoot. Although an RPG-style game was also considered, ultimately that proved to be a massive challenge with RPG Maker, resulting in this more barebones game, making it arguably more realistic.

Suffice it to say that this game is not designed to be a cheap copy of real debugging, but the real deal. You’re expected to be very comfortable with C, GDB, core dump analysis, x86_64 ASM, Linux binary runtime details and more. At the end you should be able to tell whether it was just a silly mistake made by an under-caffeinated developer years prior, or a malicious attack that exploited or introduced some weakness in the code.

If you want to have a poke at the code behind the game, perhaps to feel inspired to make your own take on this genre, you can take a look at the GitHub project.

Arduino’s New AI-Centric Board Is The VENTUNO Q

There have been many questions about what direction Arduino would take after being bought by Qualcomm. Now it would seem that we’re getting a clearer picture. Perhaps unsurprisingly the answer appears to be ‘AI’, with the new Arduino VENTUNO Q SBC being advertised as ‘democratizing AI’ in the Qualcomm press release, although it also references robotics.

This new board is based around the Dragonwing IQ-8275 SoC along with an STM32H5F5 MCU, making it somewhat of a beefier brother of the previously covered Arduino Uno Q, which also offers an SoC/MCU hybrid solution. On the product page we can see the overall specifications for this new board, where the release date is specified as ‘soon’.

Its IQ-8275 SoC is part of Qualcomm’s IQ8 series, with eight 2.35 GHz ARM cores and an Adreno 623 GPU, paired with 16 GB of LPDDR5. The Cortex M33-based STM32H5F5 MCU comes with its own 4 MB of Flash and 1.5 MB of RAM, all on a board that’s significantly larger than the Uno Q and isn’t crippled by a single USB-C port as SoC I/O.

Although clearly more aimed at industrial and automation applications than the solution-in-search-of-a-problem Uno Q board, it remains to be seen whether this board will catch on with Arduino fans, or whether Qualcomm’s goal is more to break into whole new markets under the Arduino brand.