Buttonpusher Automates Animal Crossing Tasks

Press button, wait, press button again, repeat. There must be a better way! If that kind of interaction drives you nuts, you’ll probably appreciate [Tommy]’s buttonpusher, which has only one job: automate away some of the more boring parts of Nintendo’s Animal Crossing. On one hand the job the device does is very simple: press a button on the Nintendo joy-con in a preprogrammed pattern. There’s no feedback loop, it just dumbly presses and waits. But there are still quite a few interesting bits to this build.

Rigid mounting combined with interfacing the actuator to the servo horn (instead of to the servo shaft) were the keys to reliable button pushing.

For one thing, [Tommy] discovered that the little 9g RC servo can reliably exert enough force to press the button on the joy-con with the right adapter. He had assumed the servo would be too weak to do the job without a greater mechanical advantage, but a simple hammer-style actuator that attaches to the servo horn easily does the job. Well, it does as long as the servo and joy-con are held rigidly; his first version allowed a little too much wiggle in how well the parts were held, and button presses didn’t quite register. With a 3D-printed fixture to rigidly mount both the servo and the joy-con, things were fine.

In the process of making buttonpusher, which uses CircuitPython, [Tommy] created a tool to automate away another pesky task he was running into: circuitpython_tools was created to automatically watch for code changes, convert the .py files into (smaller) MicroPython bytecode .mpy files, then automatically deploy to the board. This saved [Tommy] a lot of time and hassle during development, but it was only necessary because he quickly ran out of memory on his M0 Metro Express board, and couldn’t fit his code in any other way.

Still, it’s a good example of how one project can sometimes spawn others, and lead to all kinds of lessons learned. You can see buttonpusher automate the crafting process in Animal Crossing in the video, embedded below.

Continue reading “Buttonpusher Automates Animal Crossing Tasks”

Add Scroll Wheels And Buttons To Smartphones With 3D-Printed Widgets Read By Accelerometer

The first LED digital wristwatches hit the market in the 1970s. They required a button push to turn the display on, prompting one comedian to quip that giving one to a one-armed man would be in poor taste. While the UIs of watches and other wearables have improved since then, smartphones still present some usability challenges. Some of the touch screen gestures needed to operate a phone, like pinching, are nigh impossible when one-handing the phone, and woe unto those with stubby thumbs when trying to take a selfie.

You’d think that the fleet of sensors and the raw computing power on board would afford better ways to control phones. And you’d be right, if the modular mechanical input widgets described in a paper from Columbia University catch on. Dubbed “Vidgets” by [Chang Xiao] et al, the haptic devices are designed to create characteristic acceleration profiles on a phone’s inertial measurement unit (IMU) when actuated. Vidgets take various forms, from push buttons to scroll wheels, each of a similar size and shape and designed to dock into one of eight positions on the back of a 3D-printed phone case. Once trained, the algorithm watches for the acceleration signature caused by actuating a Vidget, and sends commands to the phone to mimic the corresponding gestures. The video below demonstrates a couple of use cases, of which the virtual saxophone is our favorite.

This is really clever stuff, and ventures deep into “Why didn’t I think of that?” territory. Need to get ahead of the curve on IMUs to capitalize on what they can do? You could start with [Al Williams]’ primer on micro-electromechanical systems, or MEMS.

Continue reading “Add Scroll Wheels And Buttons To Smartphones With 3D-Printed Widgets Read By Accelerometer”

A Nurse Call System Becomes Turing Complete

George Mallory, a famous English mountaineer, once suggested that it was of no use to climb mountains. Instead, he posited, the only reason to climb a mountain is because it is there. Likewise, when you become an expert in nurse call systems like those found in hospitals, you may find that you do things with them that are of similar use. Making a Turing-complete nurse call system is something you do because you can.

[Erik] has been working on this particular call system, known as Netrix, and used Wireshark to sniff out all of its protocols. With this information he realized that it would be possible to use the system’s routing features to perform all of the tasks that any Turing complete system can do: conditional branching and memory access. He set up a virtual machine and set about implementing all of these tasks using the nurse call system’s features.

The setup for this project is impressive, and belies an extensive knowledge of this one proprietary system but also of computer science in general. It’s interesting to see how something can be formed into a working computer system from parts that otherwise might not be used that way. Even things that aren’t electronic can be used as Turing-complete computers.

Photo via Wikimedia Commons

Building A Semiautomatic Swag Launcher

Regular readers of Hackaday have certainly seen the work of [Jeremy Cook] at this point. Whether you remember him from his time as a writer for this fine online publication, or recognize the name from one of his impressive builds over the last few years, he’s a bona fide celebrity around these parts. In fact, he’s so mobbed with fans at events that he’s been forced to employ a robotic companion to handle distributing his personalized buttons for his own safety.

Alright, that might be something of a stretch. But [Jeremy] figured it couldn’t hurt to have an interesting piece of hardware handing out his swag at the recent Palm Bay Mini Maker Faire. Anyone can just put some stickers and buttons in a bowl on a table, but that’s hardly the hacker way. In the video after the break, he walks viewers through the design and construction of this fun gadget, which takes a couple unexpected turns and has contains more than a few useful tips which are worth the cost of admission alone.

Outwardly the 3D printed design is simple enough, and reminds us of those track kits for Matchbox cars. As you might expect, getting the buttons to slide down a printed track was easy enough. Especially when [Jeremy] filed the inside smooth to really get them moving. But the goal was to have a single button get dispensed each time the device was triggered, but that ended up being easier said than done.

The first attempt used magnets actuated by two servos, one to drop the button and the other to hold up the ones queued above it. This worked fine…at first. But [Jeremy] eventually found that as he stacked more buttons up in the track, the magnets weren’t strong enough to hold them back and they started “leaking”. This is an excellent example of how a system can work perfectly during initial testing, but break down once it hits the real world.

In this case, the solution ended up being relatively simple. [Jeremy] kept the two servos controlled by an Arduino and a capacitive sensor, but replaced the magnets with physical levers. The principle is the same, but now the system is strong enough to hold back the combined weight of the buttons in the chute. It did require him to cut into the track after it had already been assembled, but we can’t blame him for not wanting to start over.

Just like the arcade inspired candy dispenser, coming up with a unique way of handing out objects to passerby is an excellent way to turn the ordinary into a memorable event. Maybe for the next iteration he can make it so getting a button requires you to pass a hacker trivia test. Really make them work for it.

Continue reading “Building A Semiautomatic Swag Launcher”

What’s The Cheapest Way To Scan Lots Of Buttons?

So you’re building a new mechanical keyboard. Or attaching a few buttons to a Raspberry Pi. Or making the biggest MIDI grid controller the world has ever know. Great! The first and most important engineering question is; how do you read all those buttons? A few buttons on a ‘Pi can probably be directly connected, one for one, to GPIO pins. A mechanical keyboard is going to require a few more pins and probably some sort of matrix scanner. But the grid controller is less clear. Maybe external I/O expanders or a even bigger matrix? Does it still need diodes at each button? To help answer these questions the folks at [openmusiclabs] generated a frankly astounding map which shows, given the number of inputs to scan and pins available, which topology makes sense and roughly how much might it cost. And to top it off they link into very readable descriptions of how each might be accomplished. The data may have been gathered in 2011 but none of the fundamentals here have changed.

How do you read this chart? The X axis is the number of free pins on your controller and the Y is the number of I/Os to scan. So looking at the yellow band across the top, if you need to scan one input it always makes the most sense to directly use a single pin (pretty intuitive, right?). Scrolling down, if you need to read 110 inputs but the micro only has eight pins free there are a couple choices, keys E and F. Checking the legend at the top E is “Parallel out shift register muxed with uC” and F is “Parallel in shift register muxed with uC“. What do those mean? Checking the table in the original post or following the link takes us to a handy descriptive page. It looks like a “parallel out shift register” refers to using a shift register to drive one side of the scan matrix, and “parallel in shift register” refers to the opposite.

Continue reading “What’s The Cheapest Way To Scan Lots Of Buttons?”

DIY Switches For People Who Can’t Push Switches

An outstanding number of things most people take for granted present enormous hurdles for people with physical disabilities, including interaction with computers and other digital resources. Assistive technologies such as adaptive switches allow users who cannot use conventional buttons or other input devices to interact with digital devices, and while there are commercial offerings there is still plenty of room for projects like [Cassio Batista]’s DIY Low-cost Assistive Technology Switches.

[Cassio]’s project focuses on non-contact switches, such as proximity and puff-based activations. These are economical, DIY options aimed at improving accessibility for people who are unable to physically push even specialized switches. There are existing products in this space, but cost can be a barrier and DIY options that use familiar interfaces greatly improves accessibility.

Assistive technologies that give people the tools they need to have more control over their own lives in a positive, healthy way is one of the more vibrant and positive areas of open hardware development, and it’s not always clear where the challenges lie when creating solutions. An example of this is the winner of the 2015 Hackaday Prize, the Eyedrivomatic, which allows one to interface the steering of an electric wheelchair to a gaze tracking system while permanently altering neither device; a necessity because users often do not own their hardware.

Print Physical Buttons For Your Touch Screen

Modern handheld gaming hardware is great. The units are ergonomic powerhouses, yet many of us do all our portable gaming on a painfully rectangular smartphone. Their primary method of interaction is the index finger or thumbs, not a D-pad and buttons. Shoulder triggers have only existed on a few phones. Bluetooth gaming pads are affordable but they are either bulky or you have to find another way to hold your phone. Detachable shoulder buttons are a perfect compromise since they can fit in a coin purse and they’re cheap because you can make your own.

[ASCAS] explains how his levers work to translate a physical lever press into a capacitive touch response. The basic premise is that the contact point is always touching the screen, but until you pull the lever, which is covered in aluminum tape, the screen won’t sense anything there. It’s pretty clever, and the whole kit can be built with consumables usually stocked in hardware stores and hacker basements and it should work on any capacitive touch screen.

Physical buttons and phones don’t have to be estranged and full-fledged keyswitches aren’t exempt. Or maybe many capacitive touch switches are your forte.

Continue reading “Print Physical Buttons For Your Touch Screen”