Are Hackers Being Let Down In Education?

In my work for Hackaday over the years I have been privileged to interact with some of the most creative people I have ever met, I have travelled far more than I ever did when I toiled unseen in an office in Oxford, and I have been lucky enough to hang out in our community’s spaces, camps, and dives across Europe.

Among the huge diversity of skills and ideas though, it’s striking how many of us share similar experiences and histories that have caused us to find our people in rooms full of tools and 3D printers. One of these things I found surprising because I thought I was the only one; I never fit in with the other kids at school, I found much of the teaching incomprehensible and had to figure things out for myself. As an exercise recently I did a straw poll among some of my friends, and found that a significant majority had a similar experience. Clearly something must have gone badly wrong in the way we were being taught that so many of us could have been let down by our schooling, and maybe to understand the needs of our community it’s time to understand why.

Continue reading “Are Hackers Being Let Down In Education?”

Tech Hidden In Plain Sight: Cruise Control

The advent of the microcontroller changed just about everything. Modern gadgets often have a screen-based interface that may hide dozens or hundreds of functions that would have been impractical and confusing to do with separate buttons and controls. It also colors our thinking of what is possible. Imagine if cars didn’t have cruise control and someone asked you if it were possible. Of course. Monitor the speed and control the gas using a PID algorithm. Piece of cake, right? Except cruise control has been around since at least 1948. So how did pre-microcontroller cruise control work? Sure, in your modern car it might work just like you think. But how have we had seventy-plus years of driving automation?

A Little History

A flyball governor from a US Navy training film.

Controlling the speed of an engine is actually not a very new idea. In the early 1900s, flyball governors originally designed for steam engines could maintain a set speed. The idea was that faster rotation caused the balls would spread out, closing the fuel or air valve while slower speeds would let the balls get closer together and send more fuel or air into the engine.

The inventor of the modern cruise control was Ralph Teetor, a prolific inventor who lost his sight as a child. Legend has it that he was a passenger in a car with his lawyer driving and grew annoyed that the car would slow down when the driver was talking and speed up when he was listening. That was invented in 1948 and improved upon over the next few years.

Continue reading “Tech Hidden In Plain Sight: Cruise Control”

Adding A Gentle Touch To Prosthetic Limbs With Somatosensory Stimulation

When Nathan Copeland suffered a car accident in 2004, damage to his spinal cord at the C5/C6 level resulted in tetraplegic paralysis. This left him initially at the age of 18 years old to consider a life without the use of his arms or legs, until he got selected in 2014 for a study at the University of Pittsburgh involving the controlling of a robotic limb using nothing but one’s mind and a BCI.

While this approach, as replicated in various other studies, works well enough for simple tasks, it comes with the major caveat that while it’s possible to control this robotic limb, there is no feedback from it. Normally when we try to for example grab an object with our hand, we are aware of the motion of our arm and hand, until the moment when our fingers touch the object which we’re reaching for.

In the case of these robotic limbs, the only form of feedback was of the visual type, where the user had to look at the arm and correct its action based on the observation of its position. Obviously this is far from ideal, which is why Nathan hadn’t just been implanted with Utah arrays that read out his motor cortex, but also arrays which connected to his somatosensory cortex.

As covered in a paper by Flesher et al. in Nature, by stimulating the somatosensory cortex, Nathan has over the past few years regained a large part of the sensation in his arm and hand back, even if they’re now a robotic limb. This raises the question of how complicated this approach is, and whether we can expect it to become a common feature of prosthetic limbs before long. Continue reading “Adding A Gentle Touch To Prosthetic Limbs With Somatosensory Stimulation”

PipeWire, The Newest Audio Kid On The Linux Block

Raise your hand if you remember when PulseAudio was famous for breaking audio on Linux for everyone. For quite a few years, the standard answer for any audio problem on Linux was to uninstall PulseAudio, and just use ALSA. It’s probably the case that a number of distros switched to Pulse before it was quite ready. My experience was that after a couple years of fixing bugs, the experience got to be quite stable and useful. PulseAudio brought some really nice features to Linux, like moving sound streams between devices and dynamically resampling streams as needed.

Continue reading “PipeWire, The Newest Audio Kid On The Linux Block”

Mind-Controlled Flamethrower

Mind control might seem like something out of a sci-fi show, but like the tablet computer, universal translator, or virtual reality device, is actually a technology that has made it into the real world. While these devices often requires on advanced and expensive equipment to interpret brain waves properly, with the right machine learning system it’s possible to do things like this mind-controlled flame thrower on a much smaller budget. (Video, embedded below.)

[Nathaniel F] was already experimenting with using brain-computer interfaces and machine learning, and wanted to see if he could build something practical combining these two technologies. Instead of turning to an EEG machine to read brain patterns, he picked up a much less expensive Mindflex and paired it with a machine learning system running TensorFlow to make up for some of its shortcomings. The processing is done by a Raspberry Pi 4, which sends commands to an Arduino to fire the flamethrower when it detects the proper thought patterns. Don’t forget the flamethrower part of this build either: it was designed and built entirely by [Nathanial F] as well using gas and an arc lighter.

While the build took many hours of training to gather the proper amount of data to build the neural network and works as the proof of concept he was hoping for, [Nathaniel F] notes that it could be improved by replacing the outdated Mindflex with a better EEG. For now though, we appreciate seeing sci-fi in the real world in projects like this, or in other mind-controlled projects like this one which converts a prosthetic arm into a mind-controlled music synthesizer.

Continue reading “Mind-Controlled Flamethrower”

Ask Hackaday: Why Make Modular Hardware?

In the movies, everything is modular. Some big gun fell off the spaceship when it crashed? Good thing you can just pick it up and fire it as-is (looking at you, Guardians of the Galaxy 2). Hyperdrive dead? No problem, because in the Star Wars universe you can just drop a new one in and be on your way.

Of course, things just aren’t that simple in the real world. Most systems, be they spaceships or cell phones, are enormously complicated and contain hundreds or thousands of interconnected parts. If the camera in my Samsung phone breaks, I can’t exactly steal the one from my girlfriend’s iPhone. They’re simply not interchangeable because the systems were designed differently. Even if we had the same phone and the cameras were interchangeable, they wouldn’t be easy to swap. We’d have to crack open the phones and carefully perform the switch. Speaking of switches, the Nintendo Switch is a good counterexample here. Joycon break? Just buy a new one and pop it on.

What if more products were like the Nintendo Switch? Is its modularity just the tip of the iceberg?

Continue reading “Ask Hackaday: Why Make Modular Hardware?”

Garage Door Controller Gets The IoT Treatment

[TheStaticTurtle] built a custom controller for automating his garage doors. He wanted to retain the original physical button and RF remote control interfaces while adding a more modern wireless control accessible from his internet connected devices. Upgrading an old system is often a convoluted process of trial and error, and he had to discard a couple of prototype versions which didn’t pan out as planned. But luckily, the third time was the charm.

The original door-closer logic was pretty straightforward. Press a button and the door moves. If it’s not going in the desired direction, press the button once again to stop the motor, and then press it a third time to reverse direction. With help from the user manual diagrams and a bit of reverse-engineering, he was able to get a handle on how to plan out his add-on controller to interface with the old system.

There are many micro-controller options available these days when you want to add IoT to a project, but [TheStaticTurtle] decided to use the old faithful ESP8266 as the brains of his new controller. For his add-on board to work, he needed to detect the direction in which the motor was turning, and detect the limit switches when the door reached end of travel in either direction. Finally, he needed a relay contact in parallel with the activation button to send commands remotely.

To sense if the motor was moving in the “open” or “close” direction, he used a pair of back-to-back opto-couplers in parallel with the motor terminals. He connected another pair of opto-couplers across the two end-limit switches which indicated when the door was fully open or closed, and shut off the motor supply. Finally, a GPIO from the ESP8266 actuates a relay to send the door open and close commands. The boards were designed in EasyEDA and with a quick turnaround from China, he was able to assemble, test and debug his boards pretty quickly.

The code was written using the Arduino IDE and connects the ESP8266 to the MQTT server running on his home automation computer. The end result is a nice dashboard with three icons for open, close and stop, accessible from all the devices connected to his home network. A 3D printed enclosure attaches outside the original control box to keep things tidy. Using hot melt glue as light pipes for the status LED’s is a pretty nifty hack. If you are interested in taking a deeper look at the project, [TheStaticTurtle] has posted all resources on his Github repository.