ChatGPT is an AI large language model (LLM) which specializes in conversation. While using it, [Gil Meiri] discovered that one way to create models in FreeCAD is with Python scripting, and ChatGPT could be encouraged to create a 3D model of a plane in FreeCAD by expressing the model as a script. The result is just a basic plane shape, and it certainly took a lot of guidance on [Gil]’s part to make it happen, but it’s not bad for a tool that can’t see what it is doing.
The first step was getting ChatGPT to create code for a 10 mm cube, and plug that in FreeCAD to see the results. After that basic workflow was shown to work, [Gil] asked it to create a simple airplane shape. The resulting code had objects for wing, fuselage, and tail, but that’s about all that could be said because the result was almost — but not quite — completely unlike a plane. Not an encouraging start, but at least the basic building blocks were there. Continue reading “ChatGPT Makes A 3D Model: The Secret Ingredient? Much Patience”→
An age-old vulnerability of physical keypads is visibly worn keys. For example, a number pad with digits clearly worn from repeated use provides an attacker with a clear starting point. The same concept can be applied to keyboards by using a thermal camera with the help of machine learning, but it also turns out that some types of keys and typing styles are harder to read than others.
Researchers at the University of Glasgow show how machine learning can pull details from thermal images like these quickly and effectively.
Touching a key with a fingertip imparts a slight amount of body heat, and that small amount of heat can be spotted by a thermal sensor. We’ve seen this basic approach used since at least 2005, and two things have changed since then: thermal cameras gotten much more common, and researchers discovered that by combining thermal readings with machine learning, it’s possible to eke out slight details too difficult or subtle to spot by human eye and judgement alone.
Here’s a link to the research and findings from the University of Glasgow, which shows how even a 16 symbol password can be attacked with an average accuracy of 55%. Shorter passwords are much easier to decipher, with the system attacking 6 and 8 symbol passwords with an accuracy between 92% and 80%, respectively. In the study, thermal readings were taken up to a full minute after the password was entered, but sooner readings result in higher accuracy.
A few things make things harder for the system. Fast typists spend less time touching keys, and therefore transfer less heat when they do, making things a little more challenging. Interestingly, the material of the keycaps plays a large role. ABS keycaps retain heat far more effectively than PBT (a material we often see in custom keyboard builds like this one.) It also turns out that the tiny amount of heat from LEDs in backlit keyboards runs effective interference when it comes to thermal readings.
Amusingly this kind of highly modern attack would be entirely useless against a scramblepad. Scramblepads are vintage devices that mix up which numbers go with which buttons each time the pad is used. Thermal imaging and machine learning would be able to tell which buttons were pressed and in what order, but that still wouldn’t help! A reminder that when it comes to security, tech does matter but fundamentals can matter more.
There is a lot to be learned from the experience of building something functional, and even better if doing so doesn’t break the bank. [Sergej Stoetzer]’s 20€ DIY-Eyetracker aims to be an educational process that covers everything from hardware to functional software in an accessible way.
Hardware based on an economical USB endoscope, and can be used as-is or repackaged with IR illumination.
The eye tracker is based on an economical USB endoscope, which is a small camera optimized for up-close applications. By attaching the camera to a pair of common safety glasses so that it looks at one’s eye, some OpenCV and Python code can do simple tracking and interfacing with other projects.
Basic eye tracking — like determining whether a user is looking up, down, left, or right — can be all that’s needed depending on one’s application. That means that it’s possible to get something working with very little hardware and some easy-to-use OpenCV functions.
Even better performance can be had by adding IR illumination and repackaging the camera into a 3D printed enclosure. The pupil of the eye is an aperture in the iris that appears as a black circle, and that’s even more true under IR illumination which is invisible to the naked eye. If you’re curious about what’s inside those USB endoscope cameras and how to remove their IR filter, there are some good pictures of that process in this project.
[Christopher Helmke] is doing fantastic work in DIY systems for handling small hardware like fasteners, and that includes robotic placement of hardware into 3D prints. Usually this means dropping nuts into parts in mid-print so that the hardware is captive, but that’s not really the story here.
The really inventive part we want to highlight is the concept of reducing packaging and labor. Instead of including a zip-lock bag of a few bolts, how about embedding the bolts into a void in the 3D print, covered with a little snip-out retainer? Skip ahead to 1:54 in the video to see exactly what we mean. It’s a pretty compelling concept that we hope sparks a few ideas in others.
As clever as that concept is, the rest of the video is also worth a watch because [Christopher] shows off a DIY system that sits on top of his 3D printer and takes care of robotically placing the hardware in mid-print. He talks all about the challenges of such a system. It’s not perfect (yet), but seeing it in action is very cool.
There’s hardware attached to the hands, yes, but only to the backs. Hands and fingers can be used entirely normally while receiving tactile feedback.
The unique device consists of a control box, wires, and some electrodes attached to different spots on the back of the hand and fingers. Carefully modulated electrical signals create tactile sensations on the front, despite originating from electrodes on the back. While this has clear applications for VR, the team thinks the concept could also have applications in rehabilitation, or prosthetics.
Modern insulin pumps are self-contained devices that attach to a user’s skin via an adhesive patch, and are responsible for administering insulin as needed. Curious as to what was inside, [Ido Roseman] tore down an Omnipod Dash and took some pictures showing what was inside.
A single motor handles inserting the cannula into the skin, retracting the insertion needle, and administering insulin.
These devices do quite a few things. In addition to holding a reservoir of insulin, they automatically insert a small cannula (thin tube) through the skin after being attached, communicate wirelessly with a control system, and pump insulin through the cannula as needed. All in a sealed and waterproof device. They are also essentially disposable, so [Ido] was curious about what kind of engineering went into such a thing.
The teardown stops short of identifying exactly how all the mechanisms inside work, but [Ido] was able to learn a few interesting things. For example, all of the mechanical functions — inserting the cannula with the help of a needle (and retracting the needle afterwards) and pumping insulin — are all accomplished by one motor and some clever mechanical engineering.
The electronics consist of a PCB with an NXP EX2105F 32-bit Arm7 microcontroller, a second chip that is likely responsible for the wireless communications, three captive LR44 button cells, and hardly a passive component in sight.
The software and communications side of an insulin pump like this one has had its RF communications reverse-engineered with the help of an SDR, a task that took a lot more work than one might expect. Be sure to follow that link if you’re interested in what it can take to get to the bottom of mystery 433 MHz communications on a device that isn’t interested in sharing.
[mat kelcey] was so impressed and inspired by the concept of a very slow movie player (which is the playing of a movie at a slow rate on a kind of DIY photo frame) that he created his own with a high-resolution e-ink display. It shows high definition frames from Alien (1979) at a rate of about one frame every 200 seconds, but a surprising amount of work went into getting a color film intended to look good on a movie screen also look good when displayed on black & white e-ink.
The usual way to display images on a screen that is limited to black or white pixels is dithering, or manipulating relative densities of white and black to give the impression of a much richer image than one might otherwise expect. By itself, a dithering algorithm isn’t a cure-all and [mat] does an excellent job of explaining why, complete with loads of visual examples.
One consideration is the e-ink display itself. With these displays, changing the screen contents is where all the work happens, and it can be a visually imperfect process when it does. A very slow movie player aims to present each frame as cleanly as possible in an artful and stylish way, so rewriting the entire screen for every frame would mean uglier transitions, and that just wouldn’t do.
Delivering good dithering results despite sudden contrast shifts, and with fewest changed pixels.
So the overall challenge [mat] faced was twofold: how to dither a frame in a way that looked great, but also tried to minimize the number of pixels changed from the previous frame? All of a sudden, he had an interesting problem to solve and chose to solve it in an interesting way: training a GAN to generate the dithers, aiming to balance best image quality with minimal pixel change from the previous frame. The results do a great job of delivering quality visuals even when there are sharp changes in scene contrast to deal with. Curious about the code? Here’s the GitHub repository.
Here’s the original Very Slow Movie Player that so inspired [mat], and here’s a color version that helps make every frame a work of art. And as for dithering? It’s been around for ages, but that doesn’t mean there aren’t new problems to solve in that space. For example, making dithering look good in the game Return of the Obra Dinnrequired a custom algorithm.