About rlankenau

I'm a software engineer. Right now I make a living writing C, Java, and .NET. I grew up in Naperville, live in Batavia, and work for a company based in Redwood City, California. In previous lives, I was a landscaper, a metal sculptor's assistant, a carpenter, a library clerk, a volunteer blacksmith, and a visualization programmer, among other things. In my spare time, I work on games for Windows and the XBox 360.

New (well, old) Workshop Phone

I picked up an OBi100 adapter for the space a few weeks ago, and have been hunting around for a phone that we can use with it.

I stopped by the local Goodwill on my way in to the workshop one morning, and picked up two phones for $1.99 each.  One was a Lucent speakerphone that was missing a power adapter (I managed to dig a compatible one out of our giant box of wall warts in the electronics room).  The other was a fantastic old GE Model 500 rotary dial phone.  One of our members with a bit of experience in the area pegged the year of manufacture as 1965, with the last service in 1984.  I cleaned it up with some rubbing alcohol, and we swapped the old phone number placard for a W88 circuit board mask:

It took about 10 minutes of googling to find the pinout on the 4-prong adapter so we could hook it up, and it was hooked up to our Google Voice phone number and ringing.

Model 500 Plugbox Render (top)

The alligator clips aren’t a great solution, so I started designing a box to plug it into.  I used OpenSCAD to do the design.  The source files are available in my GitHub repo, but here’s a couple quick screenshots of the render:

I measured for the holes on the top using a pair of digital calipers, and then did some quick trig to figure out the offsets from the center point of the box.

Model 500 Plugbox Render (bottom)

The pins on the plug are arranged in a trapezoidal fashion so you can’t insert the plug backwards.  The bottom of the box is set up so that I can drop in a Radio Shack perfboard with a standard phone line connected to a couple of spring contacts on the wider pair of the two holes.  The standoff holes in the perfboard line up with the blocks in the corner of the box, and I have a second 3D model for the bottom of the box that sits below the perfboard.

The most difficult part of designing the box was getting the Workshop 88 logo to come out right.  I found this great tutorial on how to use InkScape to build 3D shapes in OpenSCAD and I used the source image for the same circuit board mask that we stuck on the phone.  Once I had that in place, it wasn’t too difficult to use it in OpenSCAD.  Check out the GitHub repo for details.

Model 500 Adapter with perfboard

I did a couple of test prints on the MakerBot to make sure everything fit together, and it looks like it is working pretty well.  I haven’t done another print with the logo, but judging from the generated STL, it is going to be much more involved than the basic prints.

When I added the logos, the STL went from about 300K to over 2MB.  I’m hoping that the print itself will be stable enough that the logo won’t lose resolution and look bad.  We’ve got a new stepper motor extruder ordered for our MakerBot, so that may help a little bit with the resolution.

Model 500 Adapter 3D print (bottom)

The next project is to get this puppy to dial out.  We’ve had a few suggestions, from converting the pulse dial to DTMF using an Arduino Teensy to hooking up a Blue Box with an acoustic coupler.  Right now the easiest way to use it is to dial out on a different phone, and then pick up the handset.  That really isn’t all that much fun.  I’m leaning towards the acoustic coupler method, but early experiments with DTMF generators on our cell phones didn’t go too well, so we may have a bit more work cut out for us.  The Wikipedia article says that blue boxes no longer work due to changes in the switching infrastucture, which… ahem… anecdotal evidence would tend to confirm.

Share

Raspberry Pi thoughts

raspberry_pi_front

I got my Raspberry Pi (model B) in the mail a few weeks ago, and I’m just starting to dig into it.  I ordered from Newark/Element 14, and got it in just under 2 weeks.  They’re quoting quite a bit longer, so it was a bit quicker than I expected.

If you’re not familiar with the Pi, it is a $35 700MHz ARM processor with 100Mbps Ethernet, HDMI, composite video, 1/8″ audio, dual USB, SD card reader, and a number of 3.3V GPIO pins.  There are several different Linux distributions available that run on the device.  The model A is about $10 cheaper, and doesn’t have Ethernet.

I’m a Debian user from way back, so I was pretty happy that there was a Debian release for the Pi.  I’m currently running on a 2GB SD card that I had lying around, but it is a fairly tight fit, so I’d suggest (and I believe they do as well) that you go with at least a 4GB card.

Out of the box, I was able to get the GUI running and run some basic applications.  SSH access is also enabled, so I was able to hook the board up to my switch and access it over the network for package management and command-line tools.

I was extremely happy that the distro included native packages for ARM.  I run DD-WRT on my switch at home, and the busybox packages are a bit limited for my taste.

I’m thinking about running Nagios on the board and breaking out the GPIO pins to show some Nagios metrics on a LCD screen or LED bar graphs.  I’ve done LCD stuff with the Arduino, but having Linux on the board itself really gives me a lot of flexibility on generating the data to be output to the screen.  I’ve been looking at the elinux wiki for reference on how to use the GPIO pins, but haven’t really done anything with it so far.  I’m a bit nervous about interfacing directly because these boards are a bit pricier than Arduino boards, but the GPIO pins are supposed to be able to source 500mA, so that should be plenty for what I’m trying to do.

Love to hear your thoughts on what you’re planning on doing with your R. Pi in the comments!

 

Share

Educube Progress

We got another couple shipments of parts for our Educube project:

The main component of our project is a Arduino clone called the Diavolino, sold by Evil Mad Scientist Laboratories .  The Diavolino uses the same ATMega328P microcontroller that comes in the Arduino Uno, but is quite a bit cheaper.  The nice folks at Evil Mad Scientist were nice enough to sell us a few without microcontrollers, and we ordered the 328Ps from Element14.

Each individual cube communicates with adjacent cubes over IR.  We ordered 10 Vishay IR transceivers, but they came sealed up in this package  covered in dire warnings, so I chose not to break them open until we have boards ready for them.

I spent a couple hours tonight putting the Diavolino kits together.  They were pretty quick, and should be a good platform for the rest of the build.

Share

Arduino 201 Cancelled, Arduino 101 Instead!

We’re calling off our Arduino 201 class due to low enrollment, and having an Arduino 101 class instead.

If the snowpocalypse deprived you of your Arduino 101 class a couple weeks ago, come on in Tuesday night for a make-up.

Arduino 101 will also be taught the first week of March, and Arduino 201 will be taught near the end of March.

Time: Tuesday, Feb 15 6:30pm – 8:30pm

Share

Arduino 201: Sensors and Communication

If you enjoyed our Introduction to Arduino class, come back for the next class!

In Arduino 201, we’ll be using the Processing framework and the Firmata library for the Arduino to interact with the Arduino from a graphical user interface.

This class will build on the Darkness Detector circuit we built in Arduino 101, adding calibration knobs for high and low, and outputting the resulting data to a graph using Processing.

Students should be familiar with the concepts and circuits taught in Arduino 101, specifically reading analog inputs and the voltage divider circuit used in the Darkness Detector.

Knowledge of Processing is not required.

What to Bring

  • A laptop (we have a few spares, let us know if you need to reserve one)
  • Your arduino kit (or order one with the class)

Materials

All classes in the Arduino Track require the Arduino Kit (external link to Adafruit).

Buy it now ($15 off with tuition) and reuse it for the rest of the classes!

Share