Fully-Local AI Agent Runs On Raspberry Pi, With A Little Patience

[Simone]’s AI assistant, dubbed Max Headbox, is a wakeword-triggered local AI agent capable of following instructions and doing simple tasks. It’s an experiment in many ways, but also a great demonstration not only of what is possible with the kinds of open tools and hardware available to a modern hobbyist, but also a reminder of just how far some of these software tools have come in only a few short years.

Max Headbox is not just a local large language model (LLM) running on Pi hardware; the model is able to make tool calls in a loop, chaining them together to complete tasks. This means the system can break down a spoken instruction (for example, “find the weather report for today and email it to me”) into a series of steps to complete, utilizing software tools as needed throughout the process until the task is finished.

Continue reading “Fully-Local AI Agent Runs On Raspberry Pi, With A Little Patience”

Play Capacitor Cupid With The Matchmaker

Occasionally a design requires capacitors that are much closer to being identical in value to one another than the usual tolerance ranges afford. Precision matching of components from parts on hand might sound like a needle-in-a-haystack problem, but not with [Stephen Woodward]’s Capacitor Matchmaker design.

The larger the output voltage, the greater the mismatch between capacitors A and B.

The Matchmaker is a small circuit intended to be attached to a DVM, with the output voltage indicating whether two capacitors (A and B) are precisely matched in value. If they are not equal, the voltage output indicates the degree of the mismatch as well as which is the larger of the two.

The core of the design is complementary excitation of the two capacitors (the CD4013B dual flip-flop achieves this) which results in a measurable signal if the two capacitors are different; nominally 50 mV per % of mismatch. Output polarity indicates which of the capacitors is the larger one. In the case of the two capacitors being equal, the charges cancel out.

Can’t precision-matched capacitors be purchased? Absolutely, but doing so is not always an option. As [Stephen] points out, selection of such components is limited and they come at an added cost. If one’s design requires extra-tight tolerances, requires capacitor values or types not easily available as precision pairs, or one’s budget simply doesn’t allow for the added cost, then the DIY approach makes a lot more sense.

If you’re going to go down this road, [Stephen] shares an extra time-saving tip: use insulated gloves to handle the capacitors being tested. Heating up a capacitor before testing it — even just from one’s fingers — can have a measurable effect.

[Stephen]’s got a knack for insightful electronic applications. Check out his PWMPot, a simple DIY circuit that can be an awfully good stand-in for a digital potentiometer.

A Closer Look Inside A Robot’s Typewriter-Inspired Mouth

[Ancient] has a video showing off a fascinating piece of work: a lip-syncing robot whose animated electro-mechanical mouth works like an IBM Selectric typewriter. The mouth rapidly flips between different phonetic positions, creating the appearance of moving lips and mouth. This rapid and high-precision movement is the product of a carefully-planned and executed build. When we featured this project before, we wanted to see under the hood. Now we can.

Behind the face is a ball that, when moving quickly enough, gives the impression of animated mouth and lips. The new video gives a closer look at how it works.

[Ancient] dubs the concept Selectramatronics, because its action is reminiscent of the IBM Selectric typewriter. Instead of each key having a letter on a long arm that would swing up and stamp an ink ribbon, the Selectric used a roughly spherical unit – called a typeball – with letters sticking out of it like a spiky ball.

Hitting the ‘A’ key would rapidly turn the typeball so that the ‘A’ faced forward, then satisfyingly smack it into the ink ribbon at great speed. Here’s a look at how that system worked, by way of designing DIY typeballs from scratch. In this robot, the same concept is used to rapidly flip a ball bristling with lip positions.

We first saw this unusual and fascinating design when its creator showed videos of the end result on social media, pronouncing it complete. We’re delighted to see that there’s now an in-depth look at the internals in the form of a new video (the first link in this post, also embedded below just under the page break.)

The new video is wonderfully wordless, preferring to show rather than tell. It goes all the way from introducing the basic concept to showing off the final product, lip-syncing to audio from an embedded Raspberry Pi.

Continue reading “A Closer Look Inside A Robot’s Typewriter-Inspired Mouth”

Send Images To Your Terminal With Rich Pixels

[darrenburns]’ Rich Pixels is a library for sending colorful images to a terminal. Give it an image, and it’ll dump it to your terminal in full color. While it also supports ASCII art, the cool part is how it makes it so easy to display an arbitrary image — a pixel-art rendition of it, anyway — in a terminal window.

How it does this is by cleverly representing two lines of pixels in the source image with a single terminal row of characters. Each vertical pixel pair is represented by a single Unicode ▄ (U+2584 “lower half block”) character. The trick is to set the background color of the half-block to the upper pixel’s RGB value, and the foreground color of the half-block to the lower pixel’s RGB. By doing this, a single half block character represents two vertically-stacked pixels. The only gotcha is that Rich Pixels doesn’t resize the source image; if one’s source image is 600 pixels wide, one’s terminal is going to receive 600 U+2584 characters per line to render the Rich Pixels version.

[Simon WIllison] took things a step further and made show_image.py, which works the same except it resizes the source image to fit one’s terminal first. This makes it much more flexible and intuitive.

The code is here on [Simon]’s tools GitHub, a repository for software tools he finds useful, like the Incomplete JSON Pretty Printer.

Design Scanimations In A Snap With The Right Math

Barrier-grid animations (also called scanimations) are a thing most people would recognize on sight, even if they didn’t know what they were called. Move a set of opaque strips over a pattern, and watch as different slices of that image are alternately hidden and revealed, resulting in a simple animation. The tricky part is designing the whole thing — but researchers at MIT designed FabObscura as a design tool capable not only of creating the patterned sheets, but doing so in a way that allows for complex designs.

The barrier grid need not consist of simple straight lines, and movement of the grid can just as easily be a rotation instead of a slide. The system simply takes in the desired frames, a mathematical function describing how the display should behave, and creates the necessary design automatically.

The paper (PDF) has more details, and while it is possible to make highly complex animations with this system, the more frames and the more complex the design, the more prominent the barrier grid and therefore the harder it is to see what’s going on. Still, there are some very nice results, such as the example in the image up top, which shows a coaster that can represent three different drink orders.

We recommend checking out the video (embedded below) which shows off other possibilities like a clock that looks like a hamster wheel, complete with running rodent. It’s reminiscent of this incredibly clever clock that uses a Moiré pattern (a kind of interference pattern between two elements) to reveal numerals as time passes.

We couldn’t find any online demo or repository for FabObscura, but if you know of one, please share it in the comments.

Continue reading “Design Scanimations In A Snap With The Right Math”

Reverse-Engineering Mystery TV Equipment: The Micro-Scan

[VWestlife] ended up with an obscure piece of 80s satellite TV technology, shown above. The Micro-Scan is a fairly plan metal box with a single “Tune” knob on the front. At the back is a power switch and connectors for TV Antenna, TV Set, and “MW” (probably meaning microwave). There’s no other data. What was this, and what was it for?

Satellite TV worked by having a dish receive microwave signals, but televisions could not use those signals directly. A downconverter was needed to turn the signal into something an indoor receiver box (to which the television was attached) could use, allowing the user to select a channel to feed into the TV.

At first, [VWestlife] suspected the Micro-Scan was a form of simple downconverter, but that turned out to not be the case. Testing showed that the box didn’t modify signals at all. Opening it up revealed the Micro-Scan acts as a combination switchbox and variable power supply, sending a regulated 12-16 V (depending on knob position) out the “MW” connector.

So what is it for, and what does that “Tune” knob do? When powered off, the Micro-Scan connected the TV (plugged into the “TV Set” connector) to its normal external antenna (connected to “TV Antenna”) and the TV worked like a normal television. When powered on, the TV would instead be connected to the “MW” connector, probably to a remote downconverter. In addition, the Micro-Scan supplied a voltage (the 12-16 V) on that connector, which was probably a control voltage responsible for tuning the downconverter. The resulting signal was passed unmodified to the TV.

It can be a challenge to investigate vintage equipment modern TV no longer needs, especially hardware that doesn’t fit the usual way things were done, and lacks documentation. If you’d like to see a walkthrough and some hands-on with the Micro-Scan, check out the video (embedded bel0w).

Continue reading “Reverse-Engineering Mystery TV Equipment: The Micro-Scan”

Applying Thermal Lining To Rocket Tubes Requires A Monstrous DIY Spin-caster

[BPS.space] takes model rocketry seriously, and their rockets tend to get bigger and bigger. If there’s one thing that comes with the territory in DIY rocketry, it’s the constant need to solve new problems.

Coating the inside of a tube evenly with a thick, goopy layer before it cures isn’t easy.

One such problem is how to coat the inside of a rocket motor tube with a thermal liner, and their solution is a machine they made and called the Limb Remover 6000 on account of its ability to spin an 18 kg metal tube at up to 1,000 rpm which is certainly enough to, well, you know.

One problem is that the mixture for the thermal liner is extremely thick and goopy, and doesn’t pour very well. To get an even layer inside a tube requires spin-casting, which is a process of putting the goop inside, then spinning the tube at high speed to evenly distribute the goop before it cures. While conceptually straightforward, this particular spin-casting job has a few troublesome difficulties.

For one thing, the uncured thermal liner is so thick and flows so poorly that it can’t simply be poured in to let the spinning do all the work of spreading it out. It needs to be distributed as evenly as possible up front, and [BPS.space] achieves that with what is essentially a giant syringe that is moved the length of the tube while extruding the uncured liner while the clock is ticking. If that sounds like a cumbersome job, that’s because it is.

The first attempt ended up scrapped but helped identify a number of shortcomings. After making various improvements the second went much better and was successfully tested with a 12 second burn that left the tube not only un-melted, but cool enough to briefly touch after a few minutes. There are still improvements to be made, but overall it’s one less problem to solve.

We’re always happy to see progress from [BPS.space], especially milestones like successfully (and propulsively) landing a model rocket, and we look forward to many more.

Continue reading “Applying Thermal Lining To Rocket Tubes Requires A Monstrous DIY Spin-caster”