Most recent posts: page 1 of 6 1 2 3 4 5 6
Browse the complete archive by category or month.

December 3, 2008

Wii Drum High

HE Zhao wrote in to tell us about an open source Wii peripheral drum-kit project he's been working on:

I have recently developed Wii Drum High, a software integrates Wiimote, Nunchuk and Wii Balance Board to stimulate a complete drum set. Different gestures and joystick buttons result in correspondent drum sounds. I recorded some videos of real drummer playing with it, and it worked out pretty good.

The software, released under the GPL, is written in C# using Brian Peek's WiimoteLib API. Using the Visual C# Express development environment and WiimoteLib, you can make your own PC apps that use the Wiimote or Balance Board for input. Zhao's source is a good example to look at if you decide to head down this path, as is Peek's WiimoteLib guide on the coding4fun blog.

Wii Drum High - Wii peripheral drum kit
WiimoteLib API for .Net
Brian Peek's Wiimotelib development guide

Posted by Jason Striegel | Dec 3, 2008 08:07 PM
Gaming, Music, Software Engineering, Visual Studio | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Hacker Gift Guide: Gift ideas for your favorite geeks

hackergifts_20081202.jpg

When I look for gifts for a lot of my friends, the most important thing on my mind is finding things that are hackable. Is the gift modifiable, open source, and fuel for future projects? Does it teach you something? These are essential qualities in a hacker gift.

In this guide, you'll find a collection of gadgets, books, and gear that have carefully been selected for their fundamental hackability and technical awesomeness.

arduino_20081125.jpg

The list starts off with an obvious gift candidate, the open source/open hardware Arduino.

The Arduino has quickly become the platform of choice for hardware hacks and physical computing projects requiring a microprocessor. The devices are cheap, fun to program, and there's a healthy community of Arduino hackers publishing both software libraries and hardware add-ons. For many applications, you'll want to check out the Arduino Duemilanove, which is compatible with snap on "shield" daughterboards like the robot friendly MotorShield or the XPortShield ethernet adapter. A lot of projects can also benefit from the ultra small footprint and breadboard compatible Boarduino, which you can assemble yourself for only $17.50.

Price: $17.50 - $34.99


A great gift idea for someone who's new to Arduino is the Arduino Starter Kit. It's currently backordered, but if you order quickly you can still get one in time for Christmas. It includes an Arduino Duemilanove, a huge pile of electronic goodies, and the book Making Things Talk by Tom Igoe.

Price: $89.99

Read full story

Posted by Jason Striegel | Dec 3, 2008 01:00 AM
Electronics, Hacks Series | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

December 2, 2008

Image processing in Mathematica

mathematica_20081202.jpg

A clown fish, diced into 40 pixel squares.

Theodore Gray demonstrated some impressive image processing features of Mathematica 7 on the Wolfram blog. You can drag and drop an image right into a line of code and perform a number of image processing functions on it directly.

I'm not sure how many of you are Mathematica users—I haven't used it myself since college—but from a UI design perspective, it's very cool to see multimedia assets integrated so seamlessly into a programming language.


This function identifies patches that are similar in color, then connects them into a network. The parameter says how many neighbors to look at before building the network.

mathematica_20081202-2.jpg

The same tools can be used to process through frames of video. In one example Theodore shows off about 15 lines of functional code that can separate flying ducks from a stream of video by examining the morphology of the image frame and identifying the unique objects. Pretty impressive stuff.

Mathematica Image Processing

Posted by Jason Striegel | Dec 2, 2008 11:43 PM
Math, Software Engineering, User Interface | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

December 1, 2008

Reware - hack your old PDA

The problem with bleeding edge devices is that they quickly become old and irrelevant. Replaced with the latest gizmo, old smart phones and PDAs tend to find their way to a drawer or a landfill after about 2 or 3 years.

It's not that most of us want a throwaway society. It's that most of the gadgets we buy are designed to expire, with hardware that cannot be user serviced, batteries that cannot be easily replaced, and with firmware and software stacks that cannot be modified to accommodate the future. Proprietary. Closed. User subjugating. Stupid.

One half of the solution is to choose open hardware and open source whenever you have the choice. The other part of the solution is to hack your closed devices to do your bidding. Thankfully, there are a lot of people working hard to make the latter possible, and you can run Free Software on everything from Palms to iPhones.

We caught this note from Hans-Christoph Steiner on the dorkbot nyc mailng list. He's currently working on a project called Reware, which is attempting to bring a common hacker-friendly Linux distro to a variety of PDAs:

We've been working at Eyebeam since July on making it easy to hack old devices and run new software on them. We now have our first Reware HOWTO video, showing the basics of how to use a Reware image yourself, then it illustrates some of the Pd patches we've made.


Coming soon, a image for running Pd, Python, and Lua programs on PDAs, as well as a HOWTO for making Pd patches for 1-5G iPods. The key idea is to turn old PDAs, mobile phones, etc. into something like an Arduino, where you can easily upload your own code to the device.

Currently Reware supports several Palm devices, but with iPods on the radar and a number of Pocket PCs that can run Linux, there's a lot of potential here. Just think about all those 200-400MHz ARM processors just waiting for something interesting to do.

Reware Wiki - tools to recycle old devices
Reware First Release
Ångström - Linux for devices, including many Palm, Nokia, HTC, and iPaqs
iPod Linux

Posted by Jason Striegel | Dec 1, 2008 11:00 PM
Linux, PDAs, iPod | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

November 30, 2008

Google Code University - tutorials and course content for CS students

Google's Code University is another great "bootstrap education" resource for CS students. I've written previously about other free resources for the self-guided software engineer, such as MIT's Open Courseware and Standford's Engineering Everywhere. While Google Code University currently offers a smaller subset of courses, it's all geared toward topics related to large scale web application development.

This website provides tutorials and sample course content so CS students and educators can learn more about current computing technologies and paradigms. In particular, this content is Creative Commons licensed which makes it easy for CS educators to use in their own classes.


The Courses section contains tutorials, lecture slides, and problem sets for a variety of topic areas:

In the Tools 101 section, you will find a set of introductions to some common tools used in Computer Science such as version control systems and databases.

As you might imaging, there's quite a bit of content that's motivated by the sort of development challenges that Google engineers deal with on their projects. For instance, here's a Lecture by Jeff Dean that discusses distributed storage systems, from the perspective of Google's Big Table technology:

If you're interested in large scale web application design and distributed application development, here's a good opportunity to learn from some of the experts.

Google Code University

Previously:
Bootstrap Education
Stanford Engineering Everywhere
Lecturefox: Free University Lectures

Posted by Jason Striegel | Nov 30, 2008 09:59 PM
Education, Software Engineering | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 29, 2008

MIDI Hero - Guitar Hero with a drum kit

This Guitar Hero mod posted by Youtube user Egyokeo blew my mind. A MIDI drum kit and some custom software on a PC send button-press input via the Xbox Input Machine (XIM) hardware to an Xbox running Guitar Hero.

Since I injured my middle left finger playing Guitar Hero 2 way too much when it came out, I've been dying to get back to playing it. But my finger hasn't healed. I was holding the neck too tightly on the X-plorer guitar controller and it hurts to bend it anymore. I've never had an injury playing the drums, so I thought "wouldn't it be great to be able to play Guitar Hero on the drums?" So I thought about how that might be accomplished... researched, implemented, borrowed, and here I outline the finished product.


Here's the whole chain of what's going on:

  1. Me banging on my drumKat MIDI drum pads
  2. drumKat MIDI Out to MIDI/USB adapter to PC
  3. PC running my own custom MIDI Hero software
  4. MIDI Hero calls into XIM which sends input to the Xbox 360 console

To make the songs playable with two-sticked drum input, some of the pads simulate multiple button presses for the 3 note chords and an input buffer on the PC automatically holds all notes until just before sending another hit event. You could tweak the setup to use a MIDI keyboard or even a MIDI guitar.

There are a lot more details on Egyokeo's site as well as the blog maintained by XIM creator OBsIV. Unfortunately, there are no instructions for actually playing like this. I'm pretty sure it involves secret ninja stuff.

MIDI Hero: Play Rhythm Games using any MIDI Instrument
Building your own Xbox 360 Input Machine (XIM)

Posted by Jason Striegel | Nov 29, 2008 08:42 PM
Gaming, Xbox | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 28, 2008

iPhone Linux

The iPhone dev team, hard at work as usual, announced a successful iPhone Linux port today. It's still at a very early stage, but the kernel boots on first and second generation iPhones and the first generation iPod touch. A framebuffer driver and a working Busybox installation point to an exciting open source future:

What we have:


- Framebuffer driver
- Serial driver
- Serial over USB driver
- Interrupts, MMU, clock, etc.

What we have in openiboot (but hasn't been ported yet):

- Read-only support for the NAND

What we don't have (yet!):

- Write support for the NAND
- Wireless networking
- Touchscreen
- Sound
- Accelerometer
- Baseband support

If you're a Linux hacker and want to pitch in with the porting process, hop on the #iphonelinux IRC channel at irc.osx86.hu.

iPhone Linux - Official Announcement

It's just a demo at this point, but if you can't wait to see this running on your own phone, here's what you need:
Installation Instructions
iphonelinux-demo.tar.gz

Posted by Jason Striegel | Nov 28, 2008 07:36 PM
Linux, iPhone | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 27, 2008

Build a Skype server and replace your land line

skypeserver_20081127.jpg

With some of my family overseas, Skype and iChat have become important tools for voice communication, second only to the cell phone and face to face protocol. It occurred to me that outside of telemarketers and the very occasional late-night pizza dial, the land line has become a relatively unused service. Unused, yet a consistent and not insubstantial monthly bill.

With thoughts of finally ditching the land line, but still a bit resistant to going completely phoneless in the home (what about when my cell battery dies?), I came across an article in Linux Journal by Andrew Sheppard, author of Skype Hacks, that shows you how to reconfigure your home telephone system to be completely routed through a server running Skype and Linux.

My solution was to build a Skype server that provides 24/7 phone service with the minimum of hassle and fuss. By dumping your regular phone company and taking back control of your home phone wiring using a Skype server, you will have not only a phone system with nearly the same capabilities as before--indeed, in some ways better--you will also save a bundle of money! In my case, I save a little less than $700 US each year (this year, next year, and the year after that, and so on), or about 82% off of my old phone bill.


Using a Skype server plugged in to the existing copper phone wiring of your home means that you can lift a receiver anywhere in your home, at any time, and get a regular dial tone. Incoming calls either from Skype users or regular phones ring all handsets throughout your home. Basically, you can make Skype behave like a regular phone line, but at a tiny fraction of the cost.

There are some big benefits to switching to a Skype server. It's likely a lot cheaper and if you're a regular Skype user, you can now use the service with any handset in the house instead of sitting at your computer.

There are also some downsides. The phone system still remains one of the most reliable services. It's more likely that I'll lose electricity than I won't have a dial tone, which may be of some concern for fire and bugler alarm systems. You also wouldn't have 911 service in this scenario, but if you have a cell phone anyway, this may be a moot point.

What are the rest of you hackers doing for phone service these days? Is it time to give up the land line entirely, simulate it with a Skype server or VoIP service, or are you still happily rocking the POTS? Give us a shout in the comments.

Build a Skype Server for Your Home Phone System
Andrew Sheppard's Skype Hacks - Tips & Tools for Cheap, Fun, Innovative Phone Service

Posted by Jason Striegel | Nov 27, 2008 08:28 PM
Home, Linux, Skype, VoIP | Permalink | Comments (2) | TrackBack | Digg It | Tag w/del.icio.us

November 26, 2008

Springatron 3000 - awesome Slinky reverb

springatron3000_20081126.jpg

Hackszine pal and music hacker Braden Stadlman wrote in with a link to the Springatron 3000, a gigantic spring reverb made out of Slinky and cucumber:

This is basically a giant spring reverb made from 10 slinkys. I was trying to make the best sounding spring reverb possible, I think I achieved this but it is probably the most inconvenient spring reverb ever made. The reverb time (sustain) is so long that the springs need damping and I found that the best material for doing this is a slice of cucumber wedged under the end of each spring, other materials like foam or rubber tend to kill all the treble.


...Although it is very inconvenient as a reverb, it is very good for making horror sound effects by playing it with a violin bow.

This is just one of several DIY mechanical synths made by Nick of Nick's World of Synthesizers.

The Springatron 3000

Posted by Jason Striegel | Nov 26, 2008 09:30 PM
Music | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Iron Man suit powered by BeagleBoard and Arduino

The BeagleBoard is an incredibly little embedded system. It's Linux-powered, easy to hack, and has lots of connectors; everything from an expansion port with GPIO/I2C/SPI on up to HDMI. Pair it up with Arduino (don't miss our great Arduino gift guide), and you're unstoppable.

Enrique wrote in to tell us about the amazing BeagleBoard-powered project he made for his son:


For Halloween, my son wanted to be Iron Man. In about 2 months time, I integrated various gadgets into a store-bought costume. The most powerful components were BeagleBoard and Arduino. If I had more time, I would have added an overhead display in mask, a webcam for night vision, a 3G modem connected to BeagleBoard and maybe more. ;)

The suit is really tricked out:

  • Repulsor Air - Blows air with CO2 air pump on hip and hose back to his hand.
  • Repulsor Missile - Using CO2 air pump can also launch a paper missile.
  • Repulsor Sensor/Light - A magnetic switch sensor lights his repulsor hand light and fades out and in his glowing eyes. Arduino handles this effect.
  • Repulsor Sound Effect(s) - Originally not working. Worked around problem by using right-mouse, middle-mouse button and configured Elightenment17 to playback sound effects using Mplayer script. Mouse buttons activated by Arduino Digital output triggered by sensors.
  • Arc Reactor - A LED night light from Costco embedded in his chest.
  • BeagleBoard: Powerful Computer - With BeagleBoard already running in JARVUS box on my son's back need to add other features. Possibilities: Web cam, mobile router with hotspot and a head-mounted display, VoIP, streaming video of Iron Man view.
  • Arduino: Super Input/Output Board - Handles repulsor effects but can add other sensors to enable even cooler special effects!!

LinuxNerd: My son in an Iron Man Suit!

Posted by Brian Jepson | Nov 26, 2008 07:00 AM
Linux, arduino | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 25, 2008

Fuzebox - open source 8-bit game console

fuzebox_20081125.jpg

Ladyada released a new guide today which shows you how to make the Fusebox, an open source 8-bit console. It's based on the Uzebox project and provides you a fun Nintendo-like platform on which you can develop and play open source, homebrew games. Below is a video of the original Uzebox running the "AVR Megatris" Tertris clone:

The Fuzebox is a fully open-source, DIY 8-bit game console. It is designed specifically for people who know a little bit of programming to expand into designing and creating their own video games and demos. A full-featured core runs in the background and does all the video and audio processing so that your code stays clean and easy to understand.

You can build your own from scratch with the supplied documentation, or you can buy a kit from the Adafruit store and solder it together. Looks like a pretty fun project.

Fuzebox

Posted by Jason Striegel | Nov 25, 2008 11:00 PM
Electronics, Gaming | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 24, 2008

Tree command for Mac/Linux

tree_20081124.jpg

Murphy Mac sent us a link to a handy find/sed command that simulates the DOS tree command that you might be missing on your Mac or Linux box.

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

You can see the result in the image above. Like most things I've seen sed do, it does quite a bit in a single line of code and is completely impossible to read. Sure it's just a couple of substitutions, but like a jack in the box, it remains a surprise every time I run it.

Tree Command for Mac

Posted by Jason Striegel | Nov 24, 2008 10:47 PM
Linux, Mac | Permalink | Comments (3) | TrackBack | Digg It | Tag w/del.icio.us

November 23, 2008

iPod Touch can has Street View

touchstreetview_20081123.jpg

I'm not an iPod Touch owner, but from what I understand, the recent 2.2 firmware update killed the Street View feature in the Maps app (even though it's available in the iPhone update). Weird.

Turns out there's already a 2.2 Jailbreak released from the iPhone-Dev team, and as you can see from the photo above, timmyj9 from the iPod Touch Fans forum sorted out a quick hack that enables the missing Street View functionality.

Aside from Jailbreaking your device, the hack only involves making a minor XML update.

Enable Street View on Touch 2.2
Jailbreak tools for the 2.2 firmware

Posted by Jason Striegel | Nov 23, 2008 09:18 PM
iPhone, iPod | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 22, 2008

Hacking the Wiimote IR camera

wiimoteir_20081122.jpg

You can connect to the Wii remote over bluetooth or use an Arduino to send peripheral data to the Wiimote, but what if you want to interface directly with the Wiimote's IR camera? The sensor is particularly good at tracking coordinates for 1 to 4 points—it could be a simple way to add sophisticated tracking capabilities to your own project.

David Cranor writes,

There is a great site about hacking the wiimote IR camera to interface it with a computer - but it's all in Japanese! Perhaps you could post these links and see if anybody could translate it?


This page details how to desolder the camera itself and build a standalone circuit for it so that it can be connected to an I2C bus, and subsequently a computer (i think, anyway - the schematics are in English, and there's a video).

And this page talks about how to connect the camera to an Arduino via some of I2C shield that he's built.

I'd really like to have access to this information for my projects, so if somebody would be able to translate these pages, that would be awesome!

A quick run through Google's Japanese to English translator yielded a reasonably understandable result:

Wii IR sensor connection details
Connecting the Wii IR sensor to Arduino

The second link contains a wealth of information on talking to the IR sensor over I2C, including some details on adjusting sensitivity parameters. The translation is a little rough, but combined with some of the sample code, I think I have the gist of it:

To initialize the IR camera, you have two options: 1) a simple, default initialization or 2) an initialization that allows you to specify 4 configuration parameters that affect the sensitivity of the device.

Simple Initialization:
Just write the following byte sequences, with a small delay between writes (assumes a successful ACK). The first byte on each line is the register you are writing to.
0x30 0x01
0x30 0x08
0x06 0x90
0x08 0xC0
0x1A 0x40
0x33 0x33

Initialization with sensitivity setting:
The author defined 5 sensitivity levels, and there are four parameters (p0, p1, p2, p3) that are adjusted for each level. Here are the settings:

Level 1: p0 = 0x72, p1 = 0x20, p2 = 0x1F, p3 = 0x03
Level 2: p0 = 0xC8, p1 = 0x36, p2 = 0x35, p3 = 0x03
Level 3: p0 = 0xAA, p1 = 0x64, p2 = 0x63, p3 = 0x03
Level 4: p0 = 0x96, p1 = 0xB4, p2 = 0xB3, p3 = 0x04
Level 5: p0 = 0x96, p1 = 0xFE, p2 = 0xFE, p3 = 0x05

Quoting the Wiimote Wiki IR sensor page, these parameters correspond to:
p0: MAXSIZE: Maximum blob size. Wii uses values from 0x62 to 0xc8
p1: GAIN: Sensor Gain. Smaller values = higher gain
p2: GAINLIMIT: Sensor Gain Limit. Must be less than GAIN for camera to function. No other effect?
p3: MINSIZE: Minimum blob size. Wii uses values from 3 to 5

Either pick your own custom settings for the parameters, or choose them from one of the 5 levels above, then send the following data to the device:

0x30, 0x01
0x00, 0x02, 0x00, 0x00, 0x71, 0x01, 0x00, p0
0x07, 0x00, p1
0x1A, p2, p3
0x33, 0x03
0x30, 0x08

The author also links to the following source, which serves as a helloworld for reading sensor data directly from the IR camera:

Wii Remote IR sensor test for Arduino
Wii Remote IR sensor test for ATMEGA168

Finally, since the IR sensor is a 3.3v device, you'll want to do a little voltage conversion before interfacing it directly with a 5v device like your typical Arduino (Arduino Pro users don't have to do a thing). Sparkfun has a guide for using 3.3v electronics with 5v microcontrollers, which should be all you need. It makes me wonder if anyone sells a pre-built 3.3v shield.

Hopefully this is all you'll need to get things working. Make sure to send us a tip if you make something cool using the Wii IR sensor.

Previously:
HOWTO: Make a Wiimote peripheral
Hook your Wii nunchuck up to an Arduino

Posted by Jason Striegel | Nov 22, 2008 05:59 PM
Electronics | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 21, 2008

Bus Pirate - universal serial interface

buspirate_20081120.jpg

Ian Lesnet sent in a link to his Bus Pirate project, a universal bus adapter that lets you interface with most standard integrated circuit serial protocols at different voltages - all from you PC's serial port. The idea is that you can debug, test, and prototype ideas a lot faster if you don't have to breadboard an interface circuit every time you work with a new chip.

the bus pirate is a serial terminal bridge to multiple ic interface protocols. we type commands into a serial terminal on the computer. the commands go to the bus pirate through the pc serial port. the bus pirate talks to a microchip in the proper protocol, and returns the results to the pc.


all pins output 3.3volts, but are 5volt tolerant. on-board 3.3volt and 5volt power supplies are available to power the connected chip. software configurable i2c pull-up resistors complete the package.

the serial terminal interface works with any system: pc, mac, linux, palm pilots, wince devices, etc; no crapware required. we considered a usb device, but usb isn't compatible with the huge number of hand-held devices that have a serial port. we also wanted a 3.3volt device with 5volt tolerant inputs, but most popular through-hole usb microcontollers were 5volt parts (e.g. the pic18fx550).

The device supports i2c, spi, uart/serial, and raw 2-wire and 3-wire. It looks like a pretty handy little tool, and Ian has included all the information you need to build one of your own.

The Bus Pirate

Posted by Jason Striegel | Nov 21, 2008 08:53 PM
Electronics | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 20, 2008

Youtube in 720p HD - viewing and embedding

Last week I mentioned that adding &fmt=18 to a Youtube URL, or &ap=%2526fmt%3D18 to the embed code URLs allows you to view and embed Youtube clips in nice looking 480x360 resolution, encoded with the H.264 codec. The result is a much better playback experience than the standard 320x240 sorenson encoded clips, but a post today on webmonkey gives us another tweak that can produce even better results for some videos.

Above is an example of Collin Cunningham's brilliant LED investigation in high def.

By changing that fmt variable to &fmt=22 or tacking on &ap=%2526fmt%3D22 to the embed URLs—that's right, turn it up twice past 11—Youtube will kick out compatible videos at a whopping 720p resolution.

Here's some example embed code:

<object width="600" height="362"><param name="movie" value="http://www.youtube.com/v/P3PDLsJQcGI&hl=en&fs=1&rel=0&ap=%2526fmt%3D22"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/P3PDLsJQcGI&hl=en&fs=1&rel=0&ap=%2526fmt%3D22" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="362"></embed></object>

The only downside to embedding videos this way is that it really raises the bandwidth requirement for viewers. On my home connection, it can take several seconds before the video begins playback, and depending on how well my wireless is behaving, it's not uncommon that the download rate will be slower thank playback, requiring quite a bit of pre-buffering. On the other hand, some videos are just worth the wait.

How To: Watch YouTube Movies in Full 720p HD Glory

Posted by Jason Striegel | Nov 20, 2008 09:46 PM
Video, YouTube | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 19, 2008

Wii Theremin

Ken Moore, a user experience designer at Google, created a very convincing Theremin simulator using a Wiimote and a Roland JV-1080 synth.

I've seen a few Theremin simulators that use accelerometer data, in both Wiimote and iPhone form, but this is the first I've seen that does a good job of recreating an authentic Theremin experience in all its 50s sci-fi awesomeness. Using some IR gloves and the Wiimote's CCD, one hand's horizontal movement controls pitch and the other hand's vertical movement controls volume.

At just $35, the Wiimote is an AMAZING piece of technology. It has an infrared camera in it which tracks the position up to 4 infrared light sources. So I bought a pair of leather gloves, wired up a couple infrared LEDs to 1.5 volt batteries, and poked an LED through the tip of the index finger of each glove.


Then, I connected my Wiimote to my computer (the Wiimote also supports Bluetooth connections): building on top of Brian Peek's Wiimote hacking software library, I wrote a program which detects the two infrared gloves and converts the vertical position of the left hand to volume, and converts the horizontal position of the right hand to pitch. That information is then sent via MIDI to the synthesizer which creates the actual sound.

One of the more interesting possibilities with this setup is that by adjusting the synthesizer, you can use a Theremin-like interface to control a huge number of effects, not just the standard sci-fi sine wave. I wonder if Léon Theremin would approve.

Wii Theremin

Posted by Jason Striegel | Nov 19, 2008 09:03 PM
Electronics, Music | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

November 18, 2008

Backyard beekeeping - 120 pounds of honey

bees_20081118.jpg

treasure stolen gold
low the sun and busy bees
prepare for winter

We collected honey from our two backyard hives this fall and I've finally finished jarring it. The new hive, split from last year's hive, produced over 20 pounds of honey. This is more than our first hive produced last year, but the older hive was not to be outdone.

Queen Ann, in the second year of her reign, ran a very productive operation. Her daughters produced some of the lightest, most delightful honey I've ever had. The water content is so low that it pours out like a sheet of glass, folding at the bottom like you might expect from taffy.

honey1_20081118.jpg

From Ann's hive, we collected 100 pounds of honey, making the grand total 120 pounds between the two hives. This is the part we harvested. We leave enough behind for the bees to survive on during the long Minnesota winter, which amounts to another 80-100 pounds.

What's incredible is that all of this honey is produced from the flowers, trees, and vegetable gardens within a 2-3 mile radius of the hives. Two years ago, before I began this hobby, I wouldn't have thought this was possible in the city.

honey2_20081118.jpg

If you're interested in starting a backyard hive next spring, this is what you can look forward to. The real challenge of this urban agricultural experiment is to figure out what to do with the harvest.

Previously
Backyard beekeeping - splitting a hive

Posted by Jason Striegel | Nov 18, 2008 10:38 PM
Food, Home, Outdoor, Science, Survival | Permalink | Comments (7) | TrackBack | Digg It | Tag w/del.icio.us

November 17, 2008

Android hack - a smarter garage door opener

Brad Fitzpatrick created a garage door application for his G1 Android-based Google Phone. This would be noteworthy enough, but the interesting thing about Brad's hack is that it opens the garage door automatically as he approaches his home.

I got it all working. I now have an Android Activity (GarageDoorActivity) which interacts with an Android Service I wrote (InRangeService), letting me start and stop the service's wifi scanning task. The service gets the system WifiManager, holds a WifiLock to keep the radio active, and then does a Wifi scan every couple seconds, looking for my house.


When my house is in range, it does the magic HTTP request to my garage door opener's webserver (HMAC-signed timestamped URL, for non-replayability/forgeability if sniffed) and my garage door opens. Complete with a bunch of fun Toast notifications (like Growl) and Android Notifications (both persistent ongoing notifications for background scanning, and one-time notifications for things like the garage door actually opening).

So when Brad comes home, he starts the application which scans the WiFi network and then opens the garage door as soon as his home network is in range. He even describes an automated version where the phone constantly monitors the network for common scenarios. For instance, your if your phone sees your work network disappear, followed an hour later by your home network appearing, it could safely assume you have come home from work, opening the door without any interaction.

This is compelling support for a fully hackable, open source device. With normal iPhone development, you don't this level of deep access to be able to monitor WiFi connectivity or run an application as a background process.

Brad's released the source code for this one. If this app gives you any ideas, his code might be a good place to start. Just make sure to send us a link to your Android hack when you get your G1 to turn lights on and off when you walk around the house.

Android Garage Door Opener
Download the Java Source

Posted by Jason Striegel | Nov 17, 2008 09:25 PM
Android, Home, Java, Life, Mobile Phones | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

November 16, 2008

Bamboo bike frame

bambooframe_20081116.jpg

This DIY bamboo frame is absolutely beautiful. Appropriate, since it appears to have hand crafted with love for a significant other. Aaron writes:

The ride quality is TOTALLY SWEET! I realize that I have a bit of a bias, but truthfully I have ridden very few bikes that felt nicer. The bike seems to float over bumpy road surfaces, almost as if it were on giant baloon tires, but nope, they are just 700x23 clinchers pumped hard as rocks. My big worry was that I had not gotten the frame alignment right, but that seems dead on too; riding no-handed is no problem. Oh yeah, and it corners like a fricking roller coaster and it accelerates as fast as anything I've ever ridden. Maybe that's due to the fact that it weighs only 16.5 pounds! I had no idea that it was going to be so light and honestly did a full on "YESSSS!" complete with double fist pump when I hung it on the scale.

There isn't a huge amount of info about the build process, suffice it to say that it began with harvesting carefully selected bamboo and ended with over 100 hours of epoxy and carbon fiber work.

Aaron's Finished Bamboo Bike [thanks, nick]
Details on Making the Bike

Related from Make blog

bambooBike1.jpg

The Bamboo Bike Project is a collaboration between scientists and engineers at The Earth Institute at Columbia University and a bicycle builder at Calfee Design. The project aims to examine the feasibility of implementing cargo bikes made of bamboo as a sustainable form of transportation in Africa. The ultimate goals of the project are:
1.To build a better bike for poor Africans in rural areas.
2.To stimulate a bicycle building industry in Africa to satisfy local needs.

The Bamboo Bike Project


Making a Carbon Fiber Bike frame

From the pages of MAKE
carbonfiber_20081116.jpg
Working With Carbon Fiber - MAKE:09 p168

Posted by Jason Striegel | Nov 16, 2008 07:34 PM
Transportation | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Next Page
Most recent posts: page 1 of 6 1 2 3 4 5 6
Browse the complete archive by category or month.

Bloggers

Welcome to the Hacks Blog!

Brian Jepson.Brian Jepson


Jason Striegel.Jason Striegel


Philip Torrone.Phillip Torrone



See all of the books in the Hacks Series!
Advertise here.

Recent Posts

www.flickr.com
photos in Hacks More photos in Hacks