Schematics & Breadboards

First introduction

Electronics is everywhere in our modern lives, from our computers and smartphones to our coffee machines. Learning electronics becomes more and more a useful skill to have in life. In this module, you will learn the symbols and the rules used to draw an electronic schematic, using the software Fritzing.

Development boards are an easy way to start prototyping in electronics by beginning from a solution and not from scratch, thus greatly accelerating the development of a new project. In this module, you will learn what are development boards, what are their main characteristics, and what does the market offer right now.

Practical relevance

– This is what you will need the knowledge and skills for

Knowing to read a schematic and build a circuit will allow you to replicate existing projects, learn from them, and make original projects of your own.

Knowing how to use a development board can help you master new parts faster, accelerate the development of a project by allowing you to test and prototype quickly, and reduce the risk associated with starting something new.

Overview of learning objectives and competences

Knowing to read a schematic and build a circuit will allow you to replicate existing projects, learn from them, and make original projects of your own.

The objectives of this unit are being able to know the main development board used by makers, and what they have to offer.

Required skills for this module

It is expected of the trainees to have followed the previous unit on „Electricity, components and tools”

Schematics

Symbols of common components

1.1 Fritzing

This course will use Fritzing to teach you about schematics. Fritzing is an Open Source, but not free anymore, software for designing printed circuit boards (PCB´s). It works on all platforms : Windows, Mac and Linux, is affordable, easy to use, and. Professionals tends to use other softwares like Eagle, or Altium, but Fritzing is more suitable for beginners.

This software can be download at the following URL : https://fritzing.org/

The interface of Fritzing presents you four tabs: Welcome, Breadboard, Schematic, and PCB.

The welcome tab shows you the latest news about Fritzing. With the Breadboard tab, you can view your schematic with nice pictures of components, like it would be if you build it. In the schematic tab, you can drag and drop components from the right panel to compose your circuit and wire components by grabbing the ends of components and moving the mouse.

And lastly, with the PCB tab, you can design your PCB.

1.2 Electronic symbols

To represent circuits in schematics, a convention of symbols is used. Here below are the symbols of the most commonly used electronic components. There are two standards of symbols : the American Standard (used here, in Fritzing) and the European Standard. Both are very similar with just minor differences.

Symbol Component

resistor

inductor

non polarized capacitor

polarized capacitor

diode

LED

NPN transistor 1:base,2:emitter,3:collector

PNP transistor 1:base,2:emitter,3:collector

battery

GND, the ground reference

button / switch

DC motor

LDR (Light Dependant Resistor)

an IC, with 8 pins

potentiometer the wire with the arrow represents the lead with the sweeper

loudspeaker

Rules of Electronic Schematics

2.1 Wires

To connect two places in a circuit, wires are used. It can be physical wires, copper traces on PCB, or anything with negligible resistance. To draw a wire in an electronic schematic, a simple continuous line is used. For example, in the following schematic, there are three components in series, each connected to the next by a wire.

2.2 Nodes

Nodes are part of the circuit that are connected together by wires and are the same voltage. For example, in the following picture, there are four nodes, labeled a,b,c and d.

2.3 Ground

Ground, also written GND, is a special node in the circuit where all voltages are referenced and measured from. It is considered to have zero voltage. 

2.4 Names and values

A schematic almost always has names and values next to the symbols and each name should be unique. For example, for resistance, the convention is to use R1,R2 … Rx. The same is done for other components like capacitors with the prefix C, inductors with the prefix L, integrated circuit with prefix IC, …

Simple Circuits

3.1 Breadboard

In electronics, a breadboard is a special board that allows to make circuits with temporary connection through hole components without requiring soldering. The electrical organization of the breadboard is the following :

Each 5 consecutive holes on the same row are connected together, and so are the big vertical columns with a red line and the other adjacent vertical column with blue or black line.

To link two groups of holes together, you only need some jumper wire.

Picture of component Description

big 3200 holes breadboard

two small 170 holes breadboards

some jumper cable

3.1 Lighting a LED from a battery

The following schematic corresponds to a LED wired in series with a resistor and a battery. 

The value of the resistor should be high enough not to burn out the led with too much current. A typical red or green LED has a maximum current of 20mA and a forward voltage drop of around 1.8V, so a resistor value of 100 ohms would be appropriate here with our voltage source of 3V.

And that is what it looks like when wired on a breadboard :

3.2 Controlling a motor from Arduino

The following schematic shows you how to control a motor from an Arduino board (which is an affordable development board presented in the next unit), using a transistor. It is not recommended to directly wire a motor to a pin of the Arduino as the motor can need more current than an Arduino’s pin can provide, with the risk of damage to the board. A transistor in this case acts like a switch with bigger current capabilities than an ordinary pin. 

You can notice that a resistor is used between the base of the transistor and the Arduino’s pin. The purpose of this is to limit the current on the pin and in the base of the transistor to a safe value.

Lastly, you can notice that a diode is used, wired in reverse, in order to protect the transistor from the potential voltage spike caused by the motor when it powers off.

Here is the breadboard view of the schematic :

3.3 Building more complex circuits

As you have seen, building circuits on a breadboard is easy for simple circuits, but when lots of components are used or a more permanent solution is needed, it could be time to go one step beyond and design our own PCB (Printed Circuit Board), and for that we recommend you the next module: PCB Design and Manufacturing

About Development Boards

Main characteristics of Development Boards

1.1 What is a development board?

A development board, or dev board for short, is an electronic board that include a specific main part (for example a microcontroller or a microprocessor) and a selection of supporting components to ease the development process, like for example: a clock source, input or output port, programming port, power supply, protection for the pins, memory, etc.

Dev boards generally come with lots of documentation, example programs, and the possibility to connect optional compatible extension boards. Starting a project with a development board is easier than without as you don’t start from scratch but from a known working base.

For the purpose of this course, we would limit ourselves to only two types: microcontroller-based boards, and microprocessor-based boards, as they are the most commonly used, but other boards exist like FPGA (Field Programmable Gate Array) boards for example.

1.2 Microcontroller vs microprocessor

A microcontroller is a single integrated circuit with memory, processor, and programmable input/output, and is optimized for embedded applications and for the control of electronic devices. Microcontrollers are often referenced as MCU, for MicroController Unit.

A microprocessor is an integrated circuit that is the main controlling unit inside a computer. It can perform computation operation and communication with other connected devices. When a microprocessor is integrated on a single board with supporting components like memory, input/outputs, it is called a SBC, Single-board Computer.

There are numerous differences between the two:

  • microprocessors are generally more powerful, have higher clock speed, can access more memory
  • MCU are for more specialized tasks, like driving motors or screens, or making a coffee machine do its job, whereas microprocessors are for unspecialized tasks, like running office programs or games.
  • a microprocessor is more complex, has more transistors, than a MCU
  • MCU generally have internal memory like RAM and Flash, where those are external for a microprocessor
  • A processor generally has an Operating System, like Linux, Windows or MacOS, which provides lots of abstraction for the rest of the hardware, where MCUs lack an OS.

1.3 Characteristics of development boards

There are some characteristics that can be of importance when choosing between different dev boards, notably the RAM size, the program space’s size, the types of I/O (input/output) available…

1.3.1 RAM

The RAM (Random Access Memory) is a kind of fast memory which stores information when programs are being executed. RAM loses its content when powered off. MCUs often have very little internal RAM, from under a hundred bytes to several megabytes. For SBC, it is common that they come with several gigabytes.

1.3.2 Program space

MCUs often have small integrated program space, in the order of some hundreds of bytes to several megabytes, made with Flash memory. Flash memory is a type of fast memory, but slower than RAM, that retains its content even when powered off. SBCs can have different program spaces like emmc, ssd, or sd, and have no real limit of space when they can use external SD cards, which can be several gigabytes. Program space can also contain data other than programs, like character strings, pictures, and files.

1.3.3 Inputs / Outputs

Inputs and outputs can be of several types on development boards :

  • GPIO : general purpose Input/Output, than can only high or low
  • PWM : pulse width modulation
  • ADC : analog to digital converter, that can get in analog signal
  • DAC : digital analog converter, that can out analog signal
  • UART : serial port
  • SPI : Serial Peripheral Interface, a high speed link to connect to other onboard devices
  • I2C : Inter-Integrated Circuit : a bus which can connect multiple onboard devices with 2 wires
  • USB
  • Ethernet
  • WiFi, Bluetooth

1.3.4 Number of cores

Like computers, development boards can have multiple cores that allow them to execute multiple instructions in parallel. For example, the Raspberry Pi 4 has 4 cores, whereas the Arduino Uno only has one.

1.3.5 Working voltage

Most ancient hardwares run from 5V, like lots of Arduino, and most newer hardwares or SBC often run from 3.3V voltages. Cautions must be observed not to mix directly the signals from 3.3V and 5V boards in order to avoid damaging 3.3V boards. Level converters can be used to allow both types to communicate harmlessly with each other.

1.3.6 Integrated Development environment

The integrated development environment (IDE) is a group of tools that can help development on some platforms. It can include a Graphical User Interface, an editor, a compiler, debugging tools, uploading tools to the board, libraries and more.

The more common ones used by makers are Arduino and PlatformIO, they can be obtained at:

https://www.arduino.cc/en/software

https://platformio.org/install

Common Development Boards

2.1 Arduino

Arduino is a brand of development boards coming from Italy. The name Arduino, comes from the name of the bar where its creators met : di Re Arduino.

The project started as a low cost tool for non computer science students and beginners to create devices that can interact with their environment. 

It is now an Open Source platform that includes an IDE and lots of supported boards with different microcontrollers. The electronic design of the Arduino boards is also Open Source, so anyone can learn how to make them.

2.1.1 the boards

One of the most famous boards is the Arduino UNO, which has an AVR ATMEGA328P onboard. That particular board has the following features :

  • 32kB of Flash memory
  • 2kB of SRAM
  • 1kB of EEPROM
  • 16 Mhz clock speed
  • Operating voltage of 5V
  • Recommended input voltage range (for Vin) is from 7v to 12V
  • 14 digital GPIO
  • 6 analog IO (that can also be used as regular GPIO)
  • each input/output pin can source or sink up to 40 mA
  • provides USB, SPI, I2C

Other Arduino boards exist with the same MCU but different form factor like the Arduino Nano, or with bigger AVR MCU like the Arduino Mega 2560, or ARM chips like the Arduino M0 Pro.

In the table below, you can see some of the existing Arduino boards

Arduino board Name

Arduino UNO

Arduino Nano

Arduino Mega 2560
a screenshot of the Arduino IDE

2.1.1 the IDE

The Arduino IDE is a collection of tools bundled together to ease the development on Arduino boards or other supported boards. It is free, Open Source, and available on different OS like Windows, Linux, and MacOS. It includes notably :

  • an editor, to write and correct the code,
  • a compiler, to convert the c++ code into machine code
  • tools to transfer the programs to the boards
  • a serial console, to communicate with the boards

and a lot of other things that make development easier…

2.2 Raspberry Pi

Raspberry Pi is a brand of Small Board Computers, which are produced by the Raspberry Pi foundation, in the United kingdom. The initial goal of the foundation is to promote the teaching of basic computer science in the schools of its country. 

2.2.1 the boards

Raspberry Pi offers many different development boards based on ARM chips of their partner Broadcom, like the Raspberry Pi, Raspberry Pi Compute Module, Raspberry Pi, or the Raspberry Pi Pico. The latest revision of the Raspberry Pi and compute module are the 4th at the time of writing.

At the date of writing, the Raspberry Pi foundation sold more than 40 million boards.

The Latest model, the Raspberry Pi 4 B has the following features:

  • 2, 4, or 8 GB or RAM
  • Broadcom BCM2711 ARM chip, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
  • Raspberry Pi standard 40 pin GPIO header
  • 2x USB 2.0 + 2x USB 3.0 ports
  • 2x micro HDMI ports
  • Gigabit Ethernet port
  • micro SD card slot
  • Wifi and bluetooth connectivity
  • DSI display port
  • CSI camera port

Among the above listed boards, only the Raspberry Pi Pico is not a computer but a MCU board.

Raspberry Pi board Name

Raspberry Pi 3 B

Raspberry Pi Zero

Raspberry Pi Pico RP2040

2.2.2 The OS

Except for the boards named ‘compute module’, the Raspberry Pi SBCs have no onboard memory to store programs. To load the Operating System and programs on them, one must insert a micro SD card with an image of the OS and the programs to execute. The Raspberry Pi foundation developed an OS specifically for their boards : Raspberry Pi OS (formerly Raspbian). It is a Linux OS based on the Debian Linux distribution, which includes a special kernel and specific tools for the boards.

Raspberry Pi OS is mostly Open Source and free to download on the website raspberrypi.org.

Other OS supports Raspberry Pi boards, like Ubuntu, OpenELEC, ArchLinux, …

a desktop version of Raspberry Pi OS

2.3 Boards with Espressif chips

Espressif is a chinese manufacturer of microcontrollers with wireless connectivity. Among those are the ESP8266, and ESP32, who are the heart of many development third party boards and IoT devices. Boards using Espressif’s chips are supported by the Arduino IDE and PlatformIO.

Here are the specifications of two boards with each MCU :

Wemos D1 mini ESP32 devkitC
MCU
ESP8266, Xtensa Single-core 32-bit
ESP32, Xtensa Dual-Core 32-bit
SRAM
64 kB
520 kB
Flash
4MB
4MB
GPIO
11
39
Clock speed
80 MHz
160-240 MHz
Wireless
wifi
wifi + bluetooth
Analog input pins
1
18 channels
DAC
0
2 channels
Interface
UART, I2C, SPI
3x UART, 2x I2C, 4x SPI, 2x I2S, 10x touch
Espressif’s chip based board Name

Wemos D1 mini

NodeMCU (esp8266)

ESP32 devkitC

2.4 Other boards

Many other development boards exist, each with their own intended use cases. For example, MSP430 boards focus on low power, Teensy boards focus on using powerful MCUs, BeagleBone boards are more targeted at robotics and automation due to their many GPIO, and Nucleo only uses the STM32 chips from the manufacturer STMicroelectronics.

Board Name

A Teensy 4.1 board, it uses a Cortex-M7 clocked at 600 MHz

a Digispark with 8 pin MCU (ATTiny85)

Extension Boards

One of the benefits of some of the boards previously presented are the expandability with daughter boards that plugs directly without soldering on the GPIO pins header. Arduino calls them shields, Raspberry Pi calls them hats, and it’s capes form BeagleBone, but the goal is the same : expand quickly and easily the capabilities of the boards.

Those extensions are proposed either by the manufacturer of the development boards or by third parties, and as those dev boards are generally well documented, so you too can create your own extension board if you have the skills.

Among the many options offered, some extension boards for example provide a sound output, or an Ethernet connectivity, a touch screen, an interface for motors, memory storage, RGB Leds, …

Extension boards for Wemos D1 mini
buzzer shield
micro SD shield
power supply shield
oled shield
Extension boards for Arduino boards
lcd touchscreen shield
Ethernet shield
motor shield
LCD keypad shield
CNC shield (for stepper motors)
a custom shield we, at FabLab Lille, made for a client

Concerning the Raspberry Pi, a long list of extensions can be found on their website :

screenshot of the product page from the Raspberry Pi website

The Raspberry Pi foundation proposes for example: a 7” IPS Touchscreen, many camera modules, a DVB-T decoder, many high-quality audio DACs, a Power Over Ethernet HAT, a sense HAT with a 8×8 RGB led matrix, temperature and humidity sensor, atmospheric pressure, accelerometer, and joystick.

the explorer HAT from Pimoroni, offers analog inputs, motor drivers and more

Due to the openness of the Raspberry Pi boards, other vendors propose their own extensions, like Pimoroni, Sparkfun, or Adafruit.

Pimoroni : https://shop.pimoroni.com/

Sparkfun : https://www.sparkfun.com/

Adafruit : https://www.adafruit.com/

In conclusion, extension boards allow you to quickly and more easily prototype an electronic project, minimizing the chances of failure by using known good well documented solutions and we would like to suggest you the next IO8 Electronic part 2 if you are interested in building your own board.

Glossary

ADC : Analog Digital Converter, is a converter than can measure an analog voltage and return a digital value for a program to use

Cape : an extension board that plugs onto a BeagleBone board

DAC : Digital Analog Converter, is a converter than generate an analog voltage from a digital value

EEPROM : Electrically-erasable programmable read-only memory, is a kind of non memory that can retain its content without power

GPIO : General Purpose Input/Output, is a port on a microcontroller or microprocessor that can be configured by a program as a digital input or a digital output, to communicate with external circuits.

Hat : an extension board that plugs onto a Raspberry Pi board

I2C : Inter-Integrated Circuit : a bus which can connect multiple onboard devices with 2 wires

IDE : Integrated Development Environment, is a group of tools that can help the development. It can include an editor, a compiler, debugging tools, uploading tools to the board, a libraries manager and more.

OS : Operating System, is an ensemble of software that manages the resources of a computer and allows the applications to use them.

PWM : Pulse Width Modulation, is a technique that generates a rapid series of repeating digital high and low voltage with a defined duty cycle (the ratio between high time and the duration of a cycle). PWM is useful to control the brightness of a LED, the speed of a DC motor, or can generate analog signals after filtering.

RAM : Random Access Memory, is a type of fast memory used for example to store the datas of a program when it is running. RAM loses its content when powered off.

Shield : an extension board that plugs onto an Arduino board

SPI : Serial Peripheral Interface, a high speed link to connect together a chip with other onboard devices

Summary

In this module, you learned the symbols and the rules used to draw an electronic schematic, the concept of node, and ground, and how to use the software Fritzing, what equipment can be used to assemble a simple circuit without soldering.

In this module, you learned what are development boards, what are their main characteristics like the quantity of RAM, the number of cores, their frequency, the types and number of input/outputs and the used voltage. You were presented with the most common boards like the Arduino Uno and the Raspberry Pi 3 SBC.

And in the last part, you learned what an extension board and what existed for different brands of development boards.

Quizz