Make a Wearable Nina's Eyes T-Shirt

Want to create a wearable Ninja Blocks Device?  Here's how.


You will need:

  1. A Ninja Blocks T-Shirt (For the eyes, of course)
  2. Two RGB LEDs
  3. A small Arduino.  I've used a Nano
  4. A 433MHz RF receiver module
  5. Thin wire; assorted colours- yellow, red, green, blue
  6. 330R resistors x 6
  7. The provided sketch, available at



Wearable electronics can be rather useful, as what you wear is what you have on your person, and that's jolly handy.  (Or torso-ey in this case).  This example is admittedly a little silly, but nothing gets the respect of your fellow geeks quite like LEDs in places they're not normally seen.


Get to Steppin'


Step 1 Prepare the LEDs

My goal for the shirt was for the LEDs to be as well hidden as possible.  This required the smallest LEDs I could find.  These RGB LEDs are tiny- only 3mm square.  I can appreciate that not everybody enjoys soldering under a microscope, but if you've not done this before I can't recommend it enough- it's amazing how steady your hand can be when your eyes can see at a small scale.

In the photo below you'll see that I have pre-soldered the pads of the RGB LED.


Step 2 Solder the wires to the LEDs


Here is the first wire soldered in place.  It's a green wire that tells me it's meant to go on the green component of the RGB LED.  I used wire wrapping wire because it's nice and thin.

Solder up the RGB LEDs with all of their wires.  These LEDs are common anode.  If I had thought about it more beforehand I would've not used the black wire but a yellow wire instead to represent this common anode.


Step 3 Measure up

You remember the old adage "measure twice sew once"?  

I determined that the inter-pupil spacing on Nina's eyes is just about exactly 60 mm.


Step 4 Prepare the LED plate

I found a piece of acrylic that was pre-bent that I could use to insert the LEDs.  In this photo you can see clamps holding down a connector that is superglued to the acrylic base plate.  I drilled holes for the LEDs. you can see that I didn't get it quite right the first time so I simply drilled another hole.


Step 5 Prepare to sew the plate to the shirt

Here is the LED unit ready to be sewed on.  I have turned the shirt inside out.  That might seem an obvious step, but I'd like to make it explicit.  You can see I've drilled four small holes to accept the thread as well as rounded off the edges of the acrylic.  It's no fun being poked in the chest if it's not what you asked for.


Step 6 Sew the plate to the shirt.

I don't have a photo of me sewing. Here is a photo of me welding instead.


Step 7 Wire up a connector and test the LEDs

Use a matching connector and connect wires for each LED colour component.  Use a LED tester to ensure that all of the connections are correct.


Step 8 Attach the connector to your Arduino and run the Sketch in TESTMODE

Wire the connector to your Arduino, using low value (330R is fine) resistors for each of the colour components.  You need to do this to prevent the different colour components from dominating the display.  If you didn't do this your circuit would still work but you would find colour mixing very difficult.

Here is a 'Hello Red World' in action.  You can see my sewing skills are nothing of the sort.  This photo was taken with the Arduino running at only 3V from a battery pack.  Using LED driver circuitry is also a good idea.  On the other hand, nothing says 'w*nker' like an overly illuminated geek.

At the top of the sketch you'll see provision to set TESTMODE to true.  When you do this, the eyes will flash red, green and blue on a loop so that you can make sure everything is working.  They flash increasingly quickly.  I've been told this builds tension.


Step 9 Control Nina's Eyes from your Dashboard.

It's possible to create an Ethernet enabled Arduino to fool your Dashboard into thinking that your shirt is a normal Nina's Eyes device (by using the same ID and implementing the expected functions- see "Tutorial Ten - "EtherNinja" Connecting your Ethernet enabled Arduino to the Ninja Platform" at ) but for now the easiest way is to add custom RF codes to your Dashboard.  You'll find the codes you need at the top of the sketch, next to the decimal representation of each code.


Press on 'Listen'.

Then choose 'Use custom RF':

Now you have a space in which you can enter the hex codes provided in the sketch:

Enter '88B8' - that's the code for 'Arm Red' (Meaning, 'get ready to receive a red colour value').

Choose 'Actuator' and name it 'Arm Red':

Continue in this fashion for the rest of the codes.  For 'Off', 'Mid' and 'Full' use 9C40, 9CC0, and 9D3F respectively:

In your own applications you'll want to define a higher-level interface that this, but this one suffices and is very quick to set up.  Do I need to mention that now you can totes use these actuators in your rules as you would any other?  I didn't think so.


Step 10: Strut! 

(A Limitless LED was used for effect)


Angry Red!


Cool Blue, baby..


Happy Hippy Green, man.


Ninja Purple!



Further Thoughts

Would you like to see a video of the Nina Shirt in action?  Got any ideas for how it could be used?  Let us know in the forums at

Here are some ideas I had.  If you had these ideas too one could say that we've had these ideas.

  • When one of your devs breaks the build, their shirt turns red
  • Mood indicator
  • Interpretive dance extended exposure photography


Stay Ninja!

Justin Clayden
Justin Clayden