Cable for interfacing a LEGO NXT brick to a Canon camera running CHDK

For a couple of my projects i needed a way to trigger (or talk to) the CHDK firmware running
on a canon camera directly from the LEGO NXT brick. 

Problem is, that the NXT sensor level is 3.3v TTL and the camera. in my case
a canon ixus SD1100is has a minimum trigger voltage according to the wiki (and tested)
of more than 3.3v

several ways to do this with transistors, mosfets and TTL chips.

i decided to use a simple "dubble inverter".  it consists of two NPN transistors,
the first "bumps" the voltage from 3.3v TTL level, to the 4.3v available from the NXT Supply (pin 4)
but inverts the logic.  so the second transistor was added to inverts it back for simplicity..


sorry about the hand drawn schematic of poor quality.
and i didn't do much figuring on the resistor values. as i just used what i had.
and the whole thing was made to fit into a piece of installation cable outer sheet.
and glued firmly in place with hot glue, once tested!.

2  BC239 or Equivalent NPN transistors
1  100 ohm resistor
1  47 Kohm resistor
1  10 Kohm resistor
1  Mini usb cable
1  NXT compatible cable  http://www.philohome.com/nxtplug/nxtplug.htm
1  casing (installation cable)  Solder, wires, tools

#1 Cut a NXT cable (or in my case make your own.)
#2 Solder up the bits, bird nest style so they fit your choice of casing
#3 Test it (properly)
#4 Add lots of glue

Using the stock LEGO NXT software, the camera can be triggered by
using the "light sensor brick"
turning on the sensor light gives (TTL 4.3v high)
and depending on CHDK setup and configuration. turning it on and off twice with
a delay between will trigger the camera.

This is just an example of how i trigger my sd1100is. you may need to
adjust / optimise to your need.


I can't recommend this microhack to anyone, as I'm sure it Voids most warranties..
trying this, you are likely to damage both your NXT Brick, Camara the tools used,
your table and computer.
and you may hurt yourself or someone else really badly..

/Rune Kyndal