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.
While the de facto smartphone design ultimately went in a different direction, there’s no denying the classic BlackBerry layout offered some compelling advantages. It was a gadget primarily designed to send and receive emails and text messages, and it showed. So is it really any wonder [MSG] would build his pocket-sized LoRa messengers in its image?
Of course, he did have some help. The communicators use the Keyboard FeatherWing by [arturo182], which puts a surplus BlackBerry Q10 keyboard on a custom PCB designed to accept a board from Adafruit’s Feather collection. [MSG] ended up pairing his with a Feather M4 because he wanted to work with CircuitPython, with a 900 MHz LoRa FeatherWing along for the ride. He notes that switching his code over to Arduino-flavored C would allow him to use the Feather M0 that features integrated LoRa; a change that would allow him to make the gadget a bit thinner.
Inside the 3D printed enclosure, He’s made room for a 3.7 V 1800 mAh pouch battery that should provide plenty of runtime. There’s also an external antenna with a uFL pigtail for connecting to the radio. The case is held together with heat-set inserts, which should make it more than robust enough to handle a few adventures.
[MSG] says slight variations in hardware versions means his STLs might need a little tweaking to fit your components, and warns that his code is basically just a mashup of examples he found online, but he’s still sharing the goods for anyone who wants to reach out and touch someone without all that pesky infrastructure in the way.
Continue reading “LoRa Messenger Does Its Best BlackBerry Impression”
Today, nearly every modern consumer device wants to connect to the Internet for some reason. From your garage door opener to each individual smart bulb, the Internet of Things has arrived in full force. But the same can’t be said for most of our beloved conference badges. Wanting to explore the concept a bit, [Ayan Pahwa] set out to create his own MQTT-connected badge that he’s calling CloudBadge.
As this was more of a software experiment, all of the hardware is off-the-shelf. The badge itself is an Adafruit PyBadge, which doesn’t normally have any networking capabilities, but does feature a Feather-compatible header on the back. To that [Ayan] added a AirLift FeatherWing which allows him to use the ESP32 as a co-processor. He also added a strip of NeoPixel LEDs to the lanyard, though those could certainly be left off if you’re not looking to call quite so much attention to yourself.
The rest was just a matter of software. [Ayan] came up with some code that uses the combined hardware of the PyPadge and ESP32 to connect to Adafruit.io via MQTT. Once connected, the user is able to change the name that displays on the screen and the colors of the RGB LEDs through the cloud service. If you used something like this for an actual conference badge, the concept could easily be expanded to do things like flashing the badge’s LEDs when a talk the wearer wanted to see is about to start.
The modern conference badge has come a long way from simple blinking LEDs, offering challenges that you’ll likely still be working on long after the event wraps up. Concerns over security and the challenge of maintaining the necessary infrastructure during the event usually means they don’t include networking features, but projects like CloudBadge show the idea certainly has merit.
Continue reading “MQTT And The Internet Of Conference Badges”
[Andy Geppert] sends in his incredibly clever interactive core memory shield.
In a great display of one hacker’s work being the base for another’s, [Andy] started out with [Jussi Kilpelainen]’s core memory shield for Arduino. As he was playing with the shield he had a desire to “see” the core memory flipping and got the idea to add an LED matrix aligned behind the individual cores.
The first iteration worked, but it only showed the state that the Arduino believed the core memory to be in. What he really wanted was a live read on the actual state. He realized that an Adafruit Featherwing 8×8 matrix display also fits behind the core memory. Now the LEDs update based on the read state of the core memory. This allows him to flip the individual bits with a magnetic stylus and see the result. Very cool.
You can see a video of it working after the break.
Continue reading “Interactive Core Memory Shield Helps Explains The Past”