Last Friday we bought a full RGB neopixel strip (unfortunately, Lighting Plus didn’t have the addressable ones, so we had to go to Tinkesphere again).

The one we bought had 60 pixels and once we plugged it in, they were all so dim because of not enough current.

To change that we tried the external power source. We took the one from ITP shop and Shir also had a power jack to connect a 12V battery.
Lesson learnt: if we keep using neopixel strip we will always need external power supply, which may make things a bit complicated and literally heavier for a 3-year old.

2015-11-25 16.04.23 2015-11-25 16.28.36 2015-11-25 16.29.06

Update: Saturday, November 28

CNCing new parts

We remeasured the wood blocks to be exact fit for the neopixel strip as well as the circuit (we want to hide the Arduino Micro inside to make the entire object mobile). Shir made new Illustrator files for the new prototypes and is going to CNC it later.

2015-11-28 16.46.34

Second years Maya and Abhishek helped with the 3D design. First try to cut wasn’t so successful because the speed got too fast (or something else):

2015-11-28 15.54.39 2015-11-28 15.57.18

Second try… worked better but still was too fast so parts of the wood broke:

2015-11-28 17.15.12 2015-11-28 17.15.36


Ruta managed the code to light single neopixel to be of different color, as such we can do first 18 neopixels red, and the other 15 to be green (and so on) by running one sketch.

Processed with VSCOcam with c1 preset

2015-11-28 16.51.39

Here’s the code:

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN            6
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS      60
// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 100; // delay for half a second
void setup() {
  // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
  if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  // End of trinket special code
  pixels.begin(); // This initializes the NeoPixel library.
void loop() {
  for (int i = 0; i < NUMPIXELS; i++) {
    if (i <= 10) {
      pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // red color
    } else if (i > 10 && i <= 25) {
      pixels.setPixelColor(i, pixels.Color(0, 255, 0)); // green color
    } else if (i > 25 && i <= 40) {
      pixels.setPixelColor(i, pixels.Color(255, 150, 0)); // grey color
    } else if (i > 40 && i <= 60) {
      pixels.setPixelColor(i, pixels.Color (150, 150, 150)); // blue color

The basic color code is going to be initially coded by us and parents will have an opportunity to change the color (we would provide the tutorial and code how to make it happen). For example: when the kids puts the middle piece on the ground one, the ground one lights up in red; when the kid puts the top piece on the middle one, the middle one lights up in green.

The remaining questions to figure out are:

  • what our external power supply is going to be (and how big)
  • how to hide it
  • what we’ll be using as a switch to make the wooden blocks touch? (As mentioned in the previous post it can either be resistor, photocell, etc.)

We want to make the whole thing as simple as possible, so we eventually agreed on making the switch by simply connecting the power supply wire to the neopixel data wire. One of them would be in the base piece, another in the middle and when they touch, the strip lights up.
More about experimenting in the next blog post.

For now the pieces look like this:

2015-11-28 17.08.24

2015-11-28 17.08.39

2015-11-28 17.08.51

2015-11-28 17.08.01

Leave a Reply

Your email address will not be published. Required fields are marked *