Linus Live-Codes Music On The Commodore 64

In this tremendously educational video, [Linus Åkesson] takes us through how he develops a synthesizer and a sequencer and editor for it on the Commodore 64, all in BASIC. While this sounds easy, [Linus] is doing this in hard mode: all of the audio is generated by POKE, and it gets crazier from there. If you’re one of those people out there who think that BASIC is a limited language, you need to watch this video.

[Linus] can do anything with POKE. On a simple computer like the C64, the sound chip, the screen chips, and even the interrupts that control program flow are all accessible simply by writing to the right part of memory. So the main loop here simply runs through a lot of data, POKEing it into memory and turning the sound chip on and off. There’s also a counter running inside the C64 that he uses to point into a pitch lookup table in the code.

But the inception part comes when he designs the sequencer and editor. Because C64 BASIC already has an interactive code editor, he hijacks this for his music editor. The final sequencer interface exists inside the program itself, and he writes music in the code, in real time, using things like LIST and editing. (Code is data, and data is code.) Add in a noise drum hack, and you’ve got some classic chiptuney sounds by the end.

We love [Linus]’s minimal C64 exercises, and this one gets maximal effect out of a running C64 BASIC environment. But that’s so much code in comparison to his 256-byte “A Mind is Born” demo. But to get that done, he had to use assembly.

Thanks [zogzog] for the great tip!

Continue reading “Linus Live-Codes Music On The Commodore 64”

Arduboy Cassette Award Explores New Features

When [Press Play on Tape] entered their game Prince of Arabia into the Arduboy FX Game Jam, we bet they had no idea that they’d be taking home a prize quite like this — designed by Arduboy creator [Kevin Bates], this gorgeous new variant of the handheld system brings some exciting new capabilities to the platform. Plus, it looks awesome.

The system, which is made up of a stacked pair of PCBs, has been designed to resemble an audio cassette. Thanks to the full-color silkscreen service offered by PCBway, it certainly looks the part. But it’s also a fully functional Arduboy, which means it has access to all the games already written for the 8-bit system.

Continue reading “Arduboy Cassette Award Explores New Features”

An Arduino Triggers A Flash With Sound

To capture an instant on film or sensor with a camera, you usually need a fast shutter. But alternately a flash can be triggered with the scene in the dark and the shutter wide open. It’s this latter technique which PetaPixel are looking at courtesy of the high-speed class at Rochester Institute of Technology. They’re using a cheap sound sensor module and an Arduino to catch instantaneous photographs, with students caught in the act of popping balloons.

Continue reading “An Arduino Triggers A Flash With Sound”

Assessing Developer Productivity When Using AI Coding Assistants

We have all seen the advertisements and glossy flyers for coding assistants like GitHub Copilot, which promised to use ‘AI’ to make you write code and complete programming tasks faster than ever, yet how much of that has worked out since Copilot’s introduction in 2021? According to a recent report by code analysis firm Uplevel there are no significant benefits, while GitHub Copilot also introduced 41% more bugs. Commentary from development teams suggests that while the coding assistant makes for faster writing of code, debugging or maintaining the code is often not realistic.

None of this should be a surprise, of course, as this mirrors what we already found when covering this topic back in 2021. With GitHub Copilot and kin being effectively Large Language Models (LLMs) that are trained on codebases, they are best considered to be massive autocomplete systems targeting code. Much like with autocomplete on e.g. a smartphone, the experience is often jarring and full of errors. Perhaps the most fair assessment of GitHub Copilot is that it can be helpful when writing repetitive, braindead code that requires very little understanding of the code to get right, while it’s bound to helpfully carry in a bundle of sticks and a dead rodent like an overly enthusiastic dog when all you wanted was for it to grab that spanner.

Until Copilot and kin develop actual intelligence, it would seem that software developer jobs are still perfectly safe from being taken over by our robotic overlords.

Solve: An ESP32-Based Equation Solving Calculator

We’re suckers for good-looking old-school calculators, so this interesting numerical equation-solving calculator by [Peter Balch] caught our attention. Based around the ESP32-WROOM-32 module and an LCD, the build is quite straightforward from an electronics point of view, with the main work being on the software side of things.

A custom keyboard was constructed on Veroboard using a handful of tactile switches arranged in a charlieplexing array to minimize the number of IO pins consumed. For the display, an off-the-shelf 240×320 ILI9341-based module hooked up by SPI was used. A single lithium cell was used for the power supply, connected to a USB

You don’t need much to make a usable keyboard.

charger module, but you could just as easily substitute a 3 x AA battery box. The case was designed in DesignSpark mechanical and 3D printed. It’s unclear what keyboard version they settled on; there are options for one with keycaps and one without. Regardless, a 3D-printed frame sits atop the keyboard circuit, with the graphics printed on photo paper and a protective coversheet on top. Continue reading “Solve: An ESP32-Based Equation Solving Calculator”

A Phone? A Ham Radio? Relax! It’s Both!

A lot of hams like to carry a VHF radio. Of course, nearly everyone wants to carry a phone. Now, thanks to the kv4p HT, you don’t have to carry both. The open-source device connects to your Android smartphone and turns it into a radio transceiver. You can build it yourself for about $35. Check out the video below.

The device uses an ESP32 and only transmits one watt, but it has lots of features like APRS and scanning.

Continue reading “A Phone? A Ham Radio? Relax! It’s Both!”

Your Battery Holder Is Also Your Power Switch With ToggleSlot

We really like PCB-level hacks, especially ones that show ingenuity in solving a real problem while being super cheap to implement. Hackaday.IO user [Steph] wanted a cheap way to switch a wearable on and off without having to keep popping out the battery, so they came up with a tweaked battery footprint, which is also a simple slide switch.

Most people making badges and wearables will follow the same well-trodden path of just yanking out the cell or placing some cheap switch down and swallowing the additional cost. For [Steph], the solution was obvious. By taking a standard surface-mount CR2032 button cell holder footprint, extending its courtyard vertically, and moving the negative pad up a smidge, the battery can be simply slid up to engage the pad and slid down to disengage and shut off the juice. The spring section of the positive terminal keeps enough pressure on the battery to prevent it from sliding out, but if you are worried, you can always add a dummy pad at the bottom, as well as a little solder bump to add a bit more security.

Now, why didn’t we think of this before? The KiCad footprint file can be downloaded from the project GitHub page, imported into your project and used straight away.

Many of our gadgets are powered by CR2032 cells—so many so that eliminating the need for them leads to interesting projects, like this sweet USB-powered CR2032 eliminator. But how far can you push the humble cell? Well, we held a contest a few years ago to find out!