Stepper Motor Robot Arm Has Smooth Moves

[Tobias Kuhn] had watched a YouTube video about a robot arm which used servo motors, and wanted to try making one himself. But he found it hard to get slow or smooth movements out of the servos. Even removing the microcontroller and trying to work with the servo’s driver-IC and potentiometer from an Arduino Nano didn’t get him satisfaction.

Then he found the very affordable 28BYJ-48 stepper motor. After some experimenting, he came up with a smooth moving robot arm with four steppers controlled from an Arduino Mega and A4988 stepper motor drivers. Rather than write a bunch of stepper motor code himself, he installed and ran a four-axis fork of grbl on the Arduino, turning it into a stepper motor controller. One minor hitch was that the A4988 motor drivers are for bipolar stepper motors but 28BYJ-48 steppers are unipolar. Luckily he knew of a very simple hack which our [Brian Benchoff] wrote about for turning a unipolar motor into a bipolar motor.

To tell the robot arm what to do, he built a replica arm with potentiometers in place of the stepper motors. As he manipulates the replica, the values of the potentiometers are read by a Raspberry Pi and some custom Python code which sends the appropriate G-code to the Arduino/grbl controlled robot arm. There’s a bit of a lag but when he moves the replica arm, the robot arm does the same move. See it in action in the video below.

Continue reading “Stepper Motor Robot Arm Has Smooth Moves”

Running Programs On Paper

It’s a simple fact that most programs created for the personal computer involve the same methods of interaction, almost regardless of purpose. Word processors, graphics utilities, even games – the vast majority of interaction is performed through a keyboard and mouse. However, sometimes it can be fun to experiment with alternative technologies for users to interact with code – Paper Programs is an exciting way to do just that.

Paper Programs is a combination of a variety of existing technologies to create a way of interacting with code which is highly tangible. The setup consists of a projector, and a webcam which can see the projected area, combined with Javascript programs running in a browser. Programs can be edited in the browser, then printed out with special coloured dots around the page. When the page is placed in the projection area, these dots identify the unique program and are picked up by the webcam, and the server executes the relevant code, projecting back onto the page.

It’s a system that creates a very tactile way of interacting with a program – by moving the page around or placing different pages next to each other, programs can interact in various ways. The system is setup for collaboration as well, allowing users to edit code directly in the browser.

The project reminds us of earlier works on DIY multitouch screens, but with a greater focus on direct engagement with the underlying code. What other unique ways exist to interact with code? Let us know in the comments.

Continue reading “Running Programs On Paper”

Tiny Programming Language in 25 Lines of Code

There are certain kinds of programs that fascinate certain kinds of software hackers. Maybe you are into number crunching, chess programs, operating systems, or artificial intelligence. However, on any significant machine, most of the time those activities will require some sort of language. Sure, we all have some processor we can write hex code for in our head, but you really want at least an assembler if not something sturdier. Writing languages can be addictive, but jumping right into a big system like gcc and trying to make changes is daunting for anyone. If you want a gentle introduction, check out [mgechev’s] language that resides in 25 lines of Javascript.

The GitHub page bills it as a tiny compiler, although that is a bit misleading and even the README says it is a transpiler. Actually, the code reads a simple language, uses recursive descent parsing to build a tree, and then uses a “compiler” to convert the tree to JavaScript (which can then be executed, of course). It can also just interpret the tree and produce a numerical answer.

Continue reading “Tiny Programming Language in 25 Lines of Code”

Reverse Engineering the TEC-06 Battery Tester

[Syonyk] read that you could solder a few wires to a TEC-06 battery capacity tester, connect it to a TTL serial adapter, and it would interface with some Windows software via a serial port. You can buy it already enabled for serial, but since he had the non-connected version, he was interested in trying it. Not only did it work, but he took the time to reverse engineer the protocol and made a detailed write up about his findings and how he attacked the problem.

Around here, we never need an excuse to reverse engineer anything. But [Synonyk] mentions that he didn’t like using Windows-only software from China. If he wants it on Linux, or if Windows compatibility breaks with a new version, or if the software has spyware in it, he wants to be able to continue using the device. Of course, he also admits — and we get it — that he just enjoys doing it, too.

Continue reading “Reverse Engineering the TEC-06 Battery Tester”

Shah Selbe: Science in the World’s Wildest Places

When we think of building research hardware, lab coats and pristine workbenches come to mind. Shah Selbe used to do something kind of like that when he was engineering satellite propulsion systems. But after putting twelve of them into space, he ditched the office gig and took his gear to some of the wildest places on earth. He’s an explorer and fellow with the National Geographic Society, and at the Hackaday Superconference he shared his experiences building research hardware that gathers data in incredibly remote places.

Shah makes a really good point about two very different trends in our world over the past several decades. While we’ve had unparalleled technological growth, we’ve also seen horrifying wildlife trends to the point that some scientists believe we’re currently in a sixth mass extinction event. But to know that for sure, and look for ways to prevent and reverse it, we need reliable data. This is a fascinating problem because the world is huge, and we simply can’t monitor everything.

Continue reading “Shah Selbe: Science in the World’s Wildest Places”

Teardown: What’s Inside a Christmas Laser Projector?

In the world of big-box retail, December 26th is a very special day. The Christmas music playing on the overhead speakers switches back to the family friendly Top 40, the store’s decorations get tossed in the compactor, and everything that’s even remotely related to the holiday is put on steep clearance. No more money to be made on the most commercialized of all holidays, so back to business as usual.

It’s in this narrow corridor of time, between the Great Holiday Unloading and the new spring products coming in, that you can find some fantastic deals on Christmas decorations. Not that long ago, this would hardly be exciting news for the readers of Hackaday. But Christmas lights and decorations have really started pushing the envelope in terms of technology: addressable RGB LED strands, Bluetooth controlled effects, and as of the last couple years, friggin’ lasers.

That’s right, you’ve seen them all over the neighborhood, probably took a few stray beams to the eye, you might even own your own. Laser projectors have been one of the most popular Christmas decorations for the last couple of years, and it’s not hard to see why. Just set the projector up in front of your house, and you’re done. No need to get on a ladder and string lights on the roof when you can just blast some directed energy up there instead.

Given how popular they are, I was surprised to see a lone Home Accents Holiday Multi-Color Light Projector on the clearance rack at Home Depot for around $14 a few days after Christmas. This was a 75% price reduction from normal MSRP, and right in that sweet impulse-buy price range. Let’s see what’s hiding inside!

Continue reading “Teardown: What’s Inside a Christmas Laser Projector?”

Seek and Exploit Security Vulnerabilities in an Infusion Pump

Infusion pumps and other medical devices are not your typical everyday, off-the-shelf embedded system. Best case scenario, you will rarely, if ever, come across one in your life. So for wide-spread exploitation, chances are that they simply seem too exotic for anyone to bother exploring their weaknesses. Yet their impact on a person’s well-being makes potential security holes tremendously more severe in case someone decides to bother one day after all.

[Scott Gayou] is one of those someones, and he didn’t shy away from spending hundreds of hours of his free time inspecting the Smiths Medical Medfusion 4000 infusion pump for any possible security vulnerabilities. Looking at different angles for his threat model, he started with the physical handling of the device’s user interface. This allowed him to enable the external communication protocols settings, which in turn opened to the device’s FTP and Telnet ports. Not to give too much away, but he manages to gain access to both the file system content and — as a result of that — to the system’s login credentials. This alone can be clearly considered a success, but for [Scott], it merely opened a door that eventually resulted in desoldering the memory chips to reverse engineer the bootloader and firmware, and ultimately executing his own code on the device.

Understanding the implications of his discoveries, [Scott] waited long enough to publish his research so the manufacturer could address and handle these security issues. So kudos to him for fighting the good fight. And just in case the thought of someone gaining control over a machine that is crucial to your vitality doesn’t scare you enough yet, go ahead and imagine that device was actually implanted in your body.