Bolt-On Stepper Motor Driver For The Raspberry Pi

For his entry into the 2019 Hackaday Prize, [Tobius Daichi] is working on adding some motion control capabilities to everyone’s favorite Linux SBC. His 3+Pi board attaches to the Raspberry Pi’s GPIO header and gives you a convenient way to control four individual stepper motors. Perfect for a 3D printer, laser cutter, CNC, or anything else you can think of that needs to move in a few dimensions.

But such a simplistic description of the 3+Pi might be underselling it a bit. While [Tobius] says he was inspired by the classic Arduino CNC Shield that powers countless DIY 3D printers, he’s managed to improve on the concept. Rather than having the host Pi communicate directly with the stepper drivers, the 3+Pi features an onboard STM32F302CBT6 that handles the actual motor control. The Pi just needs to tell it what to do over UART.

If you’re looking to do things in real-time, having an onboard microcontroller handle the low-level aspects of talking to the stepper drivers can be a big help. A natural extension for this board could be support for the Klipper firmware, which leverages the fact that the Raspberry Pi is many times more powerful than your average 3D printer control board. With the Pi handling the math and providing the microcontroller instructions, Klipper allows for faster and more accurate printing than the microcontroller alone could accomplish.

As for the stepper drivers themselves, [Tobius] has decided to go with the Trinamic TMC2041-LA-T. This chip is notable as it puts dual drivers in one 48-QFN package, which is great if you’re looking to save space on your board. Some might complain that the 3+Pi doesn’t allow for easily swapping out the stepper drivers if you manage to cook one like on the Arduino CNC shield, but realistically you could say the same about many purpose-built stepper control boards.

[Tobius] is tackling this project by himself currently, but does mention that he’s open to teaming up with anyone who’s got an interest in this sort of thing. There have been previous attempts at creating Linux-powered 3D printer controllers in the past, but we think this approach holds particular promise if for no other reason than the Raspberry Pi’s popularity.

PaperLedger: An E-Ink Cryptocurrency Ticker

For a long time it seemed like e-ink displays were outside the reach of us lowly hackers, as beyond the handful of repurposed Kindles that graced these pages, we saw precious few projects utilizing this relatively exotic display. But that’s changed over the last couple of years, and we’re thrilled to start seeing hackers bend this incredible technology to their will.

A perfect example is PaperLedger, an entry into the 2019 Hackaday Prize by [AIFanatic]. This wireless device is designed to display the current price of various cryptocurrencies on its 2.9-inch e-ink screen and provide audible price alerts with its built-in speaker. It even has a web portal where users can configure the hardware or view more in-depth price information.

The PaperLedger is based on the TTGO T5 V2.2 ESP32, but it looks like [AIFanatic] is in the process of spinning up a new board for the MIT licensed project to address some nagging issues for this particular application. Unfortunately, it doesn’t look like there are any pictures of the new board yet, but a description of the changes on the Hackaday.IO page shows that most of the work seems to be going into improving support for running on batteries.

Even if you’re not interested in cryptocurrency, the PaperLedger looks like a fantastic little e-ink monitor for pretty much anything else you’d like to keep a close eye on. The GPLv3 licensed firmware is available on the project’s GitHub page, so expanding or completely changing the device’s functionality shouldn’t be too tricky for anyone with a desire to do so and a working knowledge of C++.

We’ve seen several projects using the various TTGO boards that mate an ESP32 with a display at this point, and it looks like a great platform to check out if you want to push some data to a little WiFi screen with the minimum amount of hassle.

ESP8266 Controls TiVo Over The Network

Remember the TiVo? The set-top DVR that was once so popular of a hacking target that Hackaday had a dedicated subdomain for it has today largely faded into obscurity as time-shifted viewing has given way to Internet streaming services like Netflix and Hulu. But make no mistake, while the TiVo may no longer be the centerpiece of the average home entertainment center, there’s a diehard group of antennaed aficionados that are still rocking (and hacking) them.

One such TiVotee is [Thomas McQueen], who recently discovered his TiVo-powered Virgin Media V6 DVR was listening for commands on the network. After finding some official documentation for the protocol and firing off a couple of test commands from his computer’s telnet client, he realized he had an opportunity to flex his microcontroller muscle and create a library that would allow controlling the set-top box with the ESP8266 or other network-capable MCU.

[Thomas] built his project on-top of the basic Arduino WiFi library, making every effort to make it as generalized as possible so it could work on a multitude of platforms and with various targets. He even made sure to give all his functions friendly names that won’t leave users scratching their head when they read through example code down the road. We’ve seen far too many software projects that were poorly documented or obtusely programmed, so it’s always good to see somebody putting some forethought into their code.

The library makes it easy to add TiVo control to your project, but [Thomas] went one step further and came up with an example application that provides a web interface on the ESP8266 or ESP32. Any device with a web browser, such as a smartphone, can connect to the UI and fire off commands to the TiVo. His next step is to combine his library with some code to talk to Amazon’s Alexa so he’ll be able to control playback with his voice.

We’ll hand it to these TiVo users, they’re a tenacious lot. Earlier in the year, we covered how one dedicated TiVo fan managed to brute-force the child lock on his DVR using the Arduino and an IR LED.

Laser Trip Wire Hides What You’re (Not) Working On

We assume your office policy allows for reading Hackaday during work hours. But what about cruising reddit, or playing Universal Paperclips? There’s a special kind of stress experienced when attempting to keep one eye on your display and the other on the doorway; all the while convinced the boss is about to waltz into the room and be utterly disappointed in you.

But fear not, for [dekuNukem] has found the solution with Daytripper. This wireless laser tripwire communicates back to your computer using NRF24 (2.4 Ghz on the ISM band) and can be used to invisibly cordon off a door or hallway and fire a scripted action on your computer if its beam has been broken. Nominally this is used to send the keyboard command that hides all open windows, but we’re sure the imaginative readers of Hackaday could come up with all sorts of alternate uses for this capability.

The Daytripper transmitter uses a laser time-of-flight sensor, in this case the very small VL53L0X by STMicroelectronics. It’s best situated so the laser will be bounced straight back at it. It has a range of about four feet, which is perfect for covering a door, though a wide hallway could give it some trouble. [dekuNukem] admits that the 5 Hz scan rate means a sufficiently fast moving adversary might slip past the sensor, but if they’re trying that hard to see what’s on your monitor, they probably deserve a peek.

On the receiver side, there’s a small board that plugs into your computer and mimics a USB keyboard. It has a selector switch on the side that allows the user to set what key sequence will be “typed” once the system has been tripped. It has built-in support for minimizing all windows or locking the computer, or you can set it to send ALT + Pause, which you can listen for and act on however you see fit.

If you want to build your own Daytripper, the firmware and hardware are both available on GitHub under an MIT license. For those who prefer instant gratification, [dekuNukem] is doing a small production run and offering them up on Tindie.

The GENIAC Lives Again

[Mike Gardi] credits his professional successes in the world of software development on the fact that he had access to logic-based educational games of a sort that simply don’t exist anymore. Back in the 1960s, kids who were interested in electronics or the burgeoning world of computers couldn’t just pick up a microcontroller or Raspberry Pi. They had to build their “computers” themselves from a kit.

One of those kits was the GENIus Almost-automatic Computer (GENIAC), a product which today is rare enough to essentially be unobtainable. Using images and documentation he was able to collect online, [Mike] not only managed to create a functioning replica of the GENIAC, but he even took the liberty of fixing some of the issues with the original 60-odd year old design.

Fundamentally, the GENIAC is composed of rotary switches which feed into each other to perform rudimentary logical functions. With banks of incandescent bulbs serving as the output, users could watch how placing the switches in different positions would influence the result.

This might seem a little silly to modern audiences, but thanks to a well written manual that featured a collection of compelling projects, the GENIAC managed to get a lot of mileage out of a couple light bulbs and some wire. In fact, [Mike] says that the GENIAC is often considered one of the first examples of an interactive electronic narrative, as the carefully crafted stories from the manual allowed players to go on virtual adventures long before the average kid had ever heard of a “video game”. A video about how one of these stories, “The Uranium Shipment and the Space Pirates“, can be seen after the break. Even today it would be an interesting enough toy, but back in 1955 it would have been mind-blowing.

Construction of this replica will require access to a laser cutter so you can approximate the original’s drilled Masonite backing and rotors. From there, [Mike] has produced an array of 3D printable components which are attached to the board to serve as contacts, spacers, and various other pieces of bric-a-brac. Some of the parts he couldn’t find pictures of, so he was forced to come up with his own designs. But considering the finicky nature of the original, he thinks his printed parts may actually be better than what the toy shipped with.

If you like his work with GENIAC, be sure to check out the 3D printed replica of “The Amazing Dr. Nim” that [Mike] made last year, or his breathtaking recreation of the Minivac 601.

Continue reading “The GENIAC Lives Again”

This WiFi Spoofing Syringe Is For External Use Only

A browse through his collected works will tell you that [El Kentaro] loves to build electronics into interesting enclosures, so when he realized there’s enough room inside a 150 ml plastic syringe to mount an ESP8266, a battery, and a copious amount of RGB LEDs, the “Packet Injector” was the inescapable result.

Granted, the current incarnation of this device doesn’t literally inject packets. But [El Kentaro] wasn’t actually looking to do anything malicious, either. The Injector is intended to be a fun gag for him to bring along to the various hacker cons he finds himself at, like his DEAUTH “bling” necklace we saw at DEF CON 26, so having any practical function is really more icing on the cake than a strict requirement.

In the end, the code he came up with for the Adafruit Feather HUZZAH that uses the FakeBeaconESP8266 library to push out fictitious networks on demand. This is a trick we’ve seen used in the past, and makes for a relatively harmless prank as long as you’re not pumping out any particularly unpleasant SSIDs. In this case, [El Kentaro] punctuates his technicolor resplendency with beacons pronouncing “The WiFi Doctor is Here.”

But the real hack here is how [El Kentaro] controls the device. Everything is contained within the syringe chamber, and he uses a MPL3115A2 I2C barometric pressure sensor to detect when it’s being compressed. If the sensor reads a pressure high enough over the established baseline, the NeoPixel Ring fires up and the fake beacon frames start going out. Ease up on the plunger, and the code detects the drop in pressure and turns everything back off.

If this build has piqued your interest, [El Kentaro] gave a fascinating talk about his hardware design philosophy during the WOPR Summit that included how he designed and built some of his “greatest hits”; including a Raspberry Pi Zero enclosure that was, regrettably, not limited to external use.

A Post-Mortem For An Electric Car Charger

[Mastro Gippo] recently purchased a wall mounted charger for his electric car that looked great and had all the bells and whistles he wanted. There was only one problem: the thing burned up on him. Looking to find out how this seemingly high-end piece of hardware gave up the ghost so easily, he took it apart and tried to figure out where things went wrong. While he’s not looking to sling any mud and actually name the company who produced the charger, he certainly has some choice words for whoever green-lit this particular design.

With the charger open, there’s little doubt that something became very toasty inside. A large swath of the PCB has a black char mark on it, and in some places it looks like the board burned right through. After a close examination, [Mastro] is of the opinion that the board heated up to the point that the solder actually liquified on some connections. This conductive flow then shorted out components below it, and things went from bad to worse.

But where did all the heat come from? [Mastro] was stunned to see that a number of the components inside the charger were only rated for 30 amps, despite the label for the product clearly stating it’s good for up to 32A. With components pushed past their limits, something had to give. He wonders how such a device could have made it through the certification process; an excellent question we’d love to know the answer to.

The worst part is, it looks like the designers might have even known there was an overheating issue. [Mastro] notes that there are heatsinks bolted not to a component as you might assume, but directly to the PCB itself. We’ve seen what happens when designers take a cavalier attitude towards overheating components, and the fact that something like an electric vehicle charger was designed so poorly is quite concerning.