You know how sometimes you just can’t resist collecting old hardware, so you promise yourself that you will get around to working on it some day? [Danny] actually followed through on one of those promises after discovering an old Radio Shack TRS-80 TP-10 thermal printer in one of his boxes of old gear. It looks similar to a receipt printer you might see printing receipts at any brick and mortar store today. The original printer worked well enough, but [Danny] wasn’t satisfied with its 32 character per line limitation. He also wanted to be able to print more complex graphics. To accomplish this goal, he realized he was going to have to give this printer a brain transplant.
First, [Danny] wanted to find new paper for the printer. He only had one half of a roll left and it was 30 years old. He quickly realized that he could buy thermal paper for fax machines, but it would be too wide at 8.5 inches. Luckily, he was able to use a neighbor’s saw to cut the paper down to the right size. After a test run, he knew he was in business. The new fax paper actually looked better than the old stuff.
The next step was to figure out exactly how this printer works. If he was going to replace the CPU, he was going to need to know exactly how it functioned. He started by looking at the PCB to determine the various primary functions of the printer. He needed to know which functions were controlled by which CPU pins. After some Google-Fu, [Danny] was able to find the original manual for the printer. He was lucky in that the manual contained the schematic for the circuit.
Once he knew how everything was hooked up, [Danny] realized that he would need to learn how the CPU controlled all of the various functions. A logic analyzer would make his work much easier, but he didn’t happen to have one lying around. [Danny] he did what any skilled hacker would do. He built his own!
He built the analyzer around an ATMega664. It can sample eight signals every three microseconds. He claims it will fill its 64k of memory in about one fifth of a second. He got his new analyzer hooked up to the printer and then got to work coding his own logic visualization software. This visualization would provide him with a window to the inner workings of the circuit.
Now that he was able to see exactly how the printer functioned, [Danny] knew he would be able to code new software into a bigger and badder CPU. He chose to use another ATMega microcontroller. After a fair bit of trial and error, [Danny] ended up with working firmware. The new firmware can print up to 80 characters per line, which is more than double the original amount. It is also capable of printing simple black and white graphics.
[Danny] has published the source code and schematics for all of his circuits and utilities. You can find them at the bottom of his project page. Also, be sure to catch the demonstration video below. Continue reading “Thermal Printer Brain Transplant is Two Hacks in One”
Though this project uses an RC helicopter, it’s merely a vessel to demonstrate a fascinating machine learning algorithm developed by two Cornell students – [Akshay] and [Sergio]. The learning environment is set up with the helicopter at its center, attached to a boom. The boom restricts the helicopter’s movement down to one degree of motion, so that it can only move up from the ground (not side to side or front to back).
The goal is for the helicopter to teach itself how to get to a specific height in the quickest amount of time. A handful of IR sensors are used to tell the Atmega644 how high the helicopter is. The genius of this though, is in the firmware. [Akshay] and [Sergio] are using an evolutionary algorithm adopted from Floreano et al, a noted author on biological inspired artificial intelligences. The idea is for the helicopter to create random “runs” and then check the data. The runs that are closer to the goal get refined while the others are eliminated, thus mimicking evolutions’ natural selection.
We’ve seen neural networks before, but nothing like this. Stay with us after the break, as we take this awesome project and narrow it down so that you too can implement this type of algorithm in your next project.
Continue reading “Self-Learning Helicopter Uses Neural Network”
[Tyler Bletsch] sent us a tip about his new build: a keyboard that redefines “coin-operated.” The Nickelphone can emit square wave tones via a piezo buzzer, but [Tyler] made this 25-key piano as a MIDI keyboard capable of driving a full synthesizer.
He chose an ATMega644 as the brain because it’s Arduino-friendly but has more data pins—32—than the usual ATMega328 chip, which allows him to provide each key with its own pin. Each coin was soldered to its own wire and connects up to a 1MΩ resistor array. Coin-presses are recognized by the simple capacitive sensing technique outlined here, but [Tyler] needed to take advantage of a workaround to accurately detect multiple presses.
Check out [Tyler’s] detailed project guide for more information as well as the source code. Check out the video of the Nickelphone after the break, then browse through some other capacitive touch hacks, like the Capacitive Touch Business Card or the Capacitive Touch Game Controller.
Continue reading “The Nickelphone”
[Adam] and [Jeremy] took on the challenge of designing a system that would make it easy to control appliances from the Internet. We’ve seen the concept many times before; it involves some method of switching mains power and connecting that mechanism to the Internet. This design is both well planned and nicely executed.
We’re always very interested in the power switching for a project like this. It’s good that an approved electrical box houses all of the high-voltage parts in the project. Here a GA8-2B02 solid state relay switches power between the incoming cord and the two outlets. We didn’t get a look in the box, but hopefully there’s a partition between those wires and the low-voltage control wiring which uses a standard 3.5 mm audio jack as an interconnect.
An ATmega644 drives the control signal for the relay. It’s connected via Ethernet cable to the Internet through the use of an ENC28J60 chip which takes care of LAN communications. This is essentially a light-weight web server that will be easy to adapt to receive commands from just about any web-connected sender.
[Bruce Land] has been sending in student projects from the electronic design course he taught at Cornell last semester. By a curious coincidence, two groups build saxophone synthesizers with the same key arrangement as a real sax.
First up is [Brian Wang]’s digital sax. There’s a small microphone in the mouthpiece and a series of buttons down the body of the sax telling the ATMega664 what note to play. The data for the saxophone synthesis was created by looking at a frequency plot of a sax, bassoon, harp, and pipe organ. [Brian] has the synthesis part down pat; there’s definitely a baritone sax in that little microcontroller.
Next up is [Suryansh] and [Chris]’s PVC pipe saxophone. It’s the same general principle as [Brian]’s project – the musician blows into the sax (we really like the kazoo mouthpiece) and a small mic picks up the sound of the wind. If the microphone output is above a certain threshold, the buttons are read and a note come out of the sax. We’re picking up a whiff of alto sax here; shame there wasn’t a duet with the two teams.
After the break you can see both saxophone projects in all their glory.
Continue reading “Two saxophone synthesizer builds for the price of one”
It seems [Charles Moyes] and [Mengxiang Jiang] won’t suffer from the sore wrists and thumbs from an Atari controller any longer. They built a version of Pong played by concentrating and relaxing while wearing an EEG headset.
Right now, there’s only enough hardware for one player; when the player operating the red paddle concentrates the paddle moves up – relax, it goes down.
The hardware portion of the build is fairly tricky business. [Chuck] and [Mengxiang] built a circuit to amplify the tiny voltages between their ears into something a microcontroller can read. The circuit is loosely based on this Arduino EEG build, but highly refined as the elegance of an ATMega644 requires.
The EEG amplifier has a cutoff of under 50 Hz, perfect for reading the Alpha waves correlated with concentration. The oscillations from the skull-cap are sent through the ATMega to MATLAB where after a pass through an FFT the brain waves are converted to mouse scroll wheel output.
There’s a demo video available where you can see spectators screaming at the poor test subject telling him to relax and concentrate on command. You can check that out after the break.
Continue reading “Playing Pong with your mind”
This one is so simple, and works so well, we’d call it a hoax if April 1st hadn’t already passed us by. But we’re confident that what [William Myers] and [Guo Jie Chin] came up with exists, and we want one of our own. The project is a method of drawing in 3 dimensions using ultrasonic sensors.
They call it 3D Paint, and that’s fitting since the software interface is much like the original MS Paint. It can show you the movements of the stylus in three axes, but it can also assemble an anaglyph — the kind of 3D that uses those red and blue filter glasses — so that the artists can see the 3D rendering as it is being drawn.
The hardware depends on a trio of sensors and a stylus that are all controlled by an ATmega644. That’s it for hardware (to be fair, there are a few trivial amplifier circuits too), making this an incredibly affordable setup. The real work, and the reason the input is so smooth and accurate, comes in the MATLAB code which does the trilateration. If you like to get elbow deep in the math the article linked above has plenty to interest you. If you’re more of a visual learner just skip down after the break for the demo video.
Continue reading “3D whiteboard without the whiteboard”