Google-Inspired USB-PD Sniffer For The DIY Crowd

If you want to hack around with the communication protocol that USB Power Delivery devices use to negotiate their power requirements with the upstream source, a tool like Google’s Twinkie really helps. With it you can sniff data off the line, analyze it, and even inject your own packets. Luckily for us, the search giant made the device open source so we can all have one of our own.

Unfortunately, as [dojoe] found out, the Twinkie isn’t particularly well suited for small-scale hobbyist manufacturing. So he came up with a revised design he calls Twonkie that replaces the six layer PCB with a much more reasonable four layer version that can be manufactured cheaply by OSHPark, and swaps out the BGA components with QFP alternatives you can hand solder.

That said, it’s still likely to be a challenging build for the home gamer. There’s quite a few 0402 passives on there, and while those are doable with an iron, it can certainly be tricky. To take some pressure off, [dojoe] says he tried to optimize the board layout as much as possible for hand assembly. He was even able to avoid needing hot air by straddling the PCB with USB-C mounts intended for vertical applications.

Given the current chip shortage, [dojoe] says the biggest problem might actually getting your hands on the STM32F072CB microcontroller at the Twonkie’s core. To that end, the board supports TQFP44 and QFN44 footprints, and you can even use a STM32F072C8 at the cost of some functionality. With a bit of luck, hopefully you can find a chip that will work in the parts bin.

It Ain’t Broke, But Should I Fix It?

Five years ago, I wrote a series on getting started with your own MQTT-based home information/automation network. Five years is a long while in Hackaday time. Back then, the ESP8266 was a lot newer, and the 8266 Arduino port wasn’t fully in shape yet, and the easiest software framework to get MQTT up and running was NodeMCU; so that’s what I used for the article series, and as a consequence a handful of devices around my house run minor modifications of that basic “hello world”, but doing useful stuff.

Since then, NodeMCU has changed a bunch of its libraries and the ESP32 has replaced the ESP8266 in my parts drawer. If you tried to run my code, you’d find that it won’t run on an ESP8266 without porting or compiling an old version of NodeMCU for yourself anyway, and it won’t run on an ESP32 at all. When [Chris Lott] tried to follow my guide, he discovered that Micropython is probably a better language choice in 2021. To minimize lines of code, I’d agree, although the Arduino and Espressif’s own native IDF have grown into the job just about as well. In short, anything but NodeMCU.

Built in an hour, survived for five years.

But my home automation system doesn’t care. Those little guys are running 24/7, flipping bits like it was still 2016. Thermometers, light sensors, and power meters haven’t changed much in five years, and although I’ve revamped the databasing, display, and user control a number of times since then, using a fixed communication transport protocol means that they’re still talking the same language. Indeed, even if NodeMCU is dead to me, the MQTT content of my original series is all still valid, and installing a broker on a Raspberry Pi has only become easier in the intervening five years.

So I’ve got a bunch of legacy code running within the walls of my own home, and it makes me nervous. If the devices fail, or maybe when they eventually fail, it’s not going to be “just flash another ESP8266 and replace it”, because even though I have some ancient NodeMCU binaries sitting around, I know when to throw in the towel. But there’s no good reason to pull them down and start reflashing either. Except that it makes me a little bit itchy, just knowing that there’s orphaned, dead-end code running all around me. Surrounding me. Staring deep into my hacker’s heart.

I know better than to tear down a running system, even though I could do it one device at a time, and each module would surely be a simple, independent fix; even though I’d love the excuse to play around with Micropython and its MQTT implementation on the ESP8266, or maybe even swap some of them out for ESP32s; even though these were all temporary quick hacks that have somehow served for five (5!) years. I certainly know better, right? (Right?)

Stochastic Markov Beats

[Attoparsec] has been building intriguing musical projects on his YouTube channel for a while and his latest is no exception. Dubbed simply as “Node Module”, it is a rack-mounted hardware-based Markov chain beat sequencer. Traditionally Markov chains are software state machines that transition between states with given probabilities, often learned from a training corpus. That same principle has been applied to hardware beat sequencing.

Each Node Module has a trigger input, four outputs each with a potentiometer, and a trigger out. [Attoparsec] has a wonderful explanation of all the different parts and theories that make up the module at the start of his video, but the basic operation is that a trigger input comes in and the potentiometers are read to determine the probabilities of each output. One is randomly selected and fired. As you can imagine, there are loops and even dead-end nodes and for some musical pieces there is a certain number of beats expected, so a clever reset signal can be sent to pull the chain back to the initial starting state at a regular interval. The results are interesting to listen to and even better to imagine all the possibilities.

The module itself is an Arduino-based custom PCB that is laid out quite cleanly. The BOM, code, and KiCad files are available on GitHub if you want to make one yourself. This isn’t the first instrument we’ve seen [Attoparsec] make, and we’re confident it won’t be the last.

Continue reading “Stochastic Markov Beats”

Launching An Open Source Keyboard; System76 Has Published Their Design Files

System76, a computer manufacturer known for selling machines which run Linux, recently unveiled the complete sources for their forthcoming Launch mechanical keyboard. Made with familiar tools, mass produced, and backed by a stable company it looks like the Launch will be a compelling entrant into the world of mechanical keyboards.

Back in March of 2020 System76 published a blog post about a new project they were embarking on; a mechanical keyboard with an unusual layout. At the time there was scant information available besides a summer 2021 target and little was heard until last week when they opened up access to the Launch repository. Everything should be recognizable if you’ve ever looked at the sources for a customized mechanical keyboard before, which is what gets our attention. Electrical sources are authored with KiCad and should be easy to tweak or fabricate. And mechanical components are provided in STEP files with mechanical drawings, presumably because they intend to actually manufacture these.

launch-chassis.pngFeature wise all the usual hallmarks of a well designed keyboard are here. The Launch uses hostswap sockets to make it easy to install the usual Cherry MX compatible switch options, and includes per-key RGB backlighting courtesy of SK6805 LEDs. The ATmega32U4 runs the popular and extremely capable QMK firmware instead of something bespoke, so it should be easy to customize to the user’s desire.

System76 touts an unusual key layout, but if you’ve seen a 75% keyboard before it shouldn’t be too threatening (though we do wonder about that shrunken right shift). The most unusual feature is that it features a USB hub capable of full speed 10 gigabit USB 3.1 Gen 2 on two USB-C and two USB-A ports. It’s worth checking out the schematic to appreciate how much more complicated the hub design is than the rest of the keyboard, which is practically vestigial in comparison.

The remaining unknown is how the Launch integrates with Pop!_OS, System76’s awkwardly named remix of Ubuntu. They promise deep, compelling integration and we’re excited to see how that manifests.

Writing Pretty Flux Patterns To Old Floppy Disks

Floppy disks are rapidly aging, and archivists are working hard to preserve what data is left. This has led to the development of advanced floppy controllers capable of capturing the raw flux data from disks. [bzotto] was experimenting with the Applesauce archival hardware, and had some fun with the tools.

The result is a highly esoteric Easter egg. [bzotto]’s Picturedsk tool takes a bitmap image as input, and imprints that image into the magnetic flux of the disk. Thus, when viewing a dump of the disk’s magnetic flux on an archival program, the hidden image will be revealed. As an extra treat, it also writes a 1-bit version of the image to track 0, along with a barebones Apple ][ program to display the image and implore the user to investigate further.

It’s a fun hack that we could imagine being used as part of a game at a retro computing con, when we get to go back to those of course. We’ve seen Applesauce used before, too. If you’ve got your own archival projects on the go, be sure to let us know!

3D Print Your Next Antenna

Building antennas is a time-honored ham radio tradition. Shortwave antennas tend to be bulky but at VHF frequencies the antenna sizes are pretty manageable. [Fjkaan’s] 2 meter quadrifilar helicoidal antenna is a good example and the structure for it can be created with 3D printing combined with electrical conduit.

Many people, including [G4ILO] use PVC pipe for the structure, and that design inspired [Fjkaan]. Despite being a bit less substantial, the conduit seems to work well and it is easy to cut. The helical design is common for satellite work owing to its circular polarization and omnidirectional pattern.

Continue reading “3D Print Your Next Antenna”

Homebrew Doorknob Caps For High-Voltage Fun

Mouser and Digi-Key are great for servicing most needs, and the range of parts they offer is frankly bewildering. But given the breadth of the hardware hacking community’s interests, few companies could afford to be the answer to everyone’s needs.

That’s especially true for the esoteric parts needed when one’s hobby involves high voltages and homemade lasers, like [Les Wright]. He recently came up with a DIY doorknob capacitor design that makes the hard-to-source high-voltage caps much easier to obtain. We’ve seen [Les] use these caps in his transversely excited atmospheric (TEA) lasers, a simple design that uses high-voltage discharge across a long, narrow channel filled with either room air or nitrogen. The big ceramic caps are needed for the HV supply, and while [Les] has a bunch, they’re hard to come by online. He tried a follow-up using plain radial-lead ceramic capacitors, and while the laser worked, he did get some flashover between the capacitor leads.

[Les]’s solution was to dunk the chunky caps in acetone for a week or so to remove their epoxy covering. Once denuded, the leads were bent into a more axial configuration and soldered to brass machine screws. The dielectric slug is then put in a small section of plastic tubing and potted in epoxy resin with the bolts protruding from each end. The result is hard to distinguish from a genuine doorknob cap; the video below shows the build process as well as some testing.

Hats off to [Les] for taking pity on those of us who want to replicate his work but find ourselves without these essentials. It’s nice to know there’s a way to make unobtanium parts when you need them.

Continue reading “Homebrew Doorknob Caps For High-Voltage Fun”