A small circuit board glowing purple inset with computer code

Power Cycling Museum Computers On The Cheap

Flicking a circuit breaker to power cycle hundreds of desktop computers inside interactive museum exhibits is hardly ideal. Computers tend to get cranky when improperly shutdown, and there’s an non-zero risk of data loss. However, financial concerns ruled out commercial computer management solutions, and manually shutting down each exhibit at the end of the day is not practical. Tasked with finding a solution, [Jeff Glass] mixed off-the-shelf UPS (uninterruptible power supply) hardware, a Featherwing and some Python to give the museum’s computer-run exhibits a fighting chance.

Without drastically changing the one-touch end-of-day procedure, the only way to properly shutdown the hundreds of computers embedded in the museum exhibits involved using several UPS units, keeping the PCs briefly powered on after the mains power was cut. This in itself solves nothing – while the UPS can trigger a safe shutdown via USB, this signal could only be received by a single PC. These are off-the-shelf consumer grade units, and were never intended to safely shut down more than one computer at a time. However, each 300 watt UPS unit is very capable of powering multiple computers, the only limitation is the shutdown signal and the single USB connection.

To get around this, the Windows task scheduling service was setup to be triggered by the UPS shutdown signal, which itself then triggered a custom Python script. This script then relays the shutdown signal from the UPS to every other computer in the museum, before shutting itself down for the evening.

While many computers can be enabled to boot on power loss, the UPS and safe shutdown scripts meant that this wasn’t an option. To get around this, an ESP32 Featherwing and a little bit if CircuitPython code sends out WOL (wake-on-LAN) signals over Ethernet automatically on power up. This unit is powered by a non-UPS backed power outlet, meaning that it only sends the WOL signal in the morning when mains power is restored via the circuit breaker.

There are undoubtedly a variety of alternative solutions that appear ‘better’ on paper, but these may gloss over the potential costs and disruption to a multi-acre museum. Working within the constraints of reality means that the less obvious fix often ends up being the right one. How would you have tackled this problem? Sound off in the comments below. And while you’re here, make sure to check out our coverage of other UPS solutions, like this supercap UPS.

The Open Source ASICs Hack Chat Redefines Possible

There was a time when all that was available to the electronics hobbyist were passive components and vacuum tubes. Then along comes the integrated circuit, and it changed everything. Fast forward a bit, and affordable programmable microcontrollers arrived on the scene. Getting started in electronics became far easier, and the line between hardware and software started to blur. Much more recently, the hobbyist community was introduced to field programmable gate arrays (FPGAs) and the tools necessary to work with them. While not as widely applicable as the IC or MCU, the proliferation of FPGAs among hardware hackers once again opened doors that were previously locked tight.

We’re currently on the edge of another paradigm shift, but it’s no surprise if you haven’t heard of it. After all, the last couple of years have been a bit unusual, so the 2020 announcement that Google was teaming up with SkyWater and Efabless to enable the design and manufacture of open source application-specific integrated circuits (ASICs) flew under the radar for many people. But not Matt Venn, the host of this week’s Hack Chat. For him, it was the opportunity he’d been waiting for.

Matt started like many of us, building electronic kits and building new gadgets out of old discarded hardware. He graduated to microcontrollers, and became particularly interested in FPGAs when the open source toolchains started hitting the scene. Of course by this point, it was much more than just a hobby for him. He was presenting a talk at the 2019 Week of Open Source Hardware in Switzerland when he saw Tim Edwards from Efabless demo a chip that had been made with open source tools. Unfortunately, the costs involved were still far too high for an individual to put their ideas into silicon.

So when Google and Skywater announced they would be footing the bill to have selected open source ASIC designs manufactured a few months later, Matt says he was in a good position to jump in. He has since started running the Zero to ASIC Course which aims to teach you how to produce your own chips using the open source Process Development Kit, and so far 160 people have taken him up on the offer.

As you might expect, many of the questions in the Chat had to do with what kind of designs you can actually produce using the 130 nm process. Especially given the limits on the physical space each creator’s circuit can take up on each multi-project wafer (MPW). Others wanted to know how difficult it would be to port over existing FPGA designs, or how well the process worked with analog applications. With the number of designs Matt has seen go through his course, he could answer many of the questions just by pointing to a particular individual’s ASIC. For instance, he held up the digital-to-analog converter from Harald Pretl and Thomas Parry’s 5 GHz satellite transceiver as prime analog examples.

So let’s say you put the work in to design an ASIC and it gets approved to be produced on a future MPW, what then? Well, first you have to hope everything goes according to plan. Matt explains that the initial run was almost a total write-off due to timing problems in the toolchain, though in the end, he was largely able to recover his own chip. But they’ve done several runs since then, so let’s assume there’s no production problems. What exactly ends up on your doorstep?

If you were expecting a handy DIP8, you might be disappointed. While some DIY friendly packages would be nice, right now the ASICs ship as wafer level chip scale package (WLCSP) with an unforgiving 0.5 mm pitch. If you can believe it, that’s actually an improvement over the first run, which shipped out as a bare die. Of course as Matt pointed out, anyone who’s gotten to the point of designing their own custom ASIC probably won’t be scared off by the prospect of some fine-pitch soldering. Some in the Chat wondered about the difficulty in getting compatible PCBs produced, but Matt said that in his experience OSH Park has been up to the challenge.

Like the Metal 3D Printing Hack Chat before it, this week’s session went over a topic that’s on the absolute cutting edge of what’s possible for hardware hackers and hobbyists. Truth be told, the vast majority of the people reading Hackaday are no more likely to send away for their own custom ASIC as they are to battle x-rays in an attempt to sinter metal with a homebrew electron gun. But that doesn’t make the fact that some folks out there doing it any less important, or inspiring. That said, if you do end up being one of those select few that can boast they’ve designed a custom chip of their own — don’t forget to send one of them our way.

We’re grateful Matt Venn was able, once again, to share his valuable experience in the realm of open source application-specific integrated circuits with us. If you haven’t checked them out already, the Zero to ASIC workshop he ran for Remoticon 2020 and his talk Open Source ASICs – A Year in Perspective from Remoticon 2021 are required viewing if you want to learn more about this fascinating new frontier in hardware hacking.


The Hack Chat is a weekly online chat session hosted by leading experts from all corners of the hardware hacking universe. It’s a great way for hackers connect in a fun and informal way, but if you can’t make it live, these overview posts as well as the transcripts posted to Hackaday.io make sure you don’t miss out.

Hackaday Podcast 160: Pedal Power, OpenSCAD In The Browser, Tasmanian Tigers, And The Coolest Knob

Join Hackaday Editor-in-Chief Elliot Williams and Managing Editor Tom Nardi as they tackle all the hacks that were fit to print this last week. Things start off with some troubling news from Shenzhen (spoilers: those parts you ordered are going to be late), and lead into a What’s That Sound challenge that’s sure to split the community right down the center. From there we’ll talk about human powered machines, bringing OpenSCAD to as many devices as humanly possible, and the finer points of installing your own hardware into a Pelican case. There’s a quick detour to muse on laser-powered interstellar probes, a Pi-calculating Arduino, and a surprisingly relevant advertisement from Sony Pictures. Finally, stay tuned to hear the latest developments in de-extinction technology, and a seriously deep dive into the lowly nail.

Or Direct Download, like an old-school boss!

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Continue reading “Hackaday Podcast 160: Pedal Power, OpenSCAD In The Browser, Tasmanian Tigers, And The Coolest Knob”

Morse Keyboard Communicates With The Blink Of An Eye

Most of us use our hands to interface with computers, but the human body is capable of many types of input other than that of fingers and feet. But what about people who can’t use their extremities and don’t have a voice? For their sake, it’s time to get creative.

[Michael Paul Coder] has made a way to type simply by blinking in Morse code. Those of you with long memories may recall Lucid Scribe, where he was attempting to document lucid dreaming experiments by detecting rapid eye movements with an accelerometer and triggering his computer to play music. This would in turn notify [Michael] that he was in fact dreaming and was safe to tie a cape around his neck and take a flying leap from a tall building.

Whereas [Michael]’s creation needed a commercial EEG device before, he’s now made it work with just an old webcam thanks to the new trans-consciousness messaging protocol, which operates by using facial detection and then interpreting the amount of changed pixels between video frames. Be sure to check it out in action after the break.

You know how much we love assistive technology around here — just two years ago, the Byte took top honors in The Hackaday Prize.

Continue reading “Morse Keyboard Communicates With The Blink Of An Eye”

This Week In Security: More Protestware, Another Linux Vuln, And TLStorm

It seems I have made my tiny, indelible mark on internet security history, with the term “protestware“. As far as I can tell, I first coined this particular flavor of malware while covering the Faker.js/Colors.js vandalism in January.

Yet another developer, [RIAEvangelist] has inserted some malicious code (Mirror, since the complaint has been deleted) in an existing project, in protest of something, in this case the war in Ukraine. The behavior here is to write a nice note on the desktop, preaching “peace not war”. However, a few versions of this sample have a nasty surprise — it does a GeoIP lookup, and attempts to wipe the entire drive if it detects a Russian location. Yes, node-ipc versions 10.1.1 and 10.1.2 contain straight-up malware. It’s not clear how many users ran the potentially malicious code, as it was quickly reverted and released 10.1.3. Up-to-date versions of node-ipc still create the desktop file, and Unity Hub has already confirmed they shipped the library in this state, and have since issued a hotfix.
Continue reading “This Week In Security: More Protestware, Another Linux Vuln, And TLStorm”

Render HTML And CSS On An ESP32

As the available computing power from affordable microcontrollers continues to increase, there is an inevitable blurring of the line between them and the lower tier of application processors capable of running Linux-based operating systems. For the most part a microcontroller busies itself with behind-the-scenes tasks, but as so many projects here have demonstrated, they can be pretty capable when it comes to user-facing applications too. Now [Andy Green] has extended the possibilities with affordable silicon, by producing a proof-of-concept HTML + CSS renderer over h2 on ESP32 for libwebsockets. Surf the web on a microcontroller without settling for a text-only experience? Why not!

He freely admits that this is far from being a complete HTML rendering engine, in that while it parses and renders HTML and CSS with JPEG and PNG image support, it does so only with a subset of HTML and is not tolerant of any malformations. There is also no JS support, which is hardly surprising given the available resources.

Even with those limitations it remains an impressive piece of work, which we hope will one day be able to make some effort at displaying Hackaday on ESP32 devices such as the badge.team European conference badges. Definitely a project to watch!

An input device combining a joystick with several knnobs and buttons

Modular Multi-Input Macro Keypad Integrates Mouse And Joystick

While most computer users make do with just a keyboard and mouse, power users often have multiple additional input devices. Gamers use joysticks or dedicated mice, CAD engineers have specialized gadgets for manipulating 3D objects, while graphic designers might want programmable macro buttons to automate various tasks. [Sascha Nitsch] didn’t fancy cluttering his desk with a whole bunch of input devices and therefore decided to combine as many functions as possible into the CIMDIT: a Completely Insane Multi Device Input Thingy.

The main components making up the CIMDIT are a 3-axis joystick module, which can double as a 3D CAD mouse, and a set of buttons, knobs and sliders to enable various functions. One rotary encoder is used to choose an operating mode, while four others can be used as programmable inputs. A small OLED display shows which mode is currently selected, but can also be used to display notifications from various programs.

An Arduino Pro Micro provides a USB interface to a PC and reads out the various input units. The entire design is modular, so it can be customized to any desired combination of analog and digital inputs. [Sascha] made a neat 3D printed enclosure to hold the 3-axis module along with 26 buttons, five rotary encoders and one analog slider. KiCAD files for the PCBs and the FreeCAD source for the enclosure are available under an open-source license on [Sascha]’s Git repo.

The same thing applies to the software driving the CIMDIT, though adding functionality to it might turn out to be tricky: [Sascha] had to perform some serious code optimization to fit everything into the Arduino’s 32 kB of program flash. The Git repo also includes a convenient tool to create key mappings to be programmed into the controller, saving you from having to compose a binary file by hand.

Love macro keypads? Check out these cool examples with gesture detection, an e-ink display or simply beautiful wooden keys.