Damien works with students and teacher from around the world, bringing the effective use of technology to the classroom.  

Damien is a member of the MCP (Mindstorms Community Program), a small group of experts who collaborate with LEGO to make the MINDSTORM product better.

VEX IQ Robotics
Damien is a member of the VEX IQ Super User group, a small group of experts who collaborate with VEX to make the VEX IQ platform a better product 



Teacher Resource Books

Global Map

See where the DomaBot and RileyRover is being used around the world


Sideshow Alley Clown Game

This sideshow alley clown game was built with just the parts from the NXT2.0 Kit. No sensor and just 1 motors, but a fun game none-the-less. The clown is a little scary, but the best I could do with the limited parts. Unfortunately I didn't get around to doing up building instructions for this one.


NXT Puppy Dog

This robot design was inspired by the amazing creations of Theo Jansen. The leg design is based on a six bar linkage which I best found explained at


Card Dealing Robot

A robot that deals cards for poker. This robot deals from the bottom of the pack using an NXT wheel to draw out a card. A second NXT wheel spinning 5 times quicker then 'spits' out the card. The whole device is mounted on a turntable to allow the robot to deal into different position.


Clap Back Robot

This robot samples any loud sounds and keeps track of the time between each. It then plays back the rhythm by tapping on a plastic container. The code is written in NXC and is a good example of how arrays can be used.



task main(){

int time[20]; //Take a maximum of 20 samples

long t0;

int i=0;

int x=1;

SetSensorSound(IN_1); /* Setup port 1 as sound sensor */

t0 = CurrentTick();/* Grab the current reading of the timer */


/* Loop while the difference between the current timer and the initial timer is less than 5 seconds */

while ((CurrentTick()-t0) < 5000) {

if(Sensor(IN_1) < 30) {   /* If the sensors hears a loud sound, record the timer value */

time[i] = CurrentTick()-t0;


until(Sensor(IN_1) < 29); /* Wait until that sound has dissapated before looking for the next */




/* Start taps */

OnFwd(OUT_A, 100); Wait(75);

OnRev(OUT_A, 100); Wait(75);


for(x=1;x<20;x++) {  

if(time[x]==0){   /* If the difference is 0, that means that there are no more claps recorded */



/* Wait for the time difference between each clap don't forget that tap also takes up a certain amount of time */

Wait( time[x]-time[x-1]-150);

OnFwd(OUT_A, 100);  Wait(75);

OnRev(OUT_A, 100); Wait(75);






Page 1 ... 6 7 8 9 10