Hackaday Podcast Episode 356: Nanoprinting, Vibe Coding, And Keebin’ With Kristina, IN HELL!

This week, Hackaday’s Elliot Williams and Kristina Panos met up over coffee to bring you the latest news, mystery sound results show, and of course, a big bunch of hacks from the previous seven days or so.

We found no news to speak of, except that Kristina has ditched Windows after roughly 38 years. What is she running now? What does she miss about Windows? Tune in to find out.

On What’s That Sound, Kristina thought it was a jackhammer, but [Statistically Unlikely] knew it was ground-tamper thingy, and won a Hackaday Podcast t-shirt! Congratulations!

After that, it’s on to the hacks and such, beginning with 3D printing on the nano scale, and a couple of typewriter-based hacks.  Then we take a look at the beauty of the math behind graph theory, especially when it comes to circuit sculptures and neckties.

We also talk display hacking, macro pads with haptic feedback knobs, and writing code in Welsh. Finally, we discuss the Virtual Boy, and ponder whether vibe coding is killing open source.

Check out the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Download in DRM-free MP3 and savor at your leisure.

Continue reading “Hackaday Podcast Episode 356: Nanoprinting, Vibe Coding, And Keebin’ With Kristina, IN HELL!”

It’s Not A Lomo Smena 8M, But It’s Not Far Off

The joy of camera hacking lies for many at the low end of the market. Not working with many-thousand-dollar Leicas, but in cheap snapshot cameras that can be had for next to nothing at a thrift store. [Marek Sokal] has a perfect example, in a 3D printed 35mm camera body using the lens and shutter assembly from a vintage Soviet Lomo Smena 8M.

The build is a work in progress, a printed assembly that holds the 35mm film cartridge, provides the focal plane for the film, and houses the take-up reel. It fits together with M2 screws, as per the Lomo lens.

We like this build, because we can see beyond the Lomo. In a box above the desk where this is being written there is a pile of old plastic snapshot cameras from the 1960s through 1980s, none of which is worth anything much, but all of which have a similar shutter and lens assembly. In many cases it’s not a huge task to do with them what [Marek] has with the Lomo and mount them to a back like this. The LEGO film camera may not have gained approval, but this prove that making cameras of your own is still pretty easy.

The Weird Propeller That Offers Improved Agility On The Water

When it comes to seaborne propulsion, one simple layout has largely dominated over all others. You pair some kind of engine with some kind of basic propeller at the back of the ship, and then you throw on a rudder to handle the steering. This lets you push the ship forward, left, and right, and stopping is just a matter of turning the engine off and waiting… or reversing thrust if you’re really eager to slow down.

This basic system works for a grand majority of vessels out on the water. However, there is a more advanced design that offers not only forward propulsion, but also steering, all in the one package. It may look strange, but the Voith Schneider propeller offers some interesting benefits to watercraft looking for an edge in maneuverability.

Continue reading “The Weird Propeller That Offers Improved Agility On The Water”

BreezyBox: A BusyBox-Like Shell And Virtual Terminal For ESP32

Much like how BusyBox crams many standard Unix commands and a shell into a single executable, so too does BreezyBox provide a similar experience for the ESP32 platform. A demo implementation is also provided, which uses the ESP32-S3 platform as part of the Waveshare 7″ display development board.

Although it invokes the BusyBox name, it’s not meant to be as stand-alone as it uses the standard features provided by the FreeRTOS-based ESP-IDF SDK. In addition to the features provided by ESP-IDF it adds things like a basic virtual terminal, current working directory (CWD) tracking and a gaggle of Unix-style commands, as well as an app installer.

The existing ELF binary loader for the ESP32 is used to run executables either from a local path or a remote one, a local HTTP server is provided and you even get ANSI color support. Some BreezyBox apps can be found here, with them often running on a POSIX-compatible system as well. This includes the xcc700 self-hosted C compiler.

You can get the MIT-licensed code either from the above GitHub project link or install it from the Espressif Component Registry if that’s more your thing.

Continue reading “BreezyBox: A BusyBox-Like Shell And Virtual Terminal For ESP32”

Full-Blown Cross-Assembler…in A Bash Script

Have you ever dreamed of making a bash script that assembles Intel 8080 machine code? [Chris Smith] did exactly that when he created xa.sh, a cross-assembler written entirely in Bourne shell script.

Assembly language (like the above) goes in, a binary comes out.

The script exists in part as a celebration of the power inherent in a standard Unix shell with quite ordinary POSIX-compliant command line tools like awk, sed, and printf. But [Chris] admits that mostly he found the whole project amusing.

It’s designed in a way that adding support for 6502 and 6809 machine code would be easy, assuming 8080 support isn’t already funny enough on its own.

It’s not particularly efficient and it’s got some quirks, most of which involve syntax handling (hexadecimal notation should stick to 0 or 0x prefixes instead of $ to avoid shell misinterpretations) but it works.

Want to give it a try? It’s a shell script, so pull a copy and and just make it executable. As long as the usual command-line tools exist (meaning your system is from sometime in the last thirty-odd years), it should run just fine as-is.

An ambitious bash script like this one recalls how our own Al Williams shared ways to make better bash scripts by treating it just a bit more like the full-blown programming language it qualifies as.

Getting The VIC-20 To Speak Again

The Commodore Amiga was famous for its characteristic Say voice, with its robotic enunciation being somewhat emblematic of the 16-bit era. The Commodore VIC-20 had no such capability out of the box, but [Mike] was able to get one talking with a little bit of work.

The project centers around the Adventureland cartridge, created by Scott Adams (but not the one you’re thinking of). It was a simple game that was able to deliver speech with the aid of the Votrax Type and Talk speech synthesizer box. Those aren’t exactly easy to come by, so [Mike] set about creating a modern equivalent. The concept was simple enough. An Arduino would be used to act as a go between the VIC-20’s slow serial port operating at 300 bps and the Speakjet and TTS256 chips which both preferred to talk at 9600 bps. The audio output of the Speakjet is then passed to an LM386 op-amp, set up as an amplifier to drive a small speaker. The lashed-together TTS system basically just reads out the text from the Adventureland game in an incredibly robotic voice. It’s relatively hard to understand and has poor cadence, but it does work – in much the same way as the original Type and Talk setup would have back in the day!

Text to speech tools have come a long way since the 1980s, particularly when it comes to sounding more natural. Video after the break.

Continue reading “Getting The VIC-20 To Speak Again”

A graph of current versus time for circuits with and without inductors

A Deep Dive Into Inductors

[Prof MAD] runs us through The Hidden Power of Inductors — Why Coils Resist Change.

The less often used of the passive components, the humble and mysterious inductor is the subject of this video. The essence of inductance is a conductor’s tendency to resist changes in current. When the current is steady it is invisible, but when current changes an inductor pushes back. The good old waterwheel analogy is given to explain what an inductor’s effect is like.

There are three things to notice about the effect of an inductor: increases in current are delayed, decreases in current are delayed, and when there is no change in current there is no noticeable effect. The inductor doesn’t resist current flow, but it does resist changes in current flow. This resistive effect only occurs when current is changing, and it is known as “inductive reactance”.

After explaining an inductor’s behavior the video digs into how a typical inductor coil actually achieves this. The basic idea is that the inductor stores energy in a magnetic field, and it takes some time to charge up or discharge this field, accounting for the delay in current that is seen.

There’s a warning about high voltages which can be seen when power to an inductor is suddenly cut off. Typically a circuit will include snubber circuits or flyback diodes to help manage such effects which can otherwise damage components or lead to electric shock.

[Prof MAD] spends the rest of the video with some math that explains how voltage across an inductor is proportional to the rate of change of current over time (the first derivative of current against time). The inductance can then be defined as a constant of proportionality (L). This is the voltage that appears across a coil when current changes by 1 ampere per second, opposing the change. The unit is the volt-second-per-ampere (VsA-1) which is known as the Henry, named in honor of the American physicist Joseph Henry.

Inductance can sometimes be put to good use in circuits, but just as often it is unwanted parasitic induction whose effects need to be mitigated, for more info see: Inductance In PCB Layout: The Good, The Bad, And The Fugly.

Continue reading “A Deep Dive Into Inductors”