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