An Enigma Machine Built In Meccano

As far as model construction sets go, LEGO is by far the most popular brand for building not only pre-planned models but whatever the builder can imagine. There are a few others out there though, some with some interesting features. Meccano (or Erector in North America) is a construction set based around parts that are largely metal including its fasteners, which allows for a different approach to building models than other systems including the easy addition of electricity. [Craig], a member of the London Meccano Club, is demonstrating his model Enigma machine using this system for all of its parts and adding some electricity to make the circuitry work as well.

The original Enigma machine was an electronic cypher used by the German military in World War 2 to send coded messages. For the time, its code was extremely hard to break, and led to the British development of the first programmable electronic digital computer to help decipher its coded messages. This model uses Meccano parts instead to recreate the function of the original machine, with a set of keys similar to a typewriter which, when pressed, advance a set of three wheels. The wheels all have wiring in them, and depending on their initial settings will light up a different character on a display.

There are a few modifications made to the design (besides the use of a completely different set of materials) but one of the main ones was eliminating the heavy leaf springs of the original for smaller and easier-to-manage coil springs, which are also part of the electrical system that creates the code. The final product recreates the original exceptionally faithfully, with plans to create a plugboard up next, and you can take a look at the inner workings of a complete original here.

Continue reading “An Enigma Machine Built In Meccano”

Homebrew Reader Brings Paper Tape Programs Back To Life

We may be a bit biased, but the storage media of yesteryear has so much more personality than that of today. Yes, it’s a blessing to have terabyte SD cards smaller than your pinky nail and be able to access its data with mind-boggling speed. But there’s a certain charm to a mass storage device that can potentially slice off your finger.

We’re overstating the dangers of the venerable paper tape reader, of course, a mass storage device that [David Hansel] recreated a few years back but we only just became aware of. That seems a bit strange since we’ve featured his Arduino-based Altair 8800 simulator, which is what this tape reader is connected to. Mechanically, the reader is pretty simple — just a wooden frame to hold the LEGO Technic wheels used as tape reels, and some rollers to guide the tape through a read head. That bit is custom-made and uses a pair of PCBs, one for LEDs and one for phototransistors. There are nine of each — eight data bits plus the index hole — and the boards are sandwiched together to guide the paper tape.

The main board has an ATmega328 which reads the parallel input from the read head and controls the tape motor. That part is important thanks to Altair Basic’s requirement for a 100- to 200-ms delay at the end of each typed line. The tape reader, which is just being used as sort of a keyboard wedge, can “type” a lot faster than that, so the motor speed is varied using PWM control as line length changes.

Continue reading “Homebrew Reader Brings Paper Tape Programs Back To Life”

Easy Retro 3D Look With Voxel Displacement Renderer

Voxels are effectively like 3D pixels, and they form an integral part of what is commonly referred to as a ‘retro 3D’ look, with pixelated edges sharp enough to cut your retinas on. The problems with modeling a scene using voxels come in the form of creating the geometry and somehow making a physics engine work with voxels rather than conventional triangular (or quad) meshes.

The same scene in Blender (above) and in the voxel-based renderer (below). (Credit: Daniel Schroeder)
The same scene in Blender (above) and in the voxel-based renderer (below). (Credit: Daniel Schroeder)

The approach demonstrated by [Daniel Schroeder] comes in the form of a Voxel Displacement Renderer implemented in C++ and using the Vulkan API. Best part of it? It only requires standard meshes along with albedo and displacement maps.

These inputs are processed by the C++-based tools, which generate the voxels that should be rendered and their properties, while the GLSL-based shader handles the GPU-based rendering step. The pre-processing steps required make it a good idea to bake these resources rather than try to process it in real-time. With that done, [Daniel]’s demo was able to sustain a solid 100+ FPS on a Radeon RX 5700 XT GPU at 1440p, and 60+ FPS on a Steam Deck OLED.

In a second blog post [Daniel] goes through his motivations for this project, with it originally having been intended as a showpiece for his resume, but he can imagine it being integrated into a game engine.

There are still questions to be resolved, such as how to integrate this technique for in-scene characters and other dynamic elements (i.e. non-static scenery), but in terms of easing voxel-based rendering by supporting a standard mesh-based workflow it’s an intriguing demonstration.

Continue reading “Easy Retro 3D Look With Voxel Displacement Renderer”

A LEGO CNC Pixel Art Generator

If you are ever lucky enough to make the trip to Billund in Denmark, home of LEGO, you can have your portrait taken and rendered in the plastic bricks as pixel art. Having seen that on our travels we were especially interested to watch [Creative Mindstorms]’ video doing something very similar using an entirely LEGO-built machine but taking the images from an AI image generator.

The basic operation of the machine is akin to that of a pick-and-place machine, and despite the relatively large size of a small LEGO square it still has to place at a surprisingly high resolution. This it achieves through the use of a LEGO lead screw for the Y axis and a rack and pinon for the X axis, each driven by a single motor.

The Z axis in this machine simply has to pick up and release a piece, something solved with a little ingenuity, while the magazine of “pixels” was adapted with lower friction from another maker’s design. The software is all written in Python, and takes input from end stop switches to position the machine.

We like this build, and we can appreciate the quantity of work that must have gone into it. If you’re a LEGO fan and can manage the trip to Billund, there’s plenty of other LEGO goodness to see there.

Continue reading “A LEGO CNC Pixel Art Generator”

Busted: Toilet Paper As Solder Wick

It didn’t take long for us to get an answer to the question nobody was asking: Can you use toilet paper as solder wick? And unsurprisingly, the answer is a resounding “No.”

Confused? If so, you probably missed our article a few days ago describing the repair of corroded card edge connectors with a bit of homebrew HASL. Granted, the process wasn’t exactly hot air solder leveling, at least not the way PCB fabs do it to protect exposed copper traces. It was more of an en masse tinning process, for which [Adrian] used a fair amount of desoldering wick to pull excess solder off the pins.

During that restoration, [Adrian] mentioned hearing that common toilet paper could be used as a cheap substitute for desoldering wick. We were skeptical but passed along the tip hoping someone would comment on it. Enter [KDawg], who took up the challenge and gave it a whirl. The video below shows attempts to tin a few pins on a similar card-edge connector and remove the excess with toilet paper. The tests are done using 63:37 lead-tin solder, plus and minus flux, and using Great Value TP in more or less the same manner you’d use desoldering braid. The results are pretty much what you’d expect, with charred toilet paper and no appreciable solder removal. The closest it comes to working is when the TP sucks up the melted flux. Stay tuned for the bonus positive control footage at the end, though; watching that legit Chemtronics braid do its thing is oddly satisfying.

So, unless there’s some trick to it, [KDawg] seems to have busted this myth. If anyone else wants to give it a try, we’ll be happy to cover it.

Continue reading “Busted: Toilet Paper As Solder Wick”

How Good (Or Bad) Are Fake Power Semiconductors?

We all know that there’s a significant risk of receiving fake hardware when buying parts from less reputable sources. These counterfeit parts are usually a much cheaper component relabeled as a more expensive one, with a consequent reduction in performance. It goes without saying that the fake is lower quality then, but by just how much? [Denki Otaku] has a video comparing two power FETs, a real and a fake one, and it makes for an interesting watch.

For once the fact that a video is sponsored is a positive, for instead of a spiel about a dodgy VPN or a game involving tanks, he takes us into Keysight’s own lab to work with some high-end component characterization instruments we wouldn’t normally see. A curve tracer produces the equivalents of all those graphs from the data sheet, while a double pulse tester puts the two transistors through a punishing high-power dynamic characteristic examination. Then back in his own lab we see the devices compared in a typical circuit, a high-power buck converter. The most obvious differences between the two parts reveal something about their physical difference, as a lower parasitic capacitance and turn-on time with a higher on resistance for the fake is a pointer to it being a smaller part. Decapping the two side by side backs this up.

So it should be no surprise that a fake part has a much lower performance than the real one. In this case it’s a fully working transistor, but one that works very inefficiently at the higher currents which the real one is designed for. We can all be caught by fakes, even Hackaday scribes.

Continue reading “How Good (Or Bad) Are Fake Power Semiconductors?”

This Week In Security: Unicode Strikes Again, Trust No One (Redditor), And More

There’s a popular Sysadmin meme that system problems are “always DNS”. In the realm of security, it seems like “it’s always Unicode“. And it’s not hard to see why. Unicode is the attempt to represent all of Earth’s languages with a single character set, and that means there’s a lot of very similar characters. The two broad issues are that human users can’t always see the difference between similar characters, and that libraries and applications sometimes automatically convert exotic Unicode characters into more traditional text.

This week we see the resurrection of an ancient vulnerability in PHP-CGI, that allows injecting command line switches when a web server launches an instance of PHP-CGI. The solution was to block some characters in specific places in query strings, like a query string starting with a dash.

The bypass is due to a Windows feature, “Best-Fit”, an automatic down-convert from certain Unicode characters. This feature works on a per-locale basis, which means that not every system language behaves the same. The exact bypass that has been found is the conversion of a soft hyphen, which doesn’t get blocked by PHP, into a regular hyphen, which can trigger the command injection. This quirk only happens when the Windows locale is set to Chinese or Japanese. Combined with the relative rarity of running PHP-CGI, and PHP on Windows, this is a pretty narrow problem. The XAMPP install does use this arrangement, so those installs are vulnerable, again if the locale is set to one of these specific languages. The other thing to keep in mind is that the Unicode character set is huge, and it’s very likely that there are other special characters in other locales that behave similarly.

Downloader Beware

The ComfyUI project is a flowchart interface for doing AI image generation workflows. It’s an easy way to build complicated generation pipelines, and the community has stepped up to build custom plugins and nodes for generation. The thing is, it’s not always the best idea to download and run code from strangers on the Internet, as a group of ComfyUI users found out the hard way this week. The ComfyUI_LLMVISION node from u/AppleBotzz was malicious.

The node references a malicious Python package that grabs browser data and sends it all to a Discord or Pastebin. It appears that some additional malware gets installed, for continuing access to infected systems. It’s a rough way to learn. Continue reading “This Week In Security: Unicode Strikes Again, Trust No One (Redditor), And More”