SNES Controller Modified to be Completely Wireless

[Pat] was looking for a way to wirelessly control his Fire TV unit. He could have just went with one of many possible consumer products, but he decided to take it a step further. He modified a unit to fit inside of an original SNES controller. All of the buttons are functional, and the controller even features a wireless charger.

[Pat] started out with a Bluetooth video game controller marketed more playing video games on tablets. The original controller looked sort of like an XBox controller in shape. [Pat] tore this controller open and managed to stuff the guts into an original SNES controller. He didn’t even have to remove the original SNES PCB. [Pat] mentions that it was rather tedious to rewire all of the buttons from the original controller, but in the end it wasn’t too difficult. The only externally visible modification to the original controller is a small hole that was made for a power button.

In order to make this unit completely wireless, [Pat] also installed a Qi wireless charging module. Now, placing the controller on a charging pad will charge up the small LiPo battery in just about 45 minutes. This controller would be the perfect addition to a RetroPi or other similar project. If you’re not into Bluetooth, you can try using a Logitech receiver instead. Continue reading “SNES Controller Modified to be Completely Wireless”

An Adventure into Android Makes the VIC-20 Speak

History and [Bil Herd] teaches us that Commodore begged, borrowed, or stole the engineers responsible for the Speak & Spell to add voice synthesis to a few of the computers that came after the C64. This didn’t quite work out in practice, but speech synthesis was something that was part of the Commodore scene for a long time. The Votrax Type ‘n Talk was a stand-alone speech synthesizer that plugged into the expansion port of the VIC-20. It was expensive, rare, but a few games supported it. [Jan] realized the state of speech synthesis has improved tremendously over the last 30 years, and decided to give his VIC a voice with the help of a cheap Android phone.

A few VIC-20 games, including [Scott Adams] adventure games, worked with the Votrax speech synthesizer by sending phonemes as text over the expansion port. From there, the Votrax would take care of assembling everything into something intelligible, requiring no overhead on the VIC-20. [Jan] realized since the VIC is just spitting out characters for each phoneme, he could redirect those words to a better, more modern voice synthesizer.

A small Bluetooth module was wired up to the user port on the VIC, and this module was paired with a cheap Android smartphone. The smartphone receives the serial stream from an adventure game, and speaks the descriptions of all the scenes in these classic adventure games.

It’s a unique experience judging from the video, but the same hardware and software can also be added to any program that will run on the VIC-20, C64, and C128. Video below.

Continue reading “An Adventure into Android Makes the VIC-20 Speak”

An ATTiny Bluetooth Board

Since just about everyone who would be interested in electronics has a decent cellphone now, there’s an idea that we don’t need USB or weird serial adapters anymore. Bluetooth LE is good enough for short-range communication, and there are a ton of boards and Kickstarter projects out there that are ready to fill the need.

[Michah] has built what is probably the lowest-spec and cheapest BTLE board we’ve ever seen. It’s really just an ATTiny85 – a favorite of the crowd that’s just slightly above Arduino level – and an HM-10 Bluetooth 4.0 Low Energy module.

This board was developed as a means to connect sensors for a vintage motorcycle to an iOS device for display and data logging. A small, cheap board was needed that could be powered by a LiPo battery, and [Micah] created a board that fit his needs perfectly.

Four of the six IO pins on the ‘Tiny85 are broken out on a pin header; two are used to communicate with the BTLE module. It’s simple, fairly cheap, and can be powered by a battery. Exactly what you need if you want a wireless sensor board. All the files can be found in the Git repo and everything is open source. Not bad.

Hacking the Nike+ Fuelband

[Simone] was trying to reverse-engineer the Bluetooth protocol of his Nike+ Fuelband and made some surprising discoveries. [Simone] found that the authentication system of the Fuelband can be easily bypassed and discovered that some low-level functions (such as arbitrarily reading and writing to memory) are completely exposed to the end user or anyone else who hacks past the authentication process.

[Simone] started with the official Nike app for the Fuelband. He converted the APK to a JAR and then used JD-Gui to read the Java source code of the app. After reading through the source, he discovered that the authentication method was completely ineffective. The authenticator requires the connecting device to know both a pin code and a nonce, but in reality the authentication algorithm just checks for a hard-coded token of 0xff 0xff 0xff 0xff 0xff 0xff rendering the whole authentication process ineffective.

After he authenticated with the Fuelband, [Simone] started trying various commands to see what he could control over the Bluetooth interface. He discovered that he could send the device into bootloader mode, configure the RTC, and even read/write the first 65k of memory over the Bluetooth interface–not something you typically want to expose, especially with a broken authentication mechanism. If you want to try the exploit yourself, [Simone] wrote an Android app which he posted up on GitHub.

CAMdrive is an Open Source Time-lapse Photography Controller

[Nightflyer] has been working on an open source project he calls CAMdrive. CAMdrive is designed to be a multi-axis controller for time-lapse photography. It currently only supports a single axis, but he’s looking for help in order to expand the functionality.

You may already be familiar with the idea of time-lapse photography. The principal is that your camera takes a photo automatically at a set interval. An example may be once per minute. This can be a good way to get see gradual changes over a long period of time. While this is interesting in itself, time-lapse videos can often be made more interesting by having the camera move slightly each time a photo is taken. CAMdrive aims to aid in this process by providing a framework for building systems that can pan, tilt, and slide all automatically.

The system is broken out into separate nodes. All nodes can communicate with each other via a communication bus. Power is also distributed to each node along the bus, making wiring easier. The entire network can be controlled via Bluetooth as long as any one of the nodes on the bus include a Bluetooth module. Each node also includes a motor controller and corresponding motor. This can either be a stepper motor or DC motor.

The system can be controlled using an Android app. [Nightflyer’s] main limitation at the moment is with the app. He doesn’t have much experience programming apps for Android and he’s looking for help to push the project forward. It seems like a promising project for those photography geeks out there. Continue reading “CAMdrive is an Open Source Time-lapse Photography Controller”

A Remote for CHDK Cameras Made Possible with Arduino

[AlxDroidDev] built himself a nice remote control box for CHDK-enabled cameras. If you haven’t heard of CHDK, it’s a pretty cool software modification for some Canon cameras. CHDK adds many new features to inexpensive cameras. In this case, [AlxDroidDev] is using a feature that allows the camera shutter to be activated via USB. CHDK can be run from the SD card, so no permanent modifications need to be made to the camera.

[AlxDroidDev’s] device runs off of an ATMega328p with Arduino. It operates from a 9V battery. The circuit contains an infrared receiver and also a Bluetooth module. This allows [AlxDroidDev] to control his camera using either method. The device interfaces to the camera using a standard USB connector and cable. It contains three LEDs, red, green, and blue. Each one indicates the status of a different function.

The Arduino uses Ken Shirrif’s IR Remote library to handle the infrared remote control functions. SoftwareSerial is used to connect to the Bluetooth module. The Arduino code has built-in functionality for both Canon and Nikon infrared remote controls. To control the camera via Bluetooth, [AlxDroidDev] built a custom Android application. The app can not only control the camera’s shutter, but it can also control the level of zoom.

Atari 2600 Controller Now Controls CNC Plasma Cutter

When using any CNC machine the system has to understand where the part to be machined is physically located. This is most commonly done by jogging the tool to a position relative to the part and then indicating to the controller that the tool is indeed at that position. Hobby CNC enthusiasts [Jeremy] and [Yakob] wanted an easy, convenient (and even fun) way to zero their plasma cutter. They decided to make a wireless jog pendant capable of moving and zeroing their machine….. and it’s built into a retro game controller!

The housing is a wireless Atari 2600 controller. Most of the innards were taken out and replaced with a BlueFruit EZ-Key module that takes input signals from the stock joystick and button switches and, in turn, emulates a Bluetooth keyboard signal that is understood by a PC. Most PC-based CNC Control Software’s have keyboard shortcuts for certain functions. This project takes advantage by using those available keyboard shortcuts by mapping individual pin inputs to specific keyboard key presses.

The X and Y axes are controlled by pushing the joystick in the appropriate direction. Pressing the ‘fire’ button zeros the axis. Even though the remote is working now, these two guys want to add a rotary encoder so that they can make minor Z axis height adjustments on the fly since sometimes the metal they are plasma cutting isn’t completely flat.

If you’re interested in making CNC Pendants out of old tech, check out this once-was TV remote.