My Payphone Runs Linux

For the 20th anniversary of the Movie “Hackers” [Jamie Zawinski], owner of DNA Lounge in San Francisco, threw an epic party – screening the movie, setting up skating ramps and all that jazz. One of the props he put up was an old payphone, but he didn’t have time to bring it alive. The one thing he didn’t want this phone to do was to be able to make calls. A couple of weeks later, he threw another party, this time screening “Tank Girl” instead. For this gathering he had enough time to put a Linux computer inside the old payphone. When the handset is picked up, it “dials” a number which brings up a voice mail system that announces the schedule of events and other interactive stuff. As usual, this project looked simple enough to start with, but turned out way more complicated than he anticipated. Thankfully for us, he broke down his build in to bite sized chunks to make it easy for us to follow what he did.

This build is a thing of beauty, so let’s drill down into what the project involved:

Continue reading “My Payphone Runs Linux”

Hams In Space: Project OSCAR

In early December 1961, a United States Air Force rocket took off from Vandenberg Air Force Base in California carrying a special payload. The main payload was a Corona surveillance satellite, but tucked just aft of that spacecraft was a tiny package of homebrew electronics stuffed into something the looked like a slice of cake. What was in that package and how it came to tag along on a top-secret military mission is the story of OSCAR 1, the world’s first amateur radio satellite.

Continue reading “Hams In Space: Project OSCAR”

Inject Packets With An ESP8266

[Kripthor] sent us a link to his blog where he writes the Hello World of low-level networking. Basically he’s constructing his own packet and sending it. By itself this isn’t a bad thing. You could use this power for all sorts of networks-diagnostic good. And so, despite the ominous name of his blog post “ESP8266 Jamming”, he’s not really doing anything that bad — he’s just creating many fake WiFi beacon frames and sending them out every so often.

Which can apparently do bad things to some vulnerable routers. Who knew? Want to test yours?

Naturally we wanted to see how he was doing it, and we opened up the Arduino code in GitHub. It turns out that Espressif has written a wifi_send_pkt_freedom() function that just sends out whatever packet you’d like to the network. That was easy.

It also turns out that the ESP8266 will enter monitor mode, where it listens to all WiFi traffic regardless of the MAC address that it’s directed toward. [Pulkin] seems to have done the work for us and posted the code in his GitHub. Now things get nasty. Combining promiscuous monitor mode with some carefully constructed management frames can end up with a classic WiFi deauth denial-of-service attack on a $2 piece of hardware.

We think it’s tremendously cool that the ESP8266 packs such power, and we beg you all to use it responsibly. The last thing we want to see is the world littered with WiFi-DOS throwies. And the last thing you’d want is a visit from the FCC.

Oh Baby, Baby10 – Build A Classic Analog Music Sequencer

Recently I’ve been learning more about classic analog music synthesizers and sequencers. This has led me to the Baby10, a classic and simple analog sequencer design. In this article I’ll introduce its basic operation, and the builds of some awesome hackers based on this design.

Sequencers produce, a sequence of varying voltages. These control voltages (CV) can then be use to control other components. Often this is a simple tone generator. While the concept is simple, it can produce awesome results:

A basic sequencer is a great beginners project. It’s easy to understand the basic operation of the circuit and produces a satisfyingly entertaining result. The Baby 10 was originally published in a column called “Captain’s Analog”, but has now been widely shared online.

baby10
The original Baby10 article.

The circuit uses the 4017, a simple CMOS decade counter. The 4017 takes an input clock signal then sequentially outputs a high pulse on each of 10 output pins. As such, the 4017 does almost everything we need from a sequencer in a single IC! However, we want our sequencer to output a varying voltage which we can then use to generate differing tones.

To accomplish this variable resistors are connected to each of the output pins. A diode in series with the variable resistor stops the outputs fighting against each other (in layman’s terms).

To make the sequencer more visually attractive (and give some feedback) LEDs are often also added to the output of the 4017. A complete Baby 10 sequencer is shown in the schematic below. The original circuit used 1N917s, these are no longer available but the part has been replaced by the 1N4148.

Continue reading “Oh Baby, Baby10 – Build A Classic Analog Music Sequencer”

PS/2 Keyboard For Raspberry Pi

A lot of people can bake a cake. Sort of. Most of us can bake a cake if we have a cake mix. Making a cake from scratch is a different proposition. Sure, you know it is possible, but in real life, most of us just get a box of cake mix. The Raspberry Pi isn’t a cake (or even a pie), but you could make the same observation about it. You know the Raspberry Pi is just an ARM computer, you could program it without running an available operating system, but realistically you won’t. This is what makes it fun to watch those that are taking on this challenge.

[Deater] is writing his own Pi operating system and he faced a daunting problem: keyboard input. Usually, you plug a USB keyboard into the Pi (or a hub connected to the Pi). But this only works because of the Linux USB stack and drivers exist. That’s a lot of code to get working just to get simple keyboard input working for testing and debugging. That’s why [Deater] created a PS/2 keyboard interface for the Pi.

Even if you aren’t writing your own OS, you might find it useful to use a PS/2 keyboard to free up a USB port, or maybe you want to connect that beautiful Model-M keyboard without a USB adapter. The PS/2 keyboard uses a relatively simple clock and data protocol that is well-understood. The only real issue is converting the 5V PS/2 signals to 3.3V for the Pi (and vice versa, of course).

Continue reading “PS/2 Keyboard For Raspberry Pi”

3D Printing Metal From Rust

It seems backwards, but engineers from Northwestern University have made 3D printing metal easier (and eventually cheaper) by adding extra production steps to the procedure. (Paper available in PDF).

Laser sintering works by laying down a thin layer of metal powder and then hitting it with a strong enough laser to sinter the particles together. (Sintering sticks the grains together without getting the metal hot enough to melt it.) The rapid local heating and cooling required to build up 3D objects expands and cools the metal, and can result in stresses inside the resulting object.

The Northwestern team still lays down layers of powder, but glues the layers together with a quick-drying polymer instead of fusing them with a laser. Once the full model is printed, they then sinter it in one piece in an oven.

anewwaytopri_tn
3D-printed copper lattice. Credit: Ramille Shah and David Dunand

The advantages of adding this extra step are higher printing speed — squirting the liquid out of syringe heads can be faster than fusing metal particles with a laser — and increased structural integrity because the whole model is heated and cooled at one time. A fringe benefit is that the model is still a bit flexible before firing, opening up possibilities for printing a flat model and then bending it into shape before sintering.

And if that weren’t enough, the team figured that they’d add a third step to the procedure to allow it to be used with rust (iron oxide) as the starting powder. They print the rust and polymer model, then un-rust the iron using hydrogen, and then fire it as before. Why rust? Do you know anything cheaper to use as a raw material?

What do you think? The basic idea may even be DIYable — glue metal particles together and heat them up enough to stick. Not in my microwave oven, though. We’d love to see a more energy-efficient 3D metal printer.

Thanks to [Joe] for the tip!

Cheap Smartwatch Teardown

A proper smartwatch can cost quite a bit of money. However, there are some cheap Bluetooth-connected watches that offer basic functions like show your incoming calls, dial numbers and display the state of your phone battery. Not much, but these watches often sell for under $20, so you shouldn’t expect too much.

Because they’re so cheap, [Lee] bought one of these (a U8Plus) and within an hour he had the case opened up and his camera ready. As you might expect, the biggest piece within was the rechargeable battery. A MediaTek MT6261 system on a chip provides the smart part of the watch.

Continue reading “Cheap Smartwatch Teardown”