SuperDroid Robots
Robots, Parts, & Custom Solutions
Request A Quote
##GOOGLEPLUS##
##PINTEREST##
Microcontrollers | Arduino Microcontrollers | Programmable Microcontrollers
Security Robots

Microcontrollers

What is a microcontroller?

A microcontroller (abbreviated as MCU or uC) is a small computer built into a single integrated circuit (IC) which contains memory, processor(s) and I/O controls. MCUs come in a vast array of packages and capabilities. The idea is to meet the engineering challenge with the appropriate level of force. For example, if you want to transmit while you're monitoring data or sensors and manipulating an actuator or status LEDs, the latest Intel-powered computer would be excessive, expensive and cumbersome. In this case, an MCU could easily - and inexpensively - handle all your processes. Another huge benefit? They come in all shapes and sizes.

 

Architectures

There are two main families of microcontrollers that are popular among beginners and hobbyists. Microchip's platform is PIC, which stands for Peripheral Interface Controller. Atmel's platform of microcontrollers are called AVR, or Advanced Virtual RISC.

Sidenote: RISC stands for Reduced Instruction Set Computing. The idea is to use fewer, more general purpose, assembly instructions to make a device quicker and more battery efficient.

Which microcontroller should I choose?

There isn’t a cut and dry winner, especially for a beginner. You will most likely not come to a point where there's a specific high-end feature that you will need. Both Microchip and Atmel microcontrollers come in such a wide variety and form factors that you will be able to find what you need. An abundance of development boards exist for both PIC, such as our custom PIC boards, and the Atmel based Arduino Mega 2560.

When considering purchasing a development board or a specific microcontroller, you need to really look at what your main requirements are. Are the chips you will be interfacing with 5V, 3.3V, or 1.8? How many digital I/O are you going to need? What about analogs? Will you be needing SPI or I2C? Ethernet? USB? How many UARTS will you need? Once you figure these outthere are several things you should look into.

For the absolute beginner, the Atmel microcontrollers can be very enticing due to the Arduino Open Source Hardware project. Due to the nature of open source there is an abundance of software libraries and hardware extensions (shields) available. This provides a strong foundation for the beginner to build on top of and get started in the world of microcontrollers.

A Brief History of Microchip's PIC Microcontroller

A Brief History

The original PIC was built to be used with General Instrument's new 16-bit CPU, the CP1600. While generally a good CPU, the CP1600 had poor I/O performance, and the 8-bit PIC was developed in 1975 to improve performance of the overall system by offloading I/O tasks from the CPU. The PIC used simple microcode stored in ROM to perform its tasks, and although the term was not used at the time, it shares some common features with RISC designs.

In 1985, General Instrument spun off their microelectronics division and the new ownership canceled almost everything — which by this time was mostly out-of-date. The PIC, however, was upgraded with internal EPROM to produce a programmable channel controller and today a huge variety of PICs are available with various on-board peripherals (serial communication modules, UARTs, motor control kernels, etc.) and program memory from 256 words to 64k words and more (a "word" is one assembly language instruction, varying from 12, 14 or 16 bits depending on the specific PIC micro family).

PIC Programming

PIC microcontrollers have an array of development environments available for both the beginner the professional. Microchip supports an IDE called MPLABX that is based on Oracle's open source NetBeans IDE. It and can be found on MicroChip’s website. This is a great place to start for beginners. There are many 20 min training/tutorial videos on how to get started with this free IDE

Once you feel more confident on PIC programming there are other paid alternative IDE with a few more bells and whistles. MickroC Pro which allows you to program your microcontroller in C. The advantage to MikroElektronika's IDE is that they support a wide range of microcontrollers. In on development environment you can work on PIC, PIC32, AVR, or ARM. If you prefer Basic then you may consider purchasing Microcode Studio for Basic.

Back To Top

A Brief History of Atmel's AVR

A Brief History

The AVR architecture was conceived by two students at the Norwegian Institute of Technology (NTH) Alf-Egil Bogen and Vegard Wollan. The AVR architecture was later bought by Atmel Corporation in 1996.

The original AVR MCU was developed at a local ASIC house in Trondheim, Norway called Nordic VLSI at the time, now Nordic Semiconductor. It was known as a µRISC (Micro RISC) and was available as silicon IP/building block from Nordic VLSI. When the technology was sold to Atmel from Nordic VLSI, the internal architecture was further developed by Bogen and Wollan at Atmel Norway. The designers worked closely with compiler writers at IAR Systems to ensure that the instruction set provided for more efficient compilation of high-level languages.

Getting Started

Similar to Microchip's MPLABX IDE, Atmel has it's own official development environment called Atmel Studio. Atmel Studio allows you to program both Atmel's AVR and ARM based microcontrollers in C/C++. The entire development environment is also open source. To program your microcontroller, we sell a USB AVR Programmer.

Back To Top

The Arduino Platform

Arduino is an open-source electronics prototyping platform based on Atmel's AVR microcontrollers. They provide a free and open-source IDE to get you up and running. The IDE comes with a large community and code examples to help you make whatever you can think of. The Arduino hardware comes in various sizes and form factors to fit your project and your wallet.

We have a few different samples of Arduino code that we have written here at SuperDroid Robots. This code can be seen at our GitHub. Here you can see sample code for a vectoring triwheeled robot, an all-terrain robot and our promotional autonomous robot. Any of this code is fine for others to use or modify.

 
Breakdown of Available Arduino Platforms
Arduino
uC
Input Voltage
System Voltage
Clock Speed
Digital I/O
Analogs
PWM
UART
Memory
ATmega 328
7-9V
5V
16 MHz
14
6
8
1
32 Kb
ATmega32U4
5-12V
5V
16 MHz
12
4
5
1
32 Kb
ATmega2560
7-12V
5V
16 MHz
54
16
14
4
256 Kb
ATmega32U4
7-12V
5V
16 MHz
20
12
7
1
32 Kb
ATmega328
7-12V
5V
16 MHz
14
6
6
1
32 Kb
SAM3X8E
7-12V
3.3V
84 MHz
54
12
12
4
512 Kb
 

Back To Top

Need Customization?

With our experienced team of electrical, firmware, and software engineers, we provide custom designs and solutions to fit your needs. We have extensive experience in electronics deisng with high-speed digitial and analog design. Embedded firmware development using USB, Ethernet, RS-485, RS-232, SPI, and I2C protocols. We also do significant application development in .NET to allow simple and easy connectivity and control from a computer.

 

MCU types

 

Learn about the architecture, basics, and industry leaders in microcontrollers. This page explains the key details and programmable microcontrollers, especially Arduino microcontrollers and ARM based microcontrollers.
Powered by SuperDroid Robots, Inc