Intervalometer and motion trigger for Nikon D90

Matt Mets has written a nice Nikon remote control library for Arduino. I used it to make a motion trigger and intervalometer. It looks like this:

Continue reading

Posted in arduino/wiring, circuits, electronics | Leave a comment

Blog Housekeeping

I’m making some changes to this blog. I’ve been unhappy about the fact that all the code is static, not the code I use every day. Instead, I want a nice code repository, so whatever I write on my machine can be published directly, and if I update it, the updates end up here. I would also like syntactical highlighting of the code. And now, ta dah! It’s all done. Here’s what I did, for your reference and my own, because I’ll forget next time I need to update it.

So from now on, new code on this blog will look like this:

[include file="../../code/Arduino/helloTom/helloTom.pde" start="3" clean="true"]

And it’ll all be updated whenever I make changes.  Exciting, isn’t it?

Continue reading

Posted in arduino/wiring, PHP, Processing | Tagged , , | Leave a comment

Reading data from a uLog logger, saving to a file

Here’s a Processing sketch that takes data from Sparkfun’s uLog datalogger via a serial port, and saves the results to a file. To use this, you’ll need:

Continue reading

Posted in circuits, Processing | Tagged , , | 2 Comments

Simple Client URL example in PHP

Here’s a simple example of using the cURL program through PHP’s client URL library. It’s a really powerful way to use HTTP, because you can set just about every HTTP option using the library.

Continue reading

Posted in PHP | Leave a comment

Mail form in PHP

Here’s a simple HTML/PHP form that takes data from the form and sends it in mail via HTTP POST. Save it as formToMe.php:

Continue reading

Posted in PHP | Tagged , , | Leave a comment

Traceroute scraper in Processing

There are many web-based interfaces to traceroute available, including a nice list at  Here’s a Processing sketch that retrieves the raw HTML from one of them and separates the traceroute lines into time taken, hop IP, and hop name.

This sketch can be modified to scrape other web-based traceroute apps, but you’d need to change the last two methods, parseHop() and printHopList(), depending on how your particular app formats the results. You’d also need to change the global variables at the top that pertain to the site being used.

One caveat: the traceroute takes some time.

To see the full output of the HTML call, change debug to true.

Continue reading

Posted in Processing | Tagged , , , | Leave a comment

Ball Drop Game

Here’s a variation on the networked pong server from Making Things Talk..  This version is cooperative rather than competitive.  Multiple clients have to keep the ball from hitting the ground.  There are five balls dropped each game.

Continue reading

Posted in Processing | Tagged , , | Leave a comment

Chat Server in Processing

Here’s a basic chat server written in Processing.  It’s a bit more complex than the basic test server.  This server keeps track of all the clients who log into it in an ArrayList.  Using an ArrayList is useful when you need to do more complex things with the clients, as in my pong server from Making Things Talk. This is the most minimal server I could come up with that keeps a list of its clients.

Continue reading

Posted in Processing | Tagged , , | Leave a comment

CNMAT resources archive

Berkeley’s CNMAT (center for new music and audio technologies) has a nice resource archive, with pictures.  Useful if you’re looking for electronic parts, microphones, and other things audio-related.  Similar to RISDpedia and ITPedia, among others, very useful.  Thanks to Tom Gerhardt and Adrian Freed for the link.

Posted in circuits, construction | Leave a comment

A Few Good Reasons Why Peter Knight Rocks

Peter Knight works with Massimo and Alex and co. at He’s written some great AVR code, which is useful in Arduino.  For example:

Secret Thermometer takes advantage of the ATMega’s internal thermometer. Turns your ‘328-based Arduino into a thermometer with no extra parts.

Secret Voltmeter same idea, but this reads the internal analog-to-digital converter to tell you the Arduino’s supply voltage. Also works on the ATMega168.

He’s also done Cantarino, a speech synthesis engine; Auduino, a granular sound synthesis engine; a DMX library; and more.  Check them all out at the code repository.

Posted in arduino/wiring, AVR, circuits | Tagged , , , | Leave a comment