Tucoplexing: A New Charliplex for Buttons and Switches

Figuring out the maximum number of peripherals which can be sensed or controlled with a minimum number of IOs is a classic optimization trap with a lot of viable solutions. The easiest might be something like an i2c IO expander, which would give you N outputs for 4 wires (SDA, SCL, Power, Ground). IO expanders are easy to interface with and not too expensive, but that ruins the fun. This is Hackaday, not optimal-cost-saving-engineer-aday! Accordingly there are myriad schemes for using high impedance modes, the directionality of diodes, analog RCs, and more to accomplish the same thing with maximum cleverness and minimum part cost. Tucoplexing is the newest variant we’ve seen, proven out by the the prolific [Micah Elizabeth Scott] (AKA [scanlime]) and not the first thing to be named after her cat Tuco.

[Micah’s] original problem was that she had a great 4 port USB switch with a crummy one button interface. Forget replacement; the hacker’s solution was to reverse and reprogram the micro to build a new interface that was easier to relocate on the workbench. Given limited IO the Tucoplex delivers 4 individually controllable LEDs and 4 buttons by mixing together a couple different concepts in a new way.

Up top we have 4 LEDs from a standard 3 wire Charlieplex setup. Instead of the remaining 2 LEDs from the 3 wire ‘plex at the bottom we have a two button Charlieplex pair plus two bonus buttons on an RC circuit. Given the scary analog circuit the scan method is pleasingly simple. By driving the R and T lines quickly the micro can check if there is a short, indicating a pressed switch. Once that’s established it can run the same scan again, this time pausing to let the cap charge before sensing. After releasing the line if there is no charge then the cap must have been shorted, meaning that switch was pressed. Else it must be the other non-cap switch. Check out the repo for hardware and firmware sources.

Last time we talked about a similar topic a bunch of readers jumped in to tell us about their favorite ways to add more devices to limited IOs. If you have more clever solutions to this problem, leave them below! If you want to see the Twitter thread with older schematics and naming of Tucoplexing look after the break.

Continue reading “Tucoplexing: A New Charliplex for Buttons and Switches”

Twitch Plays Battling Robots?

Audience interaction reached an all-time high in 2014 with Twitch Plays Pokemon, an online gaming stream where viewers were able to collaboratively command an emulated Game Boy playing Pokemon Red. Since then, the concept has taken off. Today, we see this extended to robots in the real world, with [theotherlonestar]’s Twitch Chat Controlled Robots.

The build is one that takes advantage of modern off-the-shelf components – an ESP8266 provides the brains, while a Pololu Zumo provides a ready to go robot chassis to save time on the mechanical aspects of the build. An L298N dual motor controller then handles motive power.

The real ingenuity though, is teaching the robots to respond to commands from Twitch chat. The chat is available in a readily parsable IRC format, which makes programming around it easy. [theotherlonestar] created a command set that enables the robots to be driven remotely by stream viewers, and then outfitted the ‘bots with hammers with which to fight, as well as a fedora to tip, if one is so inclined.

It’s a cool build, and one which shows further promise as Twitch continues to reduce stream & chat latency. We look forward to seeing future battles, but the first one already excites.

Interested in where it all began? Check out our Twitch Plays Pokemon coverage from way back when. Video after the break.

Continue reading “Twitch Plays Battling Robots?”

Twitch Stream Turned Infinity Mirror

Most Hackaday readers are likely to be familiar with the infinity mirror, a piece of home decor so awesome that Spock still has one up on the wall in 2285. The idea is simple: two parallel mirrors bounce and image back and forth, which creates a duplicate reflection that seems to recede away into infinity. A digital version of this effect can be observed if you point a webcam at the screen that’s displaying the camera’s output. The image will appear to go on forever, and the trick provided untold minutes of fun during that period in the late 1990’s where it seemed everyone had a softball-shaped camera perched on their CRT monitors.

Making use of that webcam in 2018.

While you might think you’ve already seen every possible variation of this classic visual trick, [Matt Nishi-Broach] recently wrote in to tell us about an infinity mirror effect he’s created using the popular streaming platform Twitch. The public is even invited to fiddle with the visuals through a set of commands that can be used in the chat window.

It works about how you’d expect: the stream is captured, manipulated through various filters, and then rebroadcast through Twitch. This leads to all sorts of weird visual effects, but in general gives the impression that everything is radiating from a central point in the distance.

While [Matt] acknowledges that there are probably not a lot of other people looking to setup their own Twitch feedback loops, he’s still made his Python code available for anyone who might be interested. There’s a special place in Hacker Valhalla for those who release niche software like this as open source. They’re the real MVPs.

If you’d like to get started on your infinite journey with something a bit more physical, we’ve covered traditional infinity mirror builds ranging from the simplistic to the gloriously over-engineered.

A Wireless Webcam Without A Cumbersome Cloud Service

After a friend bought a nannycam that required the use of a cloud service to make the device useful,  [Martin Caarels] thought to himself — as he puts it — ”I can probably do this with a Raspberry Pi!

Altogether, [Caarels] gathered together a 4000mAh battery, a Raspberry Pi 3 with a micro SD card for storage, a Logitech c270 webcam, and the critical component to bind this project together: an elastic band. Once he had downloaded and set up Raspbian Stretch Lite on the SD card, he popped it into the Pi and connected it to the network via a cable. From there, he had to ssh into the Pi to get its IP so he could have it hop onto the WiFi.

Now that he effectively had a wireless webcam, it was time to turn it into a proper security camera.

Continue reading “A Wireless Webcam Without A Cumbersome Cloud Service”

Playing DVDs on an iPad

[Harrison Jackson] figured out how to add DVD playback to an iPad. It doesn’t require a jailbreak, or any hardware modifications to your prized tablet. The work is done with some server-side processing and played back through the browser.

The popular open-source multimedia player VLC has the ability to encode from the command line during playback. [Harry’s] option flag mastery of the program allows him to convert a DVD to a 320×240 format that is iPad friendly. But this alone doesn’t get the video any closer to being on the iDevice. You’ll need to be running a webserver that can stream video. This example is on OSX, but since he’s using an Apache server it should be simple to reproduce on any Unix variant. Once you’ve enabled m3u8 files in the Apache mime-types, the iPad browser can be pointed to the file address VLC is kicking out and you’ll be watching a movie in no time.

We’ve wondered about replacing our home theater front-end with an ATV 2 running XBMC but the thought of having no optical drive in the living room requires some contemplation. If this becomes a feasible option (that isn’t downscaled from DVD quality) it will be a no-brainer to make that jump.

Don’t miss the demo video after the break. Full instruction are in the comment section of that clip.

Continue reading “Playing DVDs on an iPad”

GPU Processing and Password Cracking

Recently, research students at Georgia Tech released a report outlining the dangers that GPUs pose to the current state of password security. There are a number of ways to crack a password, all with their different pros and cons, but when it comes down to it, the limiting factor in all of these methods is processing complexity. The more operations that need to be run, the longer it takes, and the less useful each tool is for cracking passwords. In the past, most recommendations for password security revolved around making sure your password wasn’t something predictable, such as “password” or your birthday. With today’s (and tomorrows) GPUs, this may no longer be enough.

Continue reading “GPU Processing and Password Cracking”

Hydropower generator

[Paul] wanted to have access to renewable energy at his cabin. It’s a relaxing place, nestled in a tall forest that shelters him from the sun and wind. This also means that solar and wind energy aren’t an option. But there is a stream running through the property so he decided to build his own version of a small water-powered generator.

He tapped into a reservoir about 200 feet upstream, split the flow into four smaller hoses, and channeled that into a five-gallon bucket. Inside the bucket you’ll find a Pelton wheel he built which turns a low-RPM generator. He manages to generate 56 VDC at 10 A with this setup, more than enough to charge a bank of batteries.

He does a great job of explaining his setup in the video after the break. If you’re looking for other ideas of how to cut down on your environmental impact check out this compost-powered water heater.

Continue reading “Hydropower generator”