Think You Know How Mario Kart Works?

In what looks like the kickoff of a fun video series, [MrL314] takes us on a quick but deep tour of how the AI in Mario Kart works. (Video, embedded below.) Don’t play much Mario Kart anymore? Well, have a look anyway because some of the very simple tricks that make Bowser pass Princess Peach without running into her might be useful in any manner of pre-programmed navigation scenarios.

Quick spoilers. The CPU players move through different zones, each with a desired speed and a vector direction field that changes the direction they should point in. Only when they run off course do they actually compute headings to their target. Setting this desired direction and speed beforehand greatly reduces the on-the-fly computation needed.

Then you throw other players into the mix, and a very simple distance-dependant turning algorithm makes for clean overtaking. This effect is hand-tweaked for the particular racecourse, though, because you don’t want Luigi driving off the thin stretches on Rainbow Road. For more technical details, you can check out [MrL314]’s notes.

If anything, this video gives us a further appreciation of the clever little hacks that create apparently complex interactions from tremendously simple rules. Remember Mario Kart when you’re programming in that next multi-gigabyte neural network model, OK?

Continue reading “Think You Know How Mario Kart Works?”

Dithering Makes Everything Cooler: Now Even Animated

[dukope] was writing a game, Return of the Obra Dinn, with a fantastic visual style. One of the choices was to make everything in glorious one-bit color, otherwise known as black and white, and then dither it back to monochrome. You know, like they used to do on the Mac Plus.

If dithering is your aesthetic, then it makes a ton of sense to take it seriously. And it’s absolutely beautiful – check out the video below.

But what’s even more amazing is [dukope]’s attention to detail on the dithering. For instance, this post on the TIG forums details the problems and solutions when you have a dithered image that needs to also be animated. You want the dots to stay relatively constant on the object as the virtual camera pans across the scene, and that’s going to necessitate a custom algorithm. And if you think that’s cool, have a look at how the book at the center of the game is animated.

What can we say. We loved dithering before, but this post has made our love even deeper.

Continue reading “Dithering Makes Everything Cooler: Now Even Animated”

Moteus Open Source BLDC Controller Gets Major Upgrade

[Josh Pieper] of mjbots Robotic Systems just released a major revision to his moteus open sourced brushless DC (BLDC) electric motor controller. The update adds a flexible I/O subsystem which significantly expands the kinds of feedback encoders and peripherals the controller can accept. In the video below the break, [Josh] walks through eleven different example configurations. If you prefer, these examples are also presented in article form on his blog.

The moteus controller originally came about when [Josh] was developing the quad A0, an open source dynamic quadruped robot, along the lines of the MIT Mini Cheetah or Boston Dynamics robotic dogs, and wasn’t satisfied that existing controllers could do the trick. It’s a compact 50 mm square board based on an STM32G4, has an integrated magnetic encoder, and accepts external sensor connections. Interfacing with the board is via CAN-FD using a register-based scheme. A Python GUI tool provides name-based register access via a logical tree structure as well as real-time telemetry plotting capabilities for diagnostic and configuration tasks.

If you are using BLDC motors in your projects, definitely check this out. Even if you’re not using a moteus controller, [Josh]’s demonstrations of the various encoder feedback technologies is very interesting and educational. The entire project is open source, and both the hardware and software design files can be found on the project’s GitHub repository. For some users, this may be a major factor, considering that the latest ODrive BLDC controller offering has become closed source.

We wrote about the mjbots quad A0 in 2019, and you can follow the moteus project over on Hackaday.io. We also found this interesting video by [Skyentific] comparing three popular open source BLCD controllers including the moteus (second video below the break). There’s also the SimpleFOC project we covered last year if you want to dig in and learn more about field-oriented control of BLDC motors. Thanks to [Androiddrew] for the tip.

Continue reading “Moteus Open Source BLDC Controller Gets Major Upgrade”

A 3D Printer Big Enough To Print A Kayak

When one of your design goals for a 3D printer is “fits through standard doors,” you know you’re going to be able to print some pretty big stuff. And given that the TAUT ONE printer by [Nathan Brüchner] could easily be mistaken for a phone booth, we’d say it’ll be turning out some interesting prints.

The genesis for this beast of a printer came from the Before Times, with the idea of printing a kayak. [Nathan] leveraged his lowdown time to make it happen, going through three prototypes. Each featured a print bed of 1,000 mm x 550 mm with 1,100 mm of Z-height, and the overall footprint fits a standard Euro-pallet. It uses a CoreXY design to move the dual-filament hot end, which has ducting for taking cooling air from outside the cabinet. And the machine has all the bells and whistles — WiFi, an internal camera, filament sensors, and a range of environmental controls.

In a nod to making it easier to build, [Nathan] kept all the custom parts either laser cut or 3D-printed — no mill or lathe required. He also points out that he used only quality components, which shows in the price — about 3,000€. That seems like a lot to be able to print kayaks that you can buy for fraction of that amount, but we certainly appreciate the potential of this printer, and the effort that went into making it work.

Need A Linux Kernel Module? Scratch That

If you have been for (or against) Rust in the Linux kernel, get ready for a Linux kernel module written in… Scratch. That’s right. Scratch, the MIT-developed language with blocks popular for teaching kids to code. We didn’t mean “from scratch.” We meant IN Scratch. The bootstrap code and Makefile is out there on GitHub.

Of course, it is a simple module and the reason it is possible is because of the scratchnative system that lets you compile Scratch into C code. If you want to look at the decidedly simple code, you can open it in your browser.

Continue reading “Need A Linux Kernel Module? Scratch That”

When Is An LED A Lamp? When It’s 50mm Wide

Call us childlike, but we sure do get a kick out of both larger-than-life and miniature things, especially when they work as their “normal-sized” counterparts do. So you can imagine our glee when we saw [JGJMatt]’s 50mm LED lamp, which looks like a giant version of something you might have wired up on your bench at any given moment — a bent-legged LED, wired up and ready to blink.

[JGJMatt] started by designing a mold in Fusion360 to make the lens, which he then printed in PLA. However, due to the heat generated by curing resin (especially all enclosed like that), he recommends using PETG or ABS instead to avoid any potential warping issues.

This is where things get a bit dangerous. For the internals, [JGJMatt] went all out, hand forming a reflector cup out of brass pipe, and the anode and cathode plates from flat 1 mm brass stock, plated to a silvery gray finish. The light source itself is a 1 W cool white LED that sits in the reflector cup, safe under a layer of epoxy mixed with a bit of yellow paint that represent the phosphor layer in a standard 5 mm white LED.

Once the innards were ready, it was time to cast the huge lens with them tucked safely inside. After the resin cured, [JGJMatt] sanded away the layer lines and airbrushed it with clear lacquer to clear up the lens and protect it from yellowing down the road. Then it was just a matter of bending the legs to form a stand, and wiring it up. What an awesome way to light up your workbench! Or anywhere, really.

This isn’t the first time we’ve seen a giant, working LED, though it’s probably only the second one since [Mike Szczys] saw some in the flesh at Maker Faire: Rome way back in 2019. Those are for sale on Tindie, BTW, though the shop is on holiday for the foreseeable, so you’ll have to make your own for now.

AJAX COMMAND Radio Is An Oldie But Goodie

If you are a certain age, it is hard to wrap your head around the fact that an old radio might have transistors — the old ones all had tubes, right? But a radio from the 1960s or 1970s is reaching the 60+ year mark and people are restoring old transistor sets. [Adam] picked up his first old radio, a 1970s vintage Ajax Command S-74.

He was fortunate. The only repair needed was to replace a corroded battery holder and clean up the mess from the batteries. You can hear the radio doing its thing in the video below.

Continue reading “AJAX COMMAND Radio Is An Oldie But Goodie”