A photo of the front-panel with a bunch of lamps and knobs.

The Making Of A Minimalist Analog Drum Machine

Our hacker [Moritz Klein] shows us how to make a minimalist analog drum machine. If you want the gory details check out the video embedded below and there is a first class write-up available as a 78 page PDF manual too. Indeed it has been a while since we have seen a project which was this well documented.

A typical drum machine will have many buttons and LEDs and is usually implemented with a microcontroller. In this project [Moritz] eschews that complexity and comes up with an analog solution using a few integrated circuits, LEDs, and buttons.

The heart of the build are the integrated circuits which include two TL074 quad op amps, a TL072 dual op amp, a CD4520 binary counter, and eight CD4015 shift registers. Fifteen switches and buttons are used along with seven LEDs. And speaking of LEDs, our hacker [Moritz] seems to have an LED schematic symbol tattooed to his hand, and we don’t know about you, but this screams credibility to us! :)

Continue reading “The Making Of A Minimalist Analog Drum Machine”

Mesa Project Adds Code Comprehension Requirement After AI Slop Incident

Recently [Faith Ekstrand] announced on Mastodon that Mesa was updating its contributor guide. This follows a recent AI slop incident where someone submitted a massive patch to the Mesa project with the claim that this would improve performance ‘by a few percent’. The catch? The entire patch was generated by ChatGPT, with the submitter becoming somewhat irate when the very patient Mesa developers tried to explain that they’d happily look at the issue after the submitter had condensed the purported ‘improvement’ into a bite-sized patch.

The entire saga is summarized in a recent video by [Brodie Robertson] which highlights both how incredibly friendly the Mesa developers are, and how the use of ChatGPT and kin has made some people with zero programming skills apparently believe that they can now contribute code to OSS projects. Unsurprisingly, the Mesa developers were unable to disabuse this particular individual from that notion, but the diff to the Mesa contributor guide by [Timur Kristóf] should make abundantly clear that someone playing Telephone between a chatbot and OSS project developers is neither desirable nor helpful.

That said, [Brodie] also highlights a recent post by [Daniel Stenberg] of Curl fame, who thanked [Joshua Rogers] for contributing a massive list of potential issues that were found using ‘AI-assisted tools’, as detailed in this blog post by [Joshua]. An important point here is that these ‘AI tools’ are not LLM-based chatbots, but rather tweaked existing tools like static code analyzers with more smarts bolted on. They’re purpose-made tools that still require you to know what you’re doing, but they can be a real asset to a developer, and a heck of a lot more useful to a project like Curl than getting sent fake bug reports by a confabulating chatbot as has happened previously.

Continue reading “Mesa Project Adds Code Comprehension Requirement After AI Slop Incident”

Electric Surfboard Gets Thrust Vectoring Upgrade

The internet has already taught us that an electric surfboard is a great way to get around on the water while looking like an absolute badass. [RCLifeOn] is continuing to push the boat forward in this regard, however, adding thrust vectoring technology to his already-impressive build.

If you’re unfamiliar with the world of electric surfboards, the concept is relatively simple. Stick one or more electric ducted fan thrusters on the back, add some speed controllers, and power everything from a chunky bank of lithium-ion batteries. Throw in a wireless hand controller, and you’ve got one heck of a personal watercraft.

Traditionally, these craft are steered simply by leaning and twisting as a surfer would with a traditional board. However, more dynamic control is possible if you add a way to aim the thrust coming from the propulsion system. [RCLifeOn] achieved this by adding steerable nozzles behind the ducted fan thrusters, controlled with big hobby servos to handle the forces involved. The result is a more controllable electric surfboard that can seriously carve through the turns. Plus, it’s now effectively an RC boat all on its own, as it no longer needs a rider on board to steer.

We’ve covered various developments in this surfboard’s history before, too. Video after the break. Continue reading “Electric Surfboard Gets Thrust Vectoring Upgrade”

Segger’s Awkward USB-C Issue With The J-Link Compact Debugger

Theoretically USB-C is a pretty nifty connector, but the reality is that it mostly provides many exciting new ways to make your device not work as expected. With the gory details covered by [Alvaro], the latest to join the party is Segger, with its J-Link BASE Compact MCU debugger displaying the same behavior which we saw back when the Raspberry Pi 4 was released in 2019. Back then so-called e-marked USB-C cables failed to power the SBC, much like how this particular J-Link unit refuses to power up when connected using one of those special USB-C cables.

We covered the issue in great detail back then, discussing how the CC1 and CC1 connections need to be wired up correctly with appropriate resistors in order for the USB-C supply – like a host PC – to provide power to the device. As [Alvaro] discovered through some investigation, this unit made basically the same mistake as the RPi 4B SBC before the corrected design. This involves wiring CC1 and CC2 together and as a result seeing the same <1 kOhm resistance on the active CC line, meaning that to the host device you just hooked up a USB-C audio dongle, which obviously shouldn’t be supplied with power.

Although it’s not easy to tell when this particular J-Link device was produced, the PCB notes its revision as v12.1, so presumably it’s not the first rodeo for this general design, and the product page already shows a different label than for the device that [Alvaro] has. It’s possible that it originally was sloppily converted from a previous micro-USB-powered design where CC lines do not exist and things Just Work™, but it’s still a pretty major oversight from what should be a reputable brand selling a device that costs €400 + VAT, rather than a reputable brand selling a <$100 SBC.

For any in the audience who have one of these USB-C-powered debuggers, does yours work with e-marked cables, and what is the revision and/or purchase date?

FLOSS Weekly Episode 849: Veilid: Be A Brick

This week Jonathan talks with Brandon and TC about Veilid, the peer-to-peer networking framework that takes inspiration from Tor, and VeilidChat, the encrypted messenger built on top of it. What was the inspiration? How does it work, and what can you do with it? Listen to find out!

Continue reading “FLOSS Weekly Episode 849: Veilid: Be A Brick”

Lost Techniques: Bond-out CPUs And In Circuit Emulation

These days, we take it for granted that you can connect a cheap piece of hardware to a microcontroller and have an amazing debugging experience. Stop the program. Examine memory and registers. You can see and usually change anything. There are only a handful of ways this is done on modern CPUs, and they all vary only by detail. But this wasn’t always the case. Getting that kind of view to an actual running system was an expensive proposition.

Today, you typically have some serial interface, often JTAG, and enough hardware in the IC to communicate with a host computer to reveal and change internal state, set breakpoints, and the rest. But that wasn’t always easy. In the bad old days, transistors were large and die were small. You couldn’t afford to add little debugging pins to each processor you produced.

This led to some very interesting workarounds. Of course, you could always run simulators on a larger computer. But that might not work in real time, and almost certainly didn’t have all the external things you wanted to connect to, unless you also simulated them. Continue reading “Lost Techniques: Bond-out CPUs And In Circuit Emulation”

Building An Open Source Point Of Sale System

[Mukesh Sankhla] has been tinkering in the world of Point of Sale systems of late. His latest creation is a simple, straightforward kiosk system, and he’s open sourced the design.

The Latte Panda MU single-board computer is at the heart of the build, handling primary duties and communicating with the outside world. It’s hooked up to a touchscreen display which shows the various items available for purchase. As an x86 system, the Latte Panda runs Windows 11, along with a simple kiosk software package written in Python. The software uses Google Firebase as a database backend. There’s also an Xiao ESP32 S3 microcontroller in the mix, serving as an interface between the Latte Panda and the thermal printer which is charged with printing receipts.

It’s worth noting that this is just a point-of-sale system; it executes orders, but doesn’t directly deliver or vend anything. With that said, since it’s all open-source, there’s nothing stopping you from upgrading this project further.

We’ve featured other interesting point-of-sale systems before; particularly interesting was the San Francisco restaurant that was completely automated with no human interaction involved Continue reading “Building An Open Source Point Of Sale System”