STEMTera™ Breadboard Beginner's Guide Cover Page

STEMTera™ Breadboard was created with the help from thousands of backers on Kickstarter and distributors like SparkFun Electronics, LittleBird Electronics and ITEAD Studio. Without them, this awesome piece of work will not be available today.

Images and illustrations in STEMTera™ Breadboard Beginner’s Guide were drawn by JP Liew, sourced from open source projects, SparkFun SIK Guide, Wiki Media and Fritzing.

January 1st, 2017 - JP Liew

STEMTera™ Breadboard Logo

Contents

STEMTera™ Breadboard Beginner’s Guide is your guide to help you begin using the STEMTera™ Breadboard. This guide contains all the information and example circuits you will need to learn how to use STEMTera™ Breadboard and basic electronics.

1. Introduction

2. Getting to Know the STEMTera™ Breadboard

3. Introduction to Electronics

4. Getting Started with Circuits

1. Introduction

What is Arduino?

Arduino Uno R3Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.

What is STEMTera™ Breadboard?

Arduino Uno plus Breadboard

The STEMTera™ Breadboard is a smart electronic breadboard with an Arduino UNO R3 compatible built inside. This 2 in 1 breadboard is specifically designed to solve common issues when using Arduino with a separate breadboard especially in the lab or classroom.

The STEMTera™ Breadboard is capable of taking inputs, for example the push of a button, and translate that information to trigger different types of outputs, for example turn on a light or motor. With these capabilities, the STEMTera™ Breadboard can be used to build interactive physical systems by the use of software and hardware that can sense and response to physical world.

Making mechanical LEGO® projects with the STEMTera™ Breadboard is easy because the bottom cover of the STEMTera™ Breadboard is LEGO® compatible.

Hardware

STEMTera™ Breadboard Block DiagramThe STEMTera™ Breadboard has 14 digital input/output pins (6 of which can be PWM outputs), 6 analog inputs, a USB connection, a power jack, and a reset button. These input/output pins are just like human fingers. With a properly written software plus hardware, they can be used to touch, sense and feel the physical environment.

Just like an Arduino UNO, the STEMTera™ Breadboard has two micro-controllers soldered on the PCB (Printed Circuit Board). The ATMEL’s ATmega32U2 and the ATmega328P. The ATmega32U2 serves as the bridge for USB communication between the computer and the ATmega328P.

The STEMTera™ Breadboard also exposed all the ATmega32U2’s pins on the breadboard’s tie points, thus providing 21 extra digital input/output pins that has the native capability to communicate with the computer via the USB port (advance topic).

Software

The STEMTera™ Breadboard by itself is just a piece of physical hardware. You need to tell it what to do by sending a set of instructions to the micro-controller on the board. This set of instructions is normally referred to as program, code or software. There are a few ways to send the program to the STEMTera™ Breadboard, one of the most popular way is by using the Arduino Integrated Development Environment (IDE).

The Arduino IDE contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a series of menus. It connects to the STEMTera™ Breadboard hardware to upload programs and communicate with them.

Sketches

Programs written using Arduino IDE are called sketches. These sketches are written in the code editing area of the Arduino IDE and can compiled into a set of micro-controller instructions that can be uploaded into the STEMTera™ Breadboard.

Installing Arduino IDE

In order to start writing sketches for your STEMTera™ Breadboard, you will need to install the latest version of the Arduino IDE first from Arduino’s website. Using an internet-enabled computer, open up your favourite Internet browser and type the following URL into the browser’s address bar:

www.arduino.cc/en/main/software

This URL will display a page with download choices based on various Operating Systems.

Arduino Download Image

Click and download the appropriate Operating System installation package for your computer. As soon as the download is completed, if you are familiar with installing software and drivers, please proceed with the installation, otherwise open up your browser and type the following URL into the browser’s address bar to read SparkFun’s Installing Arduino IDE guide.

learn.sparkfun.com/tutorials/installing-arduino-ide

After completing the installation, execute the Arduino IDE on your computer. The user interface of Arduino IDE is divided into 9 sections. Navigate around the user interface to get familiar with the Arduino IDE.

Arduino IDE

Connect the STEMTera™ Breadboard

Connecting STEMTera™ Breadboard to computer

After getting use with the user interface of Arduino IDE, you can now connect the STEMTera™ Breadboard to your computer. You will need a Micro USB cable for the connection.

First, connect the larger end of the Micro USB cable to your computer. Second, connect the other smaller end of the Micro USB cable to the STEMTera™ Breadboard. The green LED light on the STEMTera™ Breadboard will turned on and different types of Operating System might also produce a sound indicating that a USB device has being plugged into the computer.

On a Windows computer, if you are first time connecting the STEMTera™ Breadboard, a dialog window will pop up telling you that there is a new device detected. Windows will search for the device driver installed previously and create a serial port on your computer. If you wish to know the name of the serial port, type

Win + r

In the open dialog box, type

devmgmt.msc

then click OK. Device Manager will be launched and display a list of devices connected to the computer. Double click Port Icon Ports (COM & LPT) and the name of the STEMTera™ Breadboard’s serial port should look like Port Icon Arduino Uno (COMx)

On a Mac computer and Linux computer, the STEMTera™ Breadboard is automatically detected. To see the status of this automatic detection, open a terminal screen and type

dmesg + Enter

The last few lines will tell you the name of the serial port created. The serial port name for Mac and Linux computer will normally start with /dev/tty.

Note down the name of the serial port as you will need this to configure the Arduino IDE later.

Board Selection

After connecting the STEMTera™ Breadboard into the computer, you need to configure the Arduino IDE to know the type of board that you intend to use. This configuration is located at the Tools menu.

Move the mouse over to the Tools menu and click the Tools menu once. When the Tools menu appears, move the mouse to the Board sub menu and another sub menu with a list of boards will appear. Click the Arduino/Genuino Uno selection. Arduino IDE is now configured to use the STEMTera™ Breadboard as the choice of development board.

The STEMTera™ Breadboard is 100% compatible with Arduino UNO but it is not listed in the Arduino Software’s Tools menu. Select “Arduino/Genuino Uno” instead.

Port Selection

The Arduino IDE also need to know the communication port of your STEMTera™ Breadboard. At the Tools -> Port sub menu, select the appropriate port of your STEMTera™ Breadboard. Different Operating Systems will show different Port names.

Windows LogoOn a Windows Operating System, the Arduino IDE will show the STEMTera™ Breadboard as Port: "COMx (Arduino/Genuino Uno)"

Mac LogoOn a Mac OS, the Arduino IDE will show the STEMTera™ Breadboard as Port: "/dev/tty.usbmodem"

Linux LogoOn a Linux Operating System, the Arduino IDE will show the STEMTera™ Breadboard as Port: "/dev/ttyACM0"

Once the port has been configured, you can proceed to upload your first sketch.

STEMTera Breadboard selection in Arduino IDE

Uploading Your First Sketch

Now, everything has been configured properly and you are ready to upload your first sketch. The quickest way to try your first sketch is to run the Blink example.

Click File -> Examples -> 01.Basics -> Blink

The Blink sketch will be loaded into the Arduino IDE.

Click arduino_ide_upload button Upload, and both yellow LEDs on the STEMTera™ Breadboard will start blinking indicating the computer is uploading the sketch to the STEMTera™ Breadboard.

STEMTera™ Breadboard Tx Rx LED Blinking

When the sketch uploading is completed, both yellow LEDs will stop blinking. The message area of the Arduino IDE will display Done uploading, indicating upload is completed.

Arduino IDE STEMTera™ Breadboard Blink Example

At the same time, because the Blink sketch instructed the STEMTera™ Breadboard to blink, you can see the red LED starts to blink.

Your first Blink sketch is now successfully being executed by the STEMTera™ Breadboard.

2. Getting to Know the STEMTera™ Breadboard

Hello STEMTera™ Breadboard

The functions of the STEMTera™ Breadboard can be easily divided into different sections below.

USB - This port is used to receive power and communicate with the computer.

7-12VDC Power In - The STEMTera™ Breadboard can also be powered from this DC jack.

Port B, Port C & Port D - These are the digital input/output pins of the ATmega32U2 micro-controller.

Status LED - The green LED indicates power on, both yellow LED indicate communication and red LED is controlled by D13 of the Arduino.

Power - This section provides external components with 3.3V and 5V DC power.

Power Rails - When connected to 3.3V or 5V DC, these rails can be used to supply power to external devices.

Digital & Analog Pins - These pins are input/output used for interfacing with external passive or active components.

Tie Points - These tie points are used for joining components. 5 tie points (ABCDE) are joined in a group. (FGHIJ) is another group.

Get to Know STEMTera™ Breadboard

Tie Points

Tie Points of STEMTera™ Breadboard

There are a total of 634 tie points in the STEMTera™ Breadboard, divided into 3 major group.

The first group is power rails. There are 2 power rails located on the left and 2 on the right of the STEMTera™ Breadboard marked with orange color in the diagram. Each power rail has 30 (1x30) tie points internally connected together in a straight line. These power rails are normally used for distributing the power supply.

The second group is just normal tie points. These tie points marked with green color in the diagram are commonly used as joints. The formation of these tie points is 1x5, for example 1->ABCDE is one group of 1x5 tie points internally connected together. 1->FGHIJ is another group of 1x5 tie points.

The last group is a formation of 1x2 tie points connected to the micro-controllers’ pins inside the STEMTera™ Breadboard. They can be seen marked with black color in the diagram.

STEMTera™ Breadboard clip

Inside the holes of the tie points are spring clips. These spring clips manufactured in the formation of 1x2, 1x5 and 1x30. When you insert a component inside a tie point, a resistor for example, the leg of the resistor will be held by the two arms of the clip inside the tie point, thus making a mechanical connection as shown on the left diagram. Because the clips are made from copper or stainless steel, electricity can flow from the resistor to the clip.

By using mixtures of components connecting to the tie points, complex electronic circuits can be then formed.

3. Introduction to Electronics

Atoms

We all like to take things apart, and always find something smaller inside, for example, if we take a small remote controlled car apart, there are motor, gears and wires inside. If we continue breaking the motor into smaller and smaller pieces, eventually we will find that all matter is made from different types of atoms, i.e., everything is made of atoms . A single atom is about 100,000 times thinner than a human hair and can only be seen using a powerful electron microscope.

AtomMost atoms have three different subatomic particles inside them, protons, neutrons and electrons. The protons and neutrons are packed together forming a nucleus in the center of the atom. Each proton in the nucleus of an atom has a tiny positive charge, and this effectively means the nucleus is a big clump of positive charge. The electron which has a negative charge, is so much smaller than the proton and orbit around the neucleus of the atom. Atoms are electrically neutral because they have the same numbers of protons and electrons.

Electric Charge

Sometimes atoms can gain or lose electrons. Loss of electrons leaves an atom with a net postitive charge and gain of electrons leaves an atom with a net negative charge. The presence of this electric charge, either positive or negative, produces an electric field. These type of charged atoms is called an ion. In a battery, the positive side has positive ions and negative side has negative ions.

Electricity

Electron flows in Wire

Electrons being negative in nature, are attracted to positive charged. By making use of this nature, electrons can be made to move from one atom to another. When electrons move between the atoms, a current of electricity is created. In certain gases and liquids, atoms with extra protons can also flow and creates electric current too.

Current

Current and Electrons Flow

Despite current is the flow of electrons (negative) through a conducting medium to positive charged atoms, current flow is ofteni or normally defined as Conventional current, where it flows from positive terminal to the negative. In this guide, we will be referencing Conventional current as current.

Current can only flow when there is an energy source that produces voltage. Without this energy source, electrons move randomly and fairly evenly within a wire, and current cannot flow. Energey source creates pressure that drives electrons in a single direction thus creating current flow.

With just energy source alone is not enough to make current flows. The circuit with combination of the energy source (in our example is AA batteries) and load (in our example light bulb) must form a closed loop, a conducting loop which electrons can flow, providing energy to the load connected to the circuit.

The unit for electric current is Ampere (amp) with a unit symbol of A. When working with formula, the symbol for current is I.

Formula, I = V ÷ R ( Current = Voltage ÷ Resistance) - Ohm’s law.

How to Measure Current

How to Measure Current

Set the multimeter’s knob to the highest possible current setting first, and also make sure that the current fuse rating of the multimeter is high enough to support the current you wish to measure. In the above example, the rough estimated current is only a few milliamp (1 milliamp is 1/1000 amp) based on Ohm’s law, 3V ÷ 1000 Ohm ( 2 x 1.5V battery ÷ 1000 Ohm resistor). Therefore, setting the knob to 200mA setting is a good start point.

In order to measure the current, we need to break the circuit’s loop and let the current flow into the multimeter. The above example shows current flow from the batteries passing through the 1K (1000 Ohm) resistor and into the multimeter then back to the negative terminal of the bottom battery. This forms a closed loop. The reading is 0.003A = 3 mA.

Formula, I = V ÷ R
I = 3V ÷ 1000Ω
I = 0.003A

Resistance

Resistance

Electrons move through a conductor when electric current flows. All material impede flow of electric current to some extend. Some materials hold their electrons very tightly, and due to this, electrons will not move through them very well. These materials are called insulators. Rubber, plastic, cloth and dry air are good insulators. Materials that allow many electrons to flow freely are called conductors, examples are, copper, silver, aluminium, hydrochloric and sulphuric acid and saltwater.

The characteristic of materials impede flow of electric current is called resistance. Insulators have high resistance and conductors have low resistance and resistance is measured in Ohms (Ω).

How to Measure Resistance

How to Measure Resistance

Turn the multimeter’s knob to resistance range. Touch both RED probe and BLACK probe together, the reading on the multimeter should be 0 or near 0. Touch both ends of the material to be measured with the two probes from the multimeter. Check the reading. In the example above, the resistance for the 1K Ohm resistor is 1K.

Voltage

Potential Difference

Voltage is the pressure or force from an electrical circuit’s power source that “pushes” charged electrons through conductors. The greater the voltage, the greater is its ability to “push” the electrons through a given circuit. Voltage is also called potential. The difference in voltage between any two points or terminals in a circuit is known as the potential difference, commonly called the voltage drop. There are two different voltages, AC (alternating current) voltage and DC (direct current) voltage. AC flows in both directions and is commonly used in electrical wall plug. DC flows in one direction and is commonly used by battery operated circuits. By using a special circuit, AC can be coverted into DC and vice versa. In this guide, we will only be learning circuits in DC.

The unit for voltage or potential difference is volt with a unit symbol of V. When working with formula, the symbol for voltage is V or E.

Formula, V=IR or E=IR ( Voltage = Current x Resistance) - Ohm’s law.


How to Measure DC Voltage

How to Measure Voltage

By using a multimeter, turn the mulimeter’s knob to the voltage range. Touch the RED (positive) probe on one of the point and the BLACK (negative) probe to the other point. The display tells you the potential difference (voltage) of the two points in Volts.

In the above example, two 1.5V AA batteries connected in series has a voltage of 3V. asdfasdf asdf asdf asdf asdf asdf asdf asdf asdfa sdf asdf asdfasdf

If your multimeter is not an auto-ranging multimeter, always set the range to the highest first, then work downwards until the desired reading is achieved.

Common Electronic Components

Common Jumper WireJumper wire, also known as DuPont wire is an electrical wire with pin at each end, which is normally used to interconnect the components on a breadboard or other prototype circuit without soldering.

Common ResistorResistor is a passive two-terminal component that implements electrical resistance. In electronic circuits, resistors are used to reduce current flow, divide voltage, bias active components and many more.

Common CapacitorCapacitor is a passive two-terminal component that stores electrical energy in an electric field, which are normally used in electronic circuits for blocking direct current while allowing alternating current to pass. In analog filter networks, they smooth the output of power supplies and stabilize voltage.

Common 5mm LEDLED (light-emitting diode) is a two-terminal semiconductor light source, which will emits light when a suitable voltage is applied to the leads. LEDs are very energy efficient and have a longer lifetime over incandescent light sources.

Common DiodeDiode is a two-terminal component that conducts primarily in one direction, It has very low resistance to the flow of current in one direction and extremely high resistance in the other.

Common Push ButtonPush button is a simple switch mechanism that allows current to flow when pressed.

Common Electronic Components

Common Piezo BuzzerPiezo buzzer is an electro-acoustic transducer that will transform AC voltages to sound pressure. In electronic circuits, it is normally driven with high-low pulses from and output pin or PWM (pulse width modulation) pin.

Common Photo ResistorA photoresistor or light-dependent resistor (LDR) is a light-controlled variable resistor. The resistance of a photoresistor decreases with the increasing light intensity.

Common Temperature SensorA temperature sensor is a sensor that converts temperature into electrical signal. There are many types of temperature sensor that can output different types of signal. The TMP36 is one of the most common temperature sensor what coverts temperature into voltage, and will produce an output of 10mV per Celsius.

Common TransistorA transistor is a semiconductor device used to amplify or act as a switch for electronic signals. Common transistors have 3 leads, however some special transistors do have 4 or more leads.

Common PotentiometerA potentiometer or pot is a three-terminal resistor with a sliding or rotating contact that can be used as a variable voltage divider or as a variable resistor.

Common DC MotorA DC motor is an electro-mechanical machine that converts DC electrical energy to a mechanical energy. DC motor works on a principal, when a current carrying conductor is placed in a magnetic field, it experiences a torque and has a tendency to move.

4. Getting Started with Circuits

Exercise 1 - Blinking LED

LEDs (light-emitting diodes) are small and energy efficient lights that are used in many applications. In this exercise we will start with one of the easiest LED blinking circuit.

In this excercise, PIN3 is used to drive the LED on and off. The 330Ω resistor act as a current limiter to limit the current flowing through the LED. Depending on the specifications, LEDs need about 8mA to 20mA of current to light up.

x1
x1
x2
  1. Connect a JUMPER WIRE to GND and 33J.
  2. Connect a JUMPER WIRE to PIN3 and 38J.
  3. Connect a 330Ω RESISTOR to 34H and 38H.
  4. Connect the anode (longer) pin of the RED LED to 34G and cathode (shorter) pin to 33G.

Exercise 1 - Write and Upload the Blinking LED Sketch

In order to execute the sketch for this exercise, launch Arduino IDE then

Click File -> New.

A new sketch editing window will appear. Copy the whole block of code below and paste it into the new sketch window, overwriting the empty setup() and loop() that was pre-created. Ensure that the board selected is Arduino Uno and the right COM port is chosen according to “Board Selection” chapter.

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

*/

// the setup function runs once when you press reset or power the board
void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(3, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
    digitalWrite(3, HIGH);  // turn the LED on (HIGH is the voltage level)
    delay(1000);            // wait for a second
    digitalWrite(3, LOW);   // turn the LED off by making the voltage LOW
    delay(1000);            // wait for a second
}

Click arduino_ide_upload button Upload, and the Arduino IDE will prompt you to Save sketch folder as. Enter Excercise_1 into the filename field and click save. Once saved, the Arduino IDE will start to compile the sketch. After the compilation is completed , the Arduino IDE will start to upload the compiled sketch into the STEMTera™ Breadboard. During this stage both yellow LEDs on the STEMTera™ Breadboard will start blinking indicating the Arduino IDE is uploading the sketch to the STEMTera™ Breadboard.

Exercise 1 - Understanding the Blinking LED

From the circuit, we know that PIN3 of the STEMTera™ Breadboard is connected to the 330Ω resistor and the Red LED. In order to turn on the LED, we need to instruct the STEMTera™ Breadboard to set PIN3 to OUTPUT in the setup() function.

pinMode(3, OUTPUT);

The pinMode() function shown above takes two parameters. The first parameter is the pin number and the second parameter is the mode of the pin. The above code instruct the STEMTera™ Breadboard to set PIN3 as OUTPUT.

Once PIN3 is configured as OUTPUT, we can then instruct the STEMTera™ Breadboard to either set PIN3 HIGH or LOW.

digitalWrite(3, HIGH);

The digitalWrite() function shown above takes two parameters. The first parameter is the pin number and the second parameter is HIGH or LOW. When a PIN is set to HIGH, the PIN will OUTPUT 5V. When a PIN is set to LOW, the PIN will OUTPUT 0V (no voltage and connected to GROUND).

In order to set an ON time or OFF time, we can add a delay in between ON and OFF using the following line of code after setting a PIN HIGH or LOW.

delay(1000);

This line of code instruct the STEMTera™ Breadboard to delay for 1000 ms (milliseconds).

When ON, DELAY, OFF, DELAY are executed in a loop, the result of this exercise is the LED blinking in 1000ms ON and 1000ms OFF pattern.

Exercise 2

Exercise 3

Exercise 4

Exercise 5

Exercise 6

Exercise 7

Exercise 8

Exercise 9

Exercise 10