Day: December 25, 2014

Professor [Bruce Land] teaches a microcontroller class at Cornell University, and it seems like this year’s theme was selfie-taking-robots.

First up is a clever mix of technology by [Han, Bihan and Chuan]. What happens when you take an iPhone, three microphones and a microcontroller? The ultimate device in selfie-taking-technology, that’s what — Clap-on! The iPhone is mounted on a few servo motors which allows the bot to direct the camera towards, you guessed it, a clapping noise. On the second clap, the phone takes your picture. Cute.

Next up is a bit more sophisticated — a facial recognition selfie-bot. This little robot can be programmed to track faces and take pictures of you and your friends when your arm is just not long enough. Not only that, you can set all kinds of parameters so you get the perfect picture. It uses OpenCV to crunch the raw data and outputs commands to an ATmega1284 which controls the servo motors that direct the camera. This project was by [Michael and Jennifer] — two fourth year students at Cornell.

First, to be clear, they are using a quality 40W Epilog Zing, not the cheap one, but40W is40W. They mixed the plaster (calcium sulfate) with Isopropyl until it resembled white ketchup. After either thinly painting or airbrushing the material onto the stainless surface (both worked), the mixture is dried with a heatgun then put into the laser. 100% power and 5% speed was what worked for them.

The result was an engrave with a noticeable bite. Something they claim had no effect at all without the mixture.

Stainless steel is an alloy of iron and some chromium – not the same as chrome-plated steel. [Frankie]’s explanation of the chemistry is that the surface layer of the stainless is a transparent chromium oxide. With the heat of the laser, the calcium and chromium swap dance partners. Calcium takes the oxygen and chromium takes the sulfate. The calcium oxide washes off but the chromium sulfate causes the etch.

[Ramon] was always fascinated with pianos, and when he came across a few player piano rolls in an antique shop, a small kernel of a project idea was formed. He wondered if anyone had ever tried to convert a player piano into a full MIDI instrument, with a computer tickling the ivories with a few commands. This led to one of the best builds we’ve ever seen: a player piano connected to a computer.

[Ramon] found an old piano in Craigslist for a few hundred dollars, and once it made its way into the workshop the teardown began. Player pianos work via a vacuum, where air is sucked through a few pin points in a piano roll with a bellows. A series of pipes leading to each key translate these small holes into notes. Replicating this system for a MIDI device would be impossible, but there are a few companies that make electronic adapters for player pianos. All [Ramon] would have to do is replicate that.

The lead pipes were torn out and replaced with 88 separate solenoid valves. These valves are controlled via a shift register, and the shift registers controlled by an ATMega. There’s an astonishing amount of electronic and mechanical work invested in this build, and the finished product shows that.

As if turning an ancient player piano into something that can understand and play MIDI music wasn’t enough, [Ramon] decided to add a few visuals to the mix. He found a display with a ratio of 16:4.5 – yes, half as tall as 16:9 – and turned the front of the piano into a giant display. The ten different styles of visualization were whipped up in Processing.

The piano has so far been shown at an interactive art exhibit in Oakland, and hopefully it’ll make it to one of the Maker Faires next year. There are also plans to have this piano output MIDI with a key scanner underneath all the keys. Very impressive work.

[Ádám] participates in a competition called KöMaL. It’s a 9-times-a-month journal for junior high and high school students featuring math and physics problems. [Paul Erdős], one of the most published mathematicians of all time, was a huge participant and by far the most notable student to crack open a copy of KöMaL in its hundred-year history. [Ádám] was trying his hand at a problem in Excel, but the official rules prohibit the use of Excel macros. In a daze, he came up with one of the most clever uses of Excel: building an assembly interpreter with the most popular spreadsheet program.

This is a virtual Harvard architecture machine without writable RAM; the stack is only lots and lots of IFs. The instructions – mostly load, MOV, JNZ, INC, and CMP solves this problem, examining two inputs to see if they multiples of each other. If you’re wondering, an example cell from [Ádám]’s Excel sheet looks like this:

[Ádám] has provided his Excel solution to the problem, available on the hackaday.io. It’s in Hungarian which really shouldn’t matter since it’s basically Excel and a pseudo-x86 instruction set. but the column labels will require a bit of Google Translate.

Like some of our grouchier readers, [PodeCoet]’s Digital Sub-Systems professor loathes everyone strapping an Arduino onto a project when something less powerful and ten times as complicated will do. One student asked if they could just replace the whole breadboarded “up counter” circuit mess with an Arduino, but, since the class is centered around basic logic gates the prof shot him down. Undeterred, our troll smuggled an MCU into a chip and used it to spell out crude messages.

No Arduino? No problem. It took him 4 tries but [PodeCoet] hollowed out the SN74LS47N display driver from the required circuit and made it the puppet of a PIC16F1503 controller. The PIC emulated the driver chip in every way – as ordered it showed the count up and down – except when left unattended for 15 seconds. Then instead of digits the PIC writes out “HELLO”, followed by three things normally covered by swimsuits and lastly a bodily function.

For such a simple hack it is wonderfully and humorously documented. There are annotated progress/failure pictures and video of the hack working.

It should come as no surprise that we at Hackaday love Linux above all others (that should start a nice little flamewar on the internal email list). If you still haven’t given it a whirl yet, don’t fear. Everyone starts from scratch at some point. With each passing year it becomes more and more likely that knowing something about Linux will eventually benefit every hardware hacker. Take part of your time off in the coming weeks to give it a whirl. First thing’s first, check out this quick guide on what Linux actually is.

Adafruit’s offering is pretty low level, so if you’re the kind that likes to argue “kernel” versus “OS” please keep it to yourself. For us the important distinction pointed out here is microcontroller (Arduino) versus Raspberry Pi. The Pi generally runs one flavor or another of Linux for good reasons, while microcontroller-driven systems tend to run use-specific code (with the exception of projects that leverage Real Time Operating Systems). Of course it extends past pre-fab options, Linux is a popular choice on bare-bones roll-your-own machines.

This is the year of Linux! Ha, we’ve heard that one every year for at least a decade. To us it makes no difference, you should know a bit about each OS out there. What are you waiting for? Read the guide then download (for free!) a CD image of our current favorite Linux flavor.

How do you get 16-bit audio out of an 8-bit microcontroller. We’ll give you a hint: two pins are used. Not helping? Here it comes: two 8-bit DACs PWM outputs are used on this chip, the ATmega1284. One is used for the lower eight bits, the other handles the upper. The two are combined using carefully calculated precision resistor values and the results are beyond what you imagine. This is produced at a bitrate of 44077.135, slightly off from the 44100Hz standard but we challenge you audiophiles to tell the difference. The wave files are served from an SD card read by the chip using the Petit-FatFs library.

There are so many great things about this project. First off, following [Wancheng Zhou’s] example will let anyone with even basic microcontroller skills build a digital audio player for an [Andrew Jackson] and a couple of [Washingtons]. Secondly, those with a medium uC skill level will want to take the idea and implement/debug it for themselves. Bringing it home, [Wancheng] shows how to gauge the quality of the audio output using FFT.

If you didn’t figure it out by the time of year, this is yet another example of a Cornell ECE 4760 final project. Shout out to [Bruce Land] for inspiring awesome projects and requiring extensive documentation of the projects which itself promotes deeper understand all around.