Moving Software Down To Hardware

In theory, any piece of software could be built out of discrete pieces of hardware, provided there are enough transistors, passive components, and time available. In general, though, we’re much more likely to reach for a programmable computer or microcontroller for all but the simplest tasks for several reasons: cost, effort, complexity, economics, and sanity. [Igor Brichkov] was working with I2C and decided that he wanted to see just where this line between hardware and software should be by implementing this protocol itself directly with hardware.

One of the keys to “programming” a communications protocol in hardware is getting the timing right, the first part of which is initializing communications between this device and another on the bus. [Igor] is going to be building up the signal in parts and then ORing them together. The first part is a start condition, generated by one oscillator and a counter. This also creates a pause, at which point a second oscillator takes over and sends data out. The first data needed for I2C is an address, which is done with a shift register and a counter pre-set to send the correct bits out on the communications lines.

To build up the rest of the signal, including data from the rotary encoder [Igor] is using for his project, essentially sets of shift registers and counters are paired together to pass data out through the I2C communications lines in sequence. It could be thought of that the main loop of the hardware program is a counter, which steps through all the functions sequentially, sending out data from the shift registers one by one. We saw a similar project over a decade ago, but rather than automating the task of sending data on I2C it allowed the user to key in data manually instead.

Continue reading “Moving Software Down To Hardware”

Turning A Kombucha Bottle Into A Plasma Tube

Kombucha! It’s a delicious fermented beverage that is kind to your digestive system and often sold in glass bottles. You don’t just have to use those bottles for healthy drinks, though. As [Simranjit Singh] demonstrates, you can also use them to create your very own plasma tube.

[Simranjit’s] build begins with a nice large 1.4-liter kombucha bottle from the Synergy brand. To make the plasma tube nicely symmetrical, the bottle had its original spout cut off cleanly with a hot wire, with the end then sealed with a glass cap. Electrodes were installed in each end of the tube by carefully drilling out the glass and installing small bolts. They were sealed in place with epoxy laced with aluminium oxide in order to improve the dielectric strength and aid the performance of the chamber. A vacuum chamber was then used to evacuate air from inside the chamber. Once built, [Simranjit] tested the bottle with high voltage supplied from a flyback transformer, with long purple arcs flowing freely through the chamber.

A plasma tube may not be particularly useful beyond educational purposes, but it does look very cool. We do enjoy a nice high-voltage project around these parts, after all.

Continue reading “Turning A Kombucha Bottle Into A Plasma Tube”

Building A Handheld Pong Game

Pong was one of the first video games to really enter the public consciousness. While it hasn’t had the staying power of franchises like Zelda or Call of Duty, it nonetheless still resonates with gamers today. That includes [Arnov Sharma], who put together this neat handheld version using modern components.

An ESP32 development board serves as the brains of the operation. Capable of operating at many hundreds of megahertz, it has an excessive amount of power for an application as simple as this. Nonetheless, it’s cheap, and it gets the job done. It’s paired with an SSD1306 OLED screen of 124 x 32 resolution. That might not sound like much, but it’s plenty when you’re just drawing two paddles and a ball bouncing between them. Control is via a pair of SMD push buttons for a nice responsive feel.

What’s really neat, though, is the presentation. [Arnov] wrapped the electronics in a neat bean-shaped housing that vaguely apes game controllers of the 16-bit era. Indeed, [Arnov] explains that it was inspired by the Sega Genesis specifically. It looks great with the black PCBs integrated so nicely with the bright orange 3D printed components, and looks quite comfortable to use, too.

It might be a simple project, but it’s done rather well. Just by thinking about color choices and how to assemble the base components, [Arnov] was able to create an attractive and functional game that’s a lot more eye catching than some random boards thrown in an old project box. Indeed, we’ve featured stories on advanced FR4/PCB construction techniques before, too. Meanwhile, if you’re creating your own projects with similar techniques, don’t hesitate to let us know!

High Frequency Food: Better Cutting With Ultrasonics

You’re cutting yourself a single slice of cake. You grab a butter knife out of the drawer, hack off a moist wedge, and munch away to your mouth’s delight. The next day, you’re cutting forty slices of cake for the whole office. You grab a large chef’s knife, warm it with hot water, and cube out the sheet cake without causing too much trauma to the icing. Next week, you’re starting at your cousin’s bakery. You’re supposed to cut a few thousand slices of cake, week in, week out. You suspect your haggardly knifework won’t do.

In the home kitchen, any old knife will do the job when it comes to slicing cakes, pies, and pastries. When it comes to commercial kitchens, though, presentation is everything and perfection is the bare minimum. Thankfully, there’s a better grade of cutting tool out there—and it’s more high tech than you might think.

Continue reading “High Frequency Food: Better Cutting With Ultrasonics”

Hackaday Podcast Episode 313: Capacitor Plague, Wireless Power, And Tiny Everything

We’re firmly in Europe this week on the Hackaday podcast, as Elliot Williams and Jenny List are freshly returned from Berlin and Hackaday Europe. A few days of mingling with the Hackaday community, going through mild panic over badges and SAOs, and enjoying the unique atmosphere of that city.

After discussing the weekend’s festivities we dive right into the hacks, touching on the coolest of thermal cameras, wildly inefficient but very entertaining wireless power transfer, and a restrospective on the capacitor plague from the early 2000s. Was it industrial espionage gone wrong, or something else? We also take a moment to consider spring PCB cnnectors, as used by both one of the Hackaday Europe SAOs, and a rather neat PCB resistance decade box, before looking at a tryly astounding PCB blinky that sets a new miniaturisation standard.

In our quick roundup the standouts are a 1970s British kit synthesiser and an emulated 6502 system written in shell script, and in the can’t-miss section we look at a new contender fro the smallest microcontroller, and the posibility that a century of waste coal ash may conceal a fortune in rare earth elements.

Follow the link below, to listen along!

Want the podcast in MP3?  Get it in MP3!

Continue reading “Hackaday Podcast Episode 313: Capacitor Plague, Wireless Power, And Tiny Everything”

Benchtop Haber-Bosch Makes Ammonia At Home

Humans weren’t the first organisms on this planet to figure out how to turn the abundance of nitrogen in the atmosphere into a chemically useful form; that honor goes to some microbes that learned how to make the most of the primordial soup they called home. But to our credit, once [Messrs. Haber and Bosch] figured out how to make ammonia from thin air, we really went gangbusters on it, to the tune of 8 million tons per year of the stuff.

While it’s not likely that [benchtop take on the Haber-Bosch process demonstrated by [Marb’s lab] will turn out more than the barest fraction of that, it’s still pretty cool to see the ammonia-making process executed in such an up close and personal way. The industrial version of Haber-Bosch uses heat, pressure, and catalysts to overcome the objections of diatomic  nitrogen to splitting apart and forming NH3; [Marb]’s version does much the same, albeit at tamer pressures.

[Marb]’s process starts with hydrogen made by dripping sulfuric acid onto zinc strips and drying it through a bed of silica gel. The dried hydrogen then makes its way into a quartz glass reaction tube, which is heated by a modified camp stove. Directly above the flame is a ceramic boat filled with catalyst, which is a mixture of aluminum oxide and iron powder; does that sound like the recipe for thermite to anyone else?

A vial of Berthelot’s reagent, which [Marb] used in his recent blood ammonia assay, indicates when ammonia is produced. To start a run, [Marb] first purges the apparatus with nitrogen, to prevent any hydrogen-related catastrophes. After starting the hydrogen generator and flaring off the excess, he heats up the catalyst bed and starts pushing pure nitrogen through the chamber. In short order the Berthelot reagent starts turning dark blue, indicating the production of ammonia.

It’s a great demonstration of the process, but what we like about it is the fantastic tips about building lab apparatus on the cheap. Particularly the idea of using hardware store pipe clamps to secure glassware; the mold-it-yourself silicone stoppers were cool too.

Continue reading “Benchtop Haber-Bosch Makes Ammonia At Home”

This Week In Security: The Github Supply Chain Attack, Ransomware Decryption, And Paragon

Last Friday Github saw a supply chain attack hidden in a popular Github Action. To understand this, we have to quickly cover Continuous Integration (CI) and Github Actions. CI essentially means automatic builds of a project. Time to make a release? CI run. A commit was pushed? CI run. For some projects, even pull requests trigger a CI run. It’s particularly handy when the project has a test suite that can be run inside the CI process.

Doing automated builds may sound straightforward, but the process includes checking out code, installing build dependencies, doing a build, determining if the build succeeded, and then uploading the results somewhere useful. Sometimes this even includes making commits to the repo itself, to increment a version number for instance. For each step there are different approaches and interesting quirks for every project. Github handles this by maintaining a marketplace of “actions”, many of which are community maintained. Those are reusable code snippets that handle many CI processes with just a few options.

One other element to understand is “secrets”. If a project release process ends with uploading to an AWS store, the process needs an access key. Github stores those secrets securely, and makes them available in Github Actions. Between the ability to make changes to the project itself, and the potential for leaking secrets, it suddenly becomes clear why it’s very important not to let untrusted code run inside the context of a Github Action.

And this brings us to what happened last Friday. One of those community maintained actions, tj-actions/changed-files, was modified to pull an obfuscated Python script and run it. That code dumps the memory of the Github runner process, looks for anything there tagged with isSecret, and writes those values out to the log. The log, that coincidentally, is world readable for public repositories, so printing secrets to the log exposes them for anyone that knows where to look.

Researchers at StepSecurity have been covering this, and have a simple search string to use: org:changeme tj-actions/changed-files Action. That just looks for any mention of the compromised action. It’s unclear whether the compromised action was embedded in any other popular actions. The recommendation is to search recent Github Action logs for any mention of changed-files, and start rotating secrets if present. Continue reading “This Week In Security: The Github Supply Chain Attack, Ransomware Decryption, And Paragon”