Electric Long-board


When this year’s lock-down started a few months ago, I finally bought myself a long-board so that I could keep up with the kids on their bikes or scooters when exercising.
It didn’t take long before I remembered that I always wanted to build an electric "toy" that could carry myself.
I contemplated a bike, a Go Kart and others, but it’s always been pretty obvious that the easiest to attempt would be a skateboard…

Read more of this post

RC Car Electronics


This, to some extent, is a continuation of this post, where I replaced the motors and some gears to fix one of my son’s RC cars.

I remove the electronics and replace them completely, including the remote for which I now use a freshly made wireless Wii Nunchuck.

The results are far from impressive in terms of manoeuvrability, but it was really fun to build and I think the handling can still be improved by tweaking the mix between the 2 joystick axes.

Read more of this post

Wii Motion plus Gyros on RaspberryPi


Here’s a really quick post about the Wii Motion Plus (again !) and how to make it work with the Raspberry Pi…

I’ve connected this nice little device to an Arduino (obviously ! 🙂 ), to a IOIO board, a FEZ Domino and even to an obscure TI Arm board, the LM3S8962 using CooCox… so it was only right that I connect it to my “new” Raspberry Pi board.

Connecting the Wii Motion Plus to the Raspberry Pi board

Connecting the Wii Motion Plus to the Raspberry Pi board

Read more of this post

Android IOIO Wii Motion Plus – Gyroscopes


First of all, the more I work with Android, the more I love it … ! It’s so cool to have both Linux and Java and everything is so open and hackable … !

Wii Motion Plus connected to the IOIO board and then to the Android phone

Read more of this post

Android IOIO Wii Nunchuck


I’ve already written a post about how to connect the Wii Nunchuck to the Lego NXT using LeJOS, and there is also information on my blog about how to do the same thing with an Arduino (though I can’t find it right now, so no easy link…).

It’s only fair that I explore the same thing with an Android phone and the IOIO board.

Read more of this post

Tiger 1 BB airsoft RC Tank – V3


This is the sequel of 2 other posts describing previous work on this project:

It also builds on this previous post, which is all about interfacing the WiiMote IR Camera with the NXT and tracking an IR LED with a Lego motor.

11Jun2011 – FINALLY !!!

Everything seems to work nicely together now it not only tracks and locks on the target, but it finally shoots PLASTIC PELLETS !

Read more of this post

WiiMote IR Camera with Lego NXT Brick – LeJOS


This previous post talks about how to connect a IR Camera from a WiiMote to an Arduino.

There’s also this one, talking about how to connect it to the .NET micro framework, FEZ Domino board (which also has hardware details on how to extract the mentionned camera and solder it on its own little board…).

It’s therefore time I wrote a quick post, on how to interface this wonderful camera with a Lego NXT Brick, programmed in Java thanks to LeJOS !

WiiMote IR Camera and Lego NXT - LeJOS

Read more of this post

WiiMote IR Camera with Arduino


This post shows how to extract the IR Camera from the WiiMote and connect it to a .NET micro framework board (FEZ Domino in my case).

The present blog is simply a porting of the C# code to Arduino code, in case anybody is interested…

It’s a very basic file, really showing just the minimum necessary to get it working.


#include <Wire.h>

const byte ADDR_SENSOR = 0xB0 >> 1;
byte buff[2];
byte recvBuff[13];

int x, y, s;

void setup(){
Serial.begin(115200);
Wire.begin();

send(0x30, 0x01 );
send( 0x30, 0x08 );
send( 0x06, 0x90 );
send( 0x08, 0xC0 );
send( 0x1A, 0x40 );
send( 0x33, 0x03 );
send( 0x30, 0x08 );

delay(100);
}

void loop(){
readData();
Serial.print(x); Serial.print(" / "); Serial.print(y); Serial.print(" / "); Serial.println(s);
delay(300);
}

void readData()
{
send( 0x36 );
Wire.requestFrom(ADDR_SENSOR, (byte)13);
for(byte i=0; i<13; i++) recvBuff[i] = Wire.receive();

// have no idea why the 1st BLOB start at 1 not 0....
byte offset = 1;
x = recvBuff[offset];
y = recvBuff[offset + 1];
int extra = recvBuff[offset + 2];
x += (extra & 0x30) << 4;
y += (extra & 0xC0) << 2;
s = (extra & 0x0F);
}

void send(byte val){
Wire.beginTransmission(ADDR_SENSOR);
Wire.send(val);
Wire.endTransmission();
delay(10);
}

void send(byte val1, byte val2){
Wire.beginTransmission(ADDR_SENSOR);
buff[0] = val1; buff[1] = val2;
Wire.send(buff, 2);
Wire.endTransmission();
delay(10);
}

The WiiMote and FEZ Domino


at the beginning....

FEZ Domino I2C

The I2C pins on the Domino board are:

  • Di2 – SDA
  • Di3 – SCL

Both Di2 and Di3 are open drain pins with 2.2K pull up resistors.

Read more of this post