You are on page 1of 1

   

Raspberry Pi Arduino DIY Electronics Programming Videos Resources

SEARCH …

INTRODUCTION TO MICROCONTROLLERS SUBSCRIBE

Posted by Harry Mafukidze | DIY Electronics | 0 


Get new tutorials sent to your
inbox!

EMAIL ADDRESS

SUBSCRIBE

In the early 1970s, two American companies, Intel and Texas Instruments, introduced microprocessors and
microcontrollers to the world. These companies envisioned a future dominated by single-chip integrated
computers.

Today, such devices play critical roles in almost all consumer electronic devices. You can find microcontrollers
in nearly every home on the planet. We have become dependent on microcontrollers, yet surprisingly, only a
few people really know what a microcontroller is.

In this tutorial, we will answer that question. We will also compare features of the most popular
microcontrollers on the market today.

THE MICROCONTROLLER SYSTEM


The diagram below illustrates the microcontroller system as a collection of parts or devices with three features:
input, process, and output. A system accepts at least one input, performs some action on that input, and
prodces one or more outputs.

The inputs and outputs of a microcontroller system are voltages that we can use to determine the state of
external devices. The microcontroller reads the voltages from an input device and uses this information to
decide on the correct voltage to output.

A microcontroller system is embedded in an integrated circuit (IC). A typical microcontroller includes a


processor, program memory, RAM, input/output pins, and more on a single chip.

DEVICES THAT CAN BE CONTROLLED BY MICROCONTROLLERS


Microcontrollers can be used to control a wide variety of electronic devices. They are perfect for applications
requiring multiple repetitive operations or high-speed computations. Here’s a list of some devices that a
microcontroller could be used to control:

Computers

Computer peripherals

Telephone systems

Home appliances

Industrial equipment

Security systems

Sensors and sensor arrays

WHAT IS A DEVELOPMENT BOARD


Experienced DIY electronics builders find it easy to build circuits on breadboards. However, as the complexity
of a circuit increases, it becomes difficult too to use breadboards. This is where development boards come in
handy.

Development boards are PCBs that contain a particular microcontroller IC and all of the supporting external
circuitry to make the microcontroller easier to use for quick development and prototyping.

The most popular development boards on the market are without doubt the Raspberry Pi and the Arduino
Uno. Their introduction to the DIY electronics hobby has revolutionized the way people learn about electronics
and build electronic projects.

Arduino Uno Development Board

Development boards always have input/output pins to make adding sensors, displays, motors, and servos easy.

PROGRAMMING MICROCONTROLLERS
Some microcontrollers are easier to program than others, but every common microcontroller should have lots
of resources online that can help you learn how to program it.

Some microcontrollers like the Arduino have their own integrated development environment (IDE). In the
Arduino IDE, you can write Arduino code and upload it to the microcontroller via a USB cable. Lots of other
microcontrollers can be programmed using the Arduino IDE, for example the ESP8266 WiFi module.

HOW TO CHOOSE A MICROCONTROLLER


There are so many microcontrollers on the market today, and selecting the best microcontroller for your
project may be a bit challenging for new designers.

It’s true, there are a lot of factors to consider when selecting a microcontroller. But the most important are
functionality, ease of programming, cost, and of course, the availability of support.

Popular microcontrollers will have the best support for troubleshooting any issues you might have. Using a
more widely accepted microcontroller means that it will be easier to get help quickly when you get stuck.

COMPARISON OF POPULAR MICROCONTROLLERS


To help you decide which microcontroller is best for your project, the table below compares the features of the
most popular microcontrollers available today:

Microcontroller Features Performance Programming Compiler/IDE Common applications

specifications language

Atmel ATtiny85 Pins: 8 Operating Arduino (with AVR GCC, Safety-critical circuits, industrial

GPIO pins: 6 voltage: 2.7V to limitations), MPLAB XC8, control systems, SMPS and power

512B RAM 5.5V C/C++, or MPLAB X IDE, regulation systems, and analog

8KB SRAM Operating assembly code Microchip Studio, signal analysis.

512 Byte EEPROM temperature: IAR Embedded

Clock speed: 20 -40°C to +85°C Workbench

MHz internal clock

Two timers

Analog to digital

converter

Espressif Pins: 30 Operating Arduino Arduino IDE Networked and internet

ESP8266 GPIO pins: 16 voltage: 3.3V connected devices, prototype IoT

Flash Memory: 4 Supply voltage: devices, low power circuits, and

MB 7V-12V projects requiring interfaces with

SRAM: 64 KB WiFi and Bluetooth.

Clock Speed: 80

MHz

UART, I2C, and SPI

communication

Intel 8051 Pins: 40 Operating Assembly, CX51 C Compiler, Automobiles, medical devices,

4KB ROM voltage: 5V BASIC, C\C++ IAR Embedded consumer appliances,

128 bytes RAM Supply voltage: Workbench, communication systems, robotics,

Full-duplex UART 2.5V to 5.5V BASCOM-AVR industrial control systems, radio

communication Operating and networking equipment, and

temperature: remote sensing.

-0°C to +70°C

Texas GPIO pins: 51 Operating Assembly, Texas Instruments Industrial automation, home

Instruments Non-volatile voltage: 2.5V – C/C++ C/C++compiler, automation, infrastructure

MSP430 memory: 64 kB 5.5V MSP430 – GCC, metering networks, portable test

RAM: 2 kB Active mode: 330 BASCOM-AVR equipment, health and medical

Analog to digital µA at 1 MHz, 3 V. electronics, and consumer

converter electronics

Real-time clock

UART, I2C, and SPI

communication

PJRC Teensy 3.2 Pins: 34 Operating Adapted AVR-GCC, Motor control, small electronics,

GPIO pins: 34 voltage: 3.3V Arduino, BASCOM-AVR, drones, remote controlled

32 bit ARM Cortex- Supply voltage: C/C++, MicroPython vehicles, robots, and sensor

M4 72 MHz CPU 3.6V to 6.0V Python networks.

Flash memory: 256

kB

RAM: 64 kB

EEPROM: 2 kB

Pulse width

modulation

Seven timers

USB, UART, SPI, I2C,

and I2S

communication

Real time clock

STMicroelectroni GPIO pins: 51-140 Operating Embedded ARM Industrial PLC controllers, printers

cs STM32 USB, UART, SPI, I2C, voltage: 3.3V C language GCC compiler, Arm and scanners, security systems,

and I2S Supply voltage: Keil MDK, video surveillance systems, HVAC

communication 1.7V to 3.6V PlatformIO IDE, systems, power meters, motor

Twelve 16-bit STM32CubeIDE, drivers, and PC peripherals.

timers Segger Embedded,

Two 32-bit timers Studio,

Temperature SW4STM32

sensor,

Analog to digital

converter

Digital to analog

converter

Real time clock

Silicon Labs GPIO pins: 18-26 Operating C language GNU ARM C Low power devices, IoT projects,

EFM32 ARM Cortex-M3 voltage: 1.98V to Compiler and security systems

CPU 3.8V

Flash memory: 512 Operating

kB temperature:

RAM: 32 kB -40°C to +85°C

USART, I2C, and SPI

communication

Analog to digital

converter

SINGLE BOARD COMPUTERS


Microcontrollers can handle a wide range of complex circuit designs, but they still may not be sufficient for
some complex projects. In this case, you might need to use a single-board computer. Single-board computers
pack all of the functionality of a computer in a device the size of a credit card.

Here is a comparison of the most popular Raspberry Pi single-board computers:

Device RAM Processor USB Ethernet WiFi Bluetooth HDMI Other Video MicroSD

Raspberry Pi A+ 512MB 700 MHz ARM11 1 Port – – – Yes DSI, Yes

Composite

Raspberry Pi B 512MB 700 MHz ARM11 4 Ports 10/100Mbps – – Yes DSI, Yes

Composite

Raspberry Pi 2B 1GB 900 MHz Quad-Core 4 Ports 10/100Mbps – – Yes DSI, Yes

ARM Cortex-A7 Composite

Raspberry Pi 3B 1GB Quad-Core 64-bit 4 Ports 10/100Mbps 802.11n 4.1 Yes DSI, Yes

ARM Cortex A53 Composite

Raspberry Pi 3B+ 1GB 64-bit ARM Cortex 4 Ports 300/Mbps/PoE 802.11ac 4.2 Yes DSI, Yes

A53 Composite

Raspberry Pi 512MB 1 GHz single-core 1 Micro – – – Mini- – Yes

Zero ARM11 USB HDMI

Raspberry Pi 512MB 1 GHz single-core 1 Micro – 802.11n 4.1 Mini- – Yes

Zero wireless ARM11 USB HDMI

Here’s a comparison of the most popular BeagleBone single-board computers:

Device Memory Processor USB Network Video Supported expansion MicroSD

interfaces

PocketB 512MB DDR3 AM3358, USB 2.0 add-ons SPI displays 3x UART, 4x PWM, 2x SPI, Yes

eagle (800MHz x 16) 1GHz ARM 480Mbps 2x I2C, 8x A/D converter, 2x

Cortex-A8 host/client port, CAN bus (w/o PHY), 2x

USB 2.0 on quadrature encoder, USB

expansion

header

BeagleB 512MB DDR3 AM3358, USB 2.0 10/100 microHDMI, 4x UART, 12x PWM/Timers, Yes

one (800MHz x 16), 1GHz ARM 480Mbps Ethernet Cape add- 2x SPI, 2x I2C, 7x A/D

Black 4GB on-board Cortex-A8 host/client port, ons converter, 2x CAN bus (w/o

storage using USB 2.0 host PHY), LCD, 3x quadrature

eMMC port encoder, SD/MMC, GPMC

BeagleB 512MB DDR3 AM3358, USB 2.0 2.4GHz WiFi, SPI displays 4x UART, 2-cell LiPo, 2x SPI, Yes

one Blue (800MHz x 16), 1GHz ARM 480Mbps Bluetooth, I2C, 4x A/D converter, CAN

4GB on-board Cortex-A8 host/client port, BLE bus (w/ PHY), 8x 6V servo

storage using USB 2.0 host motor, 4x DC motor, 4x

eMMC port quadrature encoder

BeagleB 1GB DDR3 (2x AM5729, 2x USB 3.0 5Gbps Gigabit microHDMI, 4x UART, 12x PWM/Timers, Yes

one AI 512Mx16, dual- ARM Cortex- host/client port, Ethernet, Cape add- 2x SPI, 2x I2C, 7x A/D

channel), 16GB A15 USB 2.0 host 2.4/5GHz WiFi, ons converter, CAN bus (w/o

on-board port Bluetooth, PHY), LCD, 3x quadrature

storage using BLE encoder, SD/MMC

eMMC

BeagleB 512MB DDR3 AM3358 USB 2.0 Ethernet UART, PWM/Timers, SPI, Yes

one RAM. 1GHz ARM 480Mbps I2C, A/D converter, CAN

Green 4GB 8-bit eMMC Cortex-A8 host/client port, bus (w/o PHY), LCD,

on-board flash USB 2.0 host SD/MMC

storage port

BeagleB 512MB DDR3 AM3358 4x USB 2.0 Wi-Fi 802.11 4x UART, 12x PWM/Timers, Yes

one RAM. 1GHz ARM 480Mbps b/g/n 2.4 GHz 2x SPI, 2x I2C, 7x A/D

Green 4GB 8-bit eMMC Cortex-A8 host/client port, and Bluetooth converter, CAN bus (w/o

Wireless onboard flash USB 2.0 host 4.1 LE PHY), LCD, 3x quadrature

storage port encoder, SD/MMC

BeagleB 128MB-512MB AM37x 1GHz USB 2.0 Ethernet S-Video port UART, PWM/Timers, SPI, Yes

oard XM DDR3 RAM. 8-bit ARM Cortex- 480Mbps I2C, A/D converter, CAN

eMMC onboard A8 host/client port, bus (w/o PHY), LCD,

flash storage USB 2.0 host SD/MMC

port

So that’s a brief overview of the most popular platforms on the market today! Be sure to leave a comment
below if you have questions about anything!

SHARE:     

RELATED POSTS

How Electrical Relays Work


The Top Five EDA/eCAD How Resistors Work How to Read Electrical
Programs for Circuit Schematics
Design

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

COMMENT

NAME * EMAIL * WEBSITE

Save my name, email, and website in this browser for the next time I comment.

Notify me of follow-up comments by email.

Notify me of new posts by email.

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.

POST COMMENT

Copyright Circuit Basics Raspberry Pi Arduino DIY Electronics Programming Videos Resources About Contact Us Privacy Policy    

You might also like