P5 Glove – Rock Paper Scissors and other fun

The P5 Glove is a consumer wired glove (tactile but not haptic). I bought one boxed as-new on eBay a while ago for not very much, and I’m glad I did as they now seem to be increasingly hard (and expensive) to get hold of.

P5 Glove

P5 Glove    P5 Glove (Rock!)

It contains five analog bend sensors, 3 buttons plus in theory x, y and z coordinates and yaw, pitch and roll (it emits IR which is picked up by a big USB IR tower so it knows where your hand is in space).

Here’s the P5 Glove intro movie…

I say in theory because while the p5osc Mac drivers handle the bend sensors very well the x/y/z output is jittery and yaw/pitch/roll sadly non-existent.

I’ve been experimenting with bridging the outputs for the buttons, fingers and thumb into MIDI custom controls so that I mess around with them in ControllerMate. Here’s a demo of a simple setup which detects whether each digit is straight or bent, and uses that to determine whether your hand is describing a rock, paper or scissors shape. For now, it just displays ‘Rock’, ‘Paper’ or ‘Scissors’ in large type on the screen but it would be pretty straightforward to turn this into a simple game.

P5 Glove – MIDI Rock Paper Scissors from rooreynolds on Vimeo.

Here’s the ControllerMate patch I made to do it (click through for the annotated version on Flickr).

ControllerMate VR Glove MIDI Rock-Paper-Scissors

Lots more fun to be had here with virtual pianos and guitar strings too; arpeggiating the MIDI guitar, for example.

Microprinter

Inspired by Tom Taylor’s microprinter project, I’ve bought a Citizen CBM-231 thermal reciept printer of my own. I picked it up for just £20 on eBay, including shipping. It’s great.

Tom uses his to print the weather, his diary, where his friends are (according to Dopplr) and more. As soon as I saw it, I wanted one of my own to hack with. Reciepts, printed on cheap and recyclable thermal paper, are perfect for directions, schedules, TODO lists and other impermanent bits and pieces you might want to carry while you’re offline. I also like the idea of it politely telling me what I’m up to as part of my morning waking-up ritual. I have a feeling that the soft sound printing and the ‘clunk’ of the auto-cutting blade will be a nice start to the day.

Citizen CBM-231 Citizen CBM-231 Arduino Hacked cable MAX3221 Barcodes!

(More photos)

A few hours of soldering and programming later, and I’m quite a happy hacker. I’ve put an Arduino sketch on github which shows how to easily print text and barcodes to the printer from an Arduino. It’s just a sketch at the moment, but I’ll turn it into a reusable library soon.  With a few utility methods and constants, a “hello world” with two barcodes ends up looking as simple as this…

println("Hello, World!");
feed();
setBarcodeTextPosition(barcodePrintBelow);
setBarcodeHeight(200);
setBarcodeWidth(barcodeWide);
printBarcode("123456789012");
feed();
setBarcodeHeight(50);
setBarcodeWidth(barcodeNarrow);
printBarcode("123456789012");
feed();
cut();

I think it can print bitmaps too. With a bit of work it should be able to print sparklines and QR Codes.

I know Tom has inspired a lot of people, and there are quite a few of these Citizen CBM-231 printers being repurposed at the moment. If you’re interested in building your own microprinter, you’ll hopefully find the wiki at microprinter.pbwiki.com useful.

Update: more microprinting fun including a book and sparklines.

Toshiba Qosmio G40

I recently received a very generous and interesting offer from TalkToshiba; they offered to lend me a laptop on the condition that I write an honest review of it. I get to play with a nice toy for a few weeks, you (and they) get to hear how I got on with it. Sounds fair to me. Let me make that perfectly clear: if the offer had been on the condition that I write a positive review, I’d have said no. The fact that they asked me to “post up your thoughts about the laptop on your blog … whether they be good or bad” and being able to tell the truth about the machine is the only reason I even considered it.

Unpacking it (from a big, heavy box that I’d assumed would be mostly packing material. Oh no, it really is that size) my first reaction was that I had never seen a bigger, heavier laptop. Opening it, I was struck by the distinctive design. Shiny, intricate and odd. Over time, that wore off and I now think of it as odd, and more than a tiny bit irritating. That’s partly because this isn’t the right laptop for me. Commuting every day means I value portability. Don’t expect this to be portable. It truly is a desktop replacement. In fact, you’ll want to plug in a mouse and keyboard too, because the layout is pretty dreadful.

On the plus side, it is quite powerful, has every connection you’d ever need, and the sound quality is amazingly good. When it did sometimes feel sluggish, I blamed the fact it was running Windows Vista. Oh, how I hate Vista. That’s not Toshiba’s fault though, and I should have installed Linux really.

Here’s what it looks like. The speakers vents are huge, and the visual aesthetic here seems to be ‘turbine’.

Speaker (which looks like a turbine)

It’s big. Here it is stacked up against my wife’s MacBook and my MacBook Pro. The two put together are almost exactly the same height as the G40.

Width Comparison

And here it is up against my MacBook Air. Perhaps not a fair comparison, but look at it. Insanity.

Width Comparison

It’s covered in unnecessarily bright and numerous blinkenlighten. Not very soothing on the eyes.

Controls

The biggest problem, especially given the machine’s generous proportions, is having a teensy-tiny trackpad with two teensy tiny buttons, with a fingerprint device right in the middle, just in the way. The design is, frankly, dreadful.

Trackpads, compared

The MacBook Air, despite being a much smaller laptop, makes room for a good-sized trackpad. There’s no excuse for a monster like the Qosmio G40 to have me scratching around on a surface half the size.

Size Comparison

Good points

  • I liked having a fingerprint reader to log in. Probably my favourite thing about it, and the one feature I now miss on my MacBook Pro and Air
  • Having 5 (!) USB ports, and good connectivity generally. HDMI, s-video, SD/Memory Stick etc, even coax TV-antenna, I was almost expecting to see a SCART socket on this thing
  • Good speakers, nice and loud with the best and most sound quality I have ever heard on any laptop
  • Reasonably powerful

Bad points

  • Unnecessarily ugly with lots of wasted space. 17″ inch screen feels small
  • The screen seemed quite dim too. Certainly dimmer than the Pro or Air, even when powered by mains and turned up all the way
  • Dreadful layout: tiny little trackpad with tiny little mouse buttons and a fingerprint reader plonked in the middle of it making it even more uncomfortable to use. I like the fingerprint reader, it’s just in the wrong place. The whole layout somehow manages to feel sprawling and cramped at the same time; I kept pressing the navigation wheel thing on the right when reaching for Return (pressing the soft touch ‘back’ button)
  • No way (that I found) of dimming the enormous numbers of decorative lights
  • HD-DVD. Seriously. I think the battle between BluRay and HD-DVD has been decided, hasn’t it?

It’s doesn’t really matter though because, being over a year old now, Toshiba no longer sells this laptop. The G50 has an even bigger (and I hope brighter) screen, but I don’t think I’ll be buying on. I like my laptops to be something I can put on my lap without fear of injury, and I returned the G40 without being terribly sad to see the back of it. Thanks to TalkToshiba for the loan though.

(More photos on Flickr if you’re interested.)

We could be guitar heroes

Before I went on holiday, I began to think about getting my Rock Band guitar controller to act as a MIDI instrument in GarageBand. I’m still fiddling with it, and since implementing a couple of extra features, I’m increasingly happy with the results.

The setup in ControllerMate, initially quite straightforward, is gradually becoming fairly hairy. Here’s what it looks like now. Click through to see a bigger, annotated version.

Rock Band controller MIDI setup in ControllerMate

Features:

  • Sends MIDI notes based on the fret you are holding while strumming up or down. Release the fret to stop the note, exactly as you’d expect in Rock Band or Guitar Hero.
  • Pick a major key by holding a fret button and tapping ‘Start’. First fret (green button) + start = C major, second fret = D, etc.
  • Hold ‘Back’ while picking a key to make it minor. e.g. 3rd fret + ‘Back’ + ‘Start’ = E minor. Update: in the most recent version, you just hold a fret and hit ‘back’ (rather than ‘back’ + ’start’ together)
  • Additionally hold the next fret up to make it sharp. e.g. 1st + 2nd fret + ‘Start’ = C# major. 2nd + 3rd fret = ‘Back’ + ‘Start’ = D# minor.
  • Within the chosen key, first fret (green button) is the root note, while the others are intervals on the major/minor pentatonic scale. e.g. for C major, the frets are C, D, E, G, A. For C minor they are C, Eb, F, G, Bb.
  • Move the pickup selector to the 2nd position to engage ‘drone’ mode, in which the root note for the current key is played on a second MIDI channel whenever it is played. Handy for having a different MIDI voice sustaining the chord. I’d like to add ‘chord’ and ’strum’ and ‘arpeggiate’ modes in other pickup switch positions, though I think strumming and arpeggiating could be better handled by plugins responding to simpler MIDI notes which represent the current chord.
  • The whammy bar controls the MIDI pitch bend. Different VST plugins choose to respond to pitch bend in different ways, so depending on your instrument you can even set this up to be a guitar slide rather than a simple bend.
  • Left and right on the D pad to move up and down by 7 semitones. allowing you to explore the circle of fifths. Sort of. This bit needs some more work.
  • Upper set of frets play up an octave.

If you’ve got a Rock Band guitar and want to use it as MIDI instrument, in GarageBand or anything else, I’m very happy to make the current version of my patch available. Most of the features should work with the Guitar Hero controller too, though I have not tried this yet. Let me know if you want to try my setup and don’t fancy re-creating it from the picture above, though obviously you’ll need the MIDI-enabled beta of ControllerMate, which is available to paying ControllerMate users who have paired their registration details with their forum membership, on the beta forum.

I think ControllerMate is easily worth the $15, and access to the MIDI-aware beta should make it an even easier decision.

Background / further reading:

Headphone Fun

I have a pair of JVC HA-FX300B sound isolation headphones which

come with three different sized silicon rubber earpieces and a pair of memory foam earpieces for a customized fit

They look like this

JVC HA-FX300B Headphones

and cost me a bit less than $100 (somehow I only buy headphones in airports, and usually American airports). These rely on a good fit from the memory foam to block out external noise. It’s a lot like popping in a pair of earplugs, but with built in headphones.

I have a pair of Sony MDR-NC22 noise cancelling headphones. These

have an inside microphone on each earpiece that work with an electronic circuitry to create an opposite sound wave to reduce wave. Up to 75% ambient noise cancellation (12dB at 30Hz)

They look like this

Sony MDR-NC22 Headphones

and also cost me a little bit less than $100.

Taking the memory foam earpieces from the JVC HA-FX300Bs and fitting them to the Sony MDR-NC22s cost me nothing, and really works. The fit is (just) good enough that the memory foam pieces don’t fall off and get stuck in your ear canal, which is what I was scared of when I first tried it and still terrifies me. Apart from that, I can’t see any reason not to upgrade them in this way; now I have the best of both worlds: sound isolation and noise cancelling. Great for long flights.

She Went Of Her Own Accord (.com)

In case you missed it, the super secret new side-project has finally gone live.

She Went Of Her Own Accord (.com)

Nick and I have wanted to do this for a few years. I registered the domain recently and we quietly hacked an instance of WordPress in our spare time last week to get something usable in place. Today, shewentofherownaccord.com is a modest but fast-growing user contributed collection of jokes. Specifically, and this is important, jokes in the following form:

My wife’s gone to the Caribbean.

Jamaica?

No, she went of her own accord.

There are as many of these jokes as there are place names and the imagination to create (sometimes quite convoluted) puns with them. The 1st line is a setup, 2nd line is a place-pun, 3rd line is a retort. It’s all about respecting the constraints of the form, in the same way that Haiku are more beautiful because of the constraints, not despite them.

My favourite feature – and I can say this with full modesty because, as with most of the interesting features, Nick added it – is the master map.

Jamiaca?

In the four days since we quietly launched the site it has already grown from 24 to 62 jokes meaning that we’ve already reached a stage where user contributions outnumber our own. Some of them are really funny too (someone calling himself Gruff has been responsible for some of my favourites so far).

There’s lots of work still to do but if you’re inspired to add your own or want to find out more then come join us. It’s already a lot of fun.

I’m, like, totally serial!

I hooked up an old Matrix Orbital LK205-24-USB LCD display with my Arduino today. This 80-character backlit display can be plugged into a computer using the handy dandy USB cable (hence the -USB part of the name) but it turns out it has a 5V TTL serial jumper on the back which can provide power the display, as well as an alternative means to control it.

Arduino + Matrix Orbital LCD display

It was incredibly quick and easy to get it connected up to my new favourite toy, the Arduino. The one thing that took me a few moments to realise (as in, “why isn’t this working? Oh…”) is that the Receive and Transmit pins are relative rather than absolute. It sounds stupid to say it now, but the Rx pin on the Arduino has to be connected to the Tx pin on the LCD display, and vice versa.

Arduino + Matrix Orbital LCD display

It was also a chance to learn how to use the excellent Arduino SoftwareSerial library, which lets you use digital pins as virtual serial connections. Especially handy if you want to have multiple serial connections at one (for example, if you want to continue to use the built in serial port for sending and receiving data from the computer). It even seems to work at 19200 baud required for this display, which I wasn’t expecting. The same thing will work nicely for the Current Cost device (which spits out 3.3V TTL serial at 2400 or 9600 baud depending on the model) too.

Here’s a little Arduino sketch I cobbled together, based on the Software Serial example and this Serial LCD tutorial.

#include <SoftwareSerial.h>
#define rxPin 6 // software Rx pin (connect to Tx on LCD)
#define txPin 7 // software Tx pin (connect to Rx on LCD)

// set up a new serial port
SoftwareSerial swSerial =  SoftwareSerial(rxPin, txPin);

void setup()  {
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  // set the data rate for the SoftwareSerial port
  swSerial.begin(19200);
  // and set the date rate for the real serial port
  Serial.begin(9600);
  delay(100); // (can't use port immediately?)
  clearLCD();
  swSerial.print("Hello, world!");
}

void loop() {
   // retransmit bytes read from the computer to LCD
   if (Serial.available() > 0) {
      byte inchar = Serial.read();
      swSerial.print(inchar);
   }
}

// Clear the LCD (works with my Matrix Orbital LK204-24-USB)
// See http://www.arduino.cc/playground/Learning/SerialLCD
// (and compare with your LCD display docs)
// for many more LCD display helper functions.
void clearLCD(){
  swSerial.print(254, BYTE);
  swSerial.print(88, BYTE);
}

I’m thinking about turning it into an in-house Twitter display, or possibly something which lets me check the artist and title of the current iTunes track being played on our Mac-Mini-acting-as-a-living-room-media-center without having to turn on the television. That’s something I find myself doing at least, ooh, a couple of times per month, so of course a massively overengineered solution technical would be perfect. I have a feeling that as soon as I start using it, I’ll want to use it for more things.

ETS Rocket Day 2.0

I joined the IBM Hursley ETS (Emerging Technology Services) team just a few weeks after their first Rocket Day in 2005. Today was version 2.0, and it was the most fun team-building day out you can imagine; a field full of geeks and their (water, air and coke-and-mentos powered) rockets, cameras, access to good food and great beer. Good times.

I took some photos and videos, and there’s also a Flickr group containing photos from the day.

Best of all, Rob made a video which includes some footage captured using a tiny camera fixed to the nose of one of the rockets. There’s a long version on YouTube. Here’s the short ‘trailer’ version (music by yours truly).

What’s in my bag

I’ve been meaning to do one of these for ages.

See it complete with notes on Flickr.

What’s the Matter?

I had a nice surprise waiting for me at home after a weekend away: a ‘Matter’ box, the latest project from Artomatic.

Matter Box Matter Box - contents unwrapped Matter Box - Stoi pin Matter Box - packaging

The Matter blog describes the contents better than I can. It also describes the philosophy behind it:

The idea behind Matter is to create a new kind of communications channel around the idea of giving people stuff. … In a world that seems to be increasingly dominated by digital communications, and where the net effect of those media is to render our experiences as being somewhat remote, the idea is to balance that by providing a way for advertisers and companies to start talking to people by giving them things.

It was Andy Piper, via del.icio.us, who put me onto it in the first place (thanks Andy), and I notice that he’s already got a review including a nice little unboxing video up on this blog. Dale Lane wrote up his (two) to. Bobbie Johnson has a great, thoughtful post too.

While rummaging around Flickr today I was interested to see that Adam Crowe has spotted a ‘rabbit hole’ (e.g. a hidden clue, the beginning of something else, in this case a party invite) in the Stoli leaflet.

Considering it’s free, there are some impressively cute and useful things in there. The thing that impressed me most though was the large percentage of recyclable paper and cardboard used in the packaging. The Nissan crayon soaps are packaged in a plastic box and there are small amounts of cellophane used by the Evo trumps and the Sony-Ericsson Music Monster. Everything else is packaged in card and paper, which a a very good thing indeed.

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
The postings on this site are my own and don't necessarily represent my employer's positions, strategies or opinions.