This BB Shooter Has A Spring, But Not For What You Think

[It’s on my MIND] designed a clever BB blaster featuring a four-bar linkage that prints in a single piece and requires no additional hardware. The interesting part is how it turns a trigger pull into launching a 6 mm plastic BB. There is a spring, but it only acts as a trigger return and plays no part in launching the projectile. So how does it work?

There’s a spring in this BB launcher, but it’s not used like you might expect.

The usual way something like this functions is with the trigger pulling back a striker of some kind, and putting it under tension in the process (usually with the help of a spring) then releasing it. As the striker flies forward, it smacks into a BB and launches it. We’ve seen print-in-place shooters that work this way, but that is not what is happening here.

With [It’s on my MIND]’s BB launcher, the trigger is a four-bar linkage that transforms a rearward pull of the trigger into a forward push of the striker against a BB that is gravity fed from a hopper. The tension comes from the BB’s forward motion being arrested by a physical detent as the striker pushes from behind. Once that tension passes a threshold, the BB pops past the detent and goes flying. Thanks to the mechanical advantage of the four-bar linkage, the trigger finger doesn’t need to do much work. The spring? It’s just there to reset the trigger by pushing it forward again after firing.

It’s a clever design that doesn’t require any additional hardware, and even prints in a single piece. Watch it in action in the video, embedded just below.

Continue reading “This BB Shooter Has A Spring, But Not For What You Think”

A Simple Tip For Gluing Those LED Filaments

[Boylei] shows that those little LED filament strips make great freeze-frame blaster shots in a space battle diorama. That’s neat and all, but what we really want to highlight is a simple tip [Boylei] shares about working with these filament strips: how to glue them.

Glue doesn’t stick to LED filament strips, so put on a small piece of heat-shrink and glue to that instead.

The silicone (or silicone-like) coating on these LED filament strips means glue simply doesn’t stick. To work around this, [Boylei] puts a piece of clear heat shrink around the filament, and glues to that instead. If you want a visual, you can see him demonstrate at 6:11. It’s a simple and effective tip that’s certainly worth keeping in mind, especially since filament strips invite so many project ideas.

When LED filament strips first hit the hobbyist market they were attractive, but required high operating voltages. Nowadays they are not only cheaper, but work at battery-level voltages and come in a variety of colors.

These filaments have only gotten easier to work with over the years. Just remember to be gentle about bending them, and as [Boylei] demonstrates, a little piece of clear shrink tubing is all it takes to provide a versatile glue anchor. So if you had a project idea involving them that didn’t quite work out in the past, maybe it’s time to give it another go?

Continue reading “A Simple Tip For Gluing Those LED Filaments”

3D Print ABS Without A Screaming Hot Bed

ABS is a durable material that can be 3D printed, but requires a 100° C build surface. The print bed of [Pat]’s Bambu Lab A1 Mini is unable to get that hot, which means he can not print ABS…or can he? By fiddling a few settings, he prints ABS no problem with only a 60° C bed, thanks to a PLA interface layer.

Here’s what’s going on: first [Pat] prints a single layer of PLA, then does a filament swap for ABS (which the printer thinks is PETG with extrusion temperature bumped to 255° C and a tweaked flow rate) and lets the print finish. The end result is an ABS part with a single layer of PLA at the bottom, all printed on a 60° C bed. That PLA layer peels off easily, leaving a nice finish behind.

[Pat] is printing small parts in ABS for a custom skeletal mouse shell (pictured above) and his results are fantastic. We’re curious how this technique would fare with larger ABS objects, which tend to have more issues with warping and shrinkage. But it seems that at least for small parts, it’s a reliable and clever way to go.

We originally saw how [JanTec Engineering] used this technique to get less warping with ABS. As for why PLA is the way to go for the interface layer, we’ve learned that PLA only really truly sticks to PLA, making it a great interface or support for other filaments in general. (PETG on the other hand wants to stick to everything but PLA.)

Tool Turns SVGs Into Multicolor 3D Prints

Want to turn a scaled vector graphic into a multicolor 3D print, like a sign? You’ll want to check out [erkannt]’s svg2solid, a web-based tool that reads an SVG and breaks the shapes up by color into individual STL files. Drag those into your slicer (treating them as a single object with multiple parts) and you’re off to the races.

This sign was printed face-down on a textured build plate. The colors only need to be a few layers deep.

This is especially handy for making 3D printed versions of things like signs, and shown here is an example of exactly that.

It’s true that most 3D printer software supports the .svg format natively nowadays, but that doesn’t mean a tool like this is obsolete. SVG is a 2D format with no depth information, so upon import the slicer assigns a arbitrary height to all imported elements and the user must make any desired adjustments manually. For example, a handy tip for making signs is to make the “background” as thick as desired but limit colored elements to just a few layers deep. Doing so minimizes filament switching while having no impact on final visual appearance.

Being able to drag SVGs directly into the slicer is very handy, but working with 3D models has a certain “what you see is what you get” element to it that can make experimentation or alternate applications a little easier. Since svg2solid turns an SVG into discrete 3D models (separated by color) and each with user-defined heights, if you find yourself needing that then this straightforward tool is worth having in your bookmarks. Or just go straight to the GitHub repository and grab your own copy.

On the other hand, if you prefer your 3D-printed signs to be lit up in a faux-neon style then here’s how to do that in no time at all. Maybe there’s a way to mix the two approaches? If you do, be sure to use our tips line to let us know!

Behold Self-Synchronizing, Air-Flopping Limbs That Hop And Swim

Dutch research institute [AMOLF] shows off a small robot capable of walking, hopping, and swimming without any separate control system. The limbs synchronize thanks to the physical interplay between the robot’s design and its environment. There are some great videos on that project page, so be sure to check it out.

A kinked soft tube oscillates when supplied with continuous air.

Powered by a continuous stream of air blown into soft, kinked tubular limbs, the legs oscillate much like the eye-catching “tube man” many of us have seen by roadsides. At first it’s chaotic, but the movements rapidly synchronize into a meaningful rhythm that self-synchronizes and adapts. On land, the robot does a sort of hopping gait. In water, it becomes a paddling motion. The result in both cases is a fast little robot that does it all without any actual control system, relying on physics.

You can watch it in action in the video, embedded below. The full article “Physical synchronization of soft self-oscillating limbs for fast and autonomous locomotion” is also available.

Gait control is typically a nontrivial problem in robotics, but it doesn’t necessarily require a separate control system. Things like BEAM robotics and even the humble bristlebot demonstrate the ability for relatively complex behavior and locomotion to result from nothing more than the careful arrangement of otherwise simple elements.

Continue reading “Behold Self-Synchronizing, Air-Flopping Limbs That Hop And Swim”

MCP Blender Addon Lets AI Take The Wheel And Wield The Tools

Want to give an AI the ability to do stuff in Blender? The BlenderMCP addon does exactly that, connecting open-source 3D modeling software Blender to Anthropic’s Claude AI via MCP (Model Context Protocol), which means Claude can directly use Blender and its tools in a meaningful way.

MCP is a framework for allowing AI systems like LLMs (Large Language Models) to exchange information in a way that makes it easier to interface with other systems. We’ve seen LLMs tied experimentally into other software (such as with enabling more natural conversations with NPCs) but without a framework like MCP, such exchanges are bespoke and effectively stateless. MCP becomes very useful for letting LLMs use software tools and perform work that involves an iterative approach, better preserving the history and context of the task at hand.

Unlike the beach scene above which used 3D assets, this scene was created from scratch with the help of a reference image.

Using MCP also provides some standardization, which means that while the BlenderMCP project integrates with Claude (or alternately the Cursor AI editor) it could — with the right configuration — be pointed at a suitable locally-hosted LLM instead. It wouldn’t be as capable as the commercial offerings, but it would be entirely private.

Embedded below are three videos that really show what this tool can do. In the first, watch it create a beach scene using assets from a public 3D asset library. In the second, it creates a scene from scratch using a reference image (a ‘low-poly cabin in the woods’), followed by turning that same scene into a 3D environment on a web page, navigable in any web browser.

Back in 2022 we saw Blender connected to an image generator to texture objects, but this is considerably more capable. It’s a fascinating combination, and if you’re thinking of trying it out just make sure you’re aware it relies on allowing arbitrary Python code to be run in Blender, which is powerful but should be deployed with caution.

Continue reading “MCP Blender Addon Lets AI Take The Wheel And Wield The Tools”

Blurry Image Placeholders, Generated With Minimal CSS

Low-quality image placeholders (LQIPs) have a solid place in web page design. There are many different solutions but the main gotcha is that generating them tends to lean on things like JavaScript, requires lengthy chunks of not-particularly-human-readable code, or other tradeoffs. [Lean] came up with an elegant, minimal solution in pure CSS to create LQIPs.

Here’s how it works: all required data is packed into a single CSS integer, which is decoded directly in CSS (no need for any JavaScript) to dynamically generate an image that renders immediately. Another benefit is that without any need for wrappers or long strings of data this method avoids cluttering the HTML. The code is little more than a line like <img src="…" style="--lqip:567213"> which is certainly tidy, as well as a welcome boon to those who hand-edit files.

The trick with generating LQIPs from scratch is getting an output that isn’t hard on the eyes or otherwise jarring in its composition. [Lean] experimented until settling on an encoding method that reliably delivered smooth color gradients and balance.

This method therefore turns a single integer into a perfectly-serviceable LQIP, using only CSS. There’s even a separate tool [Lean] created to compress any given image into the integer format used (so the result will look like a blurred version of the original image). It’s true that the results look very blurred but the code is clean, minimal, and the technique is easily implemented. You can see it in action in [Lean]’s interactive LQIP gallery.

CSS has a lot of capability baked into it, and it’s capable of much more than just styling and lining up elements. How about trigonometric functions in CSS? Or from the other direction, check out implementing a CSS (and HTML) renderer on an ESP32.