Time for another kit review. Well, perhaps not a kit, but an educational system designed for a beginner to start doing things, fun and educational things, with an Arduino. From Seeedstudio comes their “Electronic Brick” Starter Kit. What on earth could this be all about, you ask?

Imagine a system of components, that connect together easily, can be reused, to work with an Arduino Uno or compatible – allowing you to experiment, learn and rapidly prototype projects with ease and safety… This is it!

Sort of like electronic LEGO for Arduino…

Let’s have a look…

First of all, it comes in a nice box, keeping all the goodies safe and sound. Although an Arduino board nor USB cable is included, they could also fit inside this box in a pinch.

But what are all these things in there? The “bricks” are basically little PCBs with a particular component mounted on it, an interface circuit if necessary, and a connector that matches the wires included in the starter kit.

From left to right, top to bottom, we have: a terminal block to interface with a pair of wires, a push button, a piezo buzzer, a potentiometer, a light-dependent resistor, a green LED, a tilt switch (bearing in a tube, not mercury), a temperature sensor (using a thermistor) and a red LED.

Furthermore, there is a 16×2 character backlit LCD…

And the major part, the chassis…

The chassis is an arduino shield that extends analogue pins 1~5, digital pins 8-12, the UART and I2C connections. Furthermore, there are three large ten-pin connectors in the centre called “Bus” connections. Each is different, extending a variety of digital/analog pins out. For example, BUS2 consists of digital pins 10~16, power and ground. This allows a direct connection to the LCD screen leaving other pins free for use.

An example project is shown below…

You can see how the chassis shield sits on the Arduino, and the chassis is connected to the LCD module, the potentiometer and an LED. The benefits of this “brick” system are many – for me the greatest thing was the size of the bricks are not too small, and quite strong. They would stand up to quite a beating, which would be good for a classroom setting, a family of enthusiastic arduidans, or just people who are hard on things.

There is no difference to the arduino sketch when you are using this system, so if you do create a prototype and wish to move further with your project, you only have to change a few pin locations if you decide to use the LCD or input/outputs on other pins. So you don’t have to rewrite your code – neat. As an example, I tested it with my random number sketch from “Getting Started with Arduino” chapter two – all I had to do was change the pins in the LiquidCrystal command. Let’s see how that went, here is the sketch:

Arduino

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#include <LiquidCrystal.h> // we need this library for the LCD commands

LiquidCrystallcd(10,11,12,13,14,15,16);

floatnoisy=0;

voidsetup()

{

lcd.begin(16,2);// need to specify how many columns and rows are in the LCD unit

lcd.println("tronixstuff! ");

lcd.setCursor(0,1);

delay(2000);

lcd.clear();

randomSeed(analogRead(0));// reseed the random number generator with some noise

}

voidloop()

{

noisy=random(1000);

lcd.setCursor(0,0);

lcd.print("Random Numbers!");

lcd.setCursor(0,1);

lcd.print("Number: ");

lcd.print(noisy,0);

delay(1000);

}

and the video:

And then some fun with the temperature sensor, the sketch:

Arduino

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#include <LiquidCrystal.h>

// we need this library for the LCD commands

LiquidCrystallcd(10,11,12,13,14,15,16);

voidsetup()

{

lcd.begin(16,2);// tells Arduino the LCD dimensions

lcd.setCursor(0,0);

lcd.print("Hello electropus!");

// print text and move cursor to start of next line

lcd.setCursor(0,1);

lcd.print("Please wait...");

delay(2000);

lcd.clear();// clear LCD screen

lcd.setCursor(0,0);

lcd.print("Temperature is ");

}

floattemperature=0;

voidloop()

{

temperature=analogRead(5);// store value from temp brick

temperature=temperature+252-500;

temperature=temperature/10;

delay(100);// wait for 100 milliseconds

lcd.print(" Temperature is ");

lcd.setCursor(0,1);

lcd.print(temperature);

lcd.println(" deg. C. ");

delay(1000);// wait a second

}

and the video:

So there you have it. This is a simple, yet empowering way of experimenting and learning with the Arduino system. I do recommend this for beginners, or people who don’t want to muck about with tiny components. This in conjunction with an Arduino board would make a great gift for the technically-minded person of almost any age. The manufacturer is working on more bricks, and they should be released shortly.

In the meanwhile have fun and keep checking into tronixstuff.com. Why not follow things on twitter, Google+, subscribe for email updates or RSS using the links on the right-hand column? And join our friendly Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other – and we can all learn something.