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. They come is a vast array of packages and capabilities. The idea is to meet the engineering challenge will the appropriate level of force. If your problem consists of monitoring data or sensors and manipulating an actuator, status LEDs or to transmit then the latest Intel powered computer would be incredibly excessive, expensive and cumbersome. This is where the microcontroller comes in. It provides us a tool to complete the task cheaply and with ease.
There are two main "houses" for microcontrollers, PIC and AVR. PIC (Peripheral Interface Controller) microcontrollers are made by Microchip Technology. AVR (Advanced Virtual RISC) is designed by the Atmel corporation and are the semiconductors that power the popular Arduino platform.
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.
There isn’t a cut and dry winner, especially for a beginner. Some diehard enthusiasts and professionals loyal to either brand will swear by their platform of choice’s capabilities. However, both come in such an array of price points and features that it is truly a matter of taste and comfort ability. An abundance of development boards exist for both PIC, such as our custom PIC boards, and the Atmel based Arduino Mega 2560.
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.
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 cancelled 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 microcontrollers have an array of development environments available for both the beginner the professional. MPLAB’s IDE is open source and can be found on MicroChip’s website. Other paid alternatives are MickroC Pro which allows you to program your microcontroller in C, or Microcode Studio for Basic.
We design and produce an array of custom PIC development boards to allow easy programming and interfacing with video, servos, motors, and various communication protocols (RS232, RS485, TTL, etc). You can choose one of our stock boards, or commission your own to suit your specific needs.
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.
When getting started with Atmel and the Arduino platform, we suggest looking at the Arduino Mega 2560 as it’s compatible with anything designed for the Arduino Uno or Leonardo but with additional analog and digital I/O. This will allow for greater flexibility with the development board.
The Arduino Mega 2560 development board is equipped with:
Arduino microcontrollers can be programmed with their Arduino IDE (integrated development environment) which allows you to program the microcontroller in a programming language similar to, C. Provided with the IDE are several examples to get you started. For specific issues you man run into, please see their forums.
With our team of electrical engineers, we provide custom microcontroller boards based on your needs. Here's a look at the boards we currently offer.
A custom made PIC microcontroller board based on the PIC16F887 microcontroller. It supports 10 analog I/O and 14 digital I/O. To interface with the board a five pin header is provided.
A custom microcontroller development board based on the PIC 18F6622 microcontroller. The board supports the RS485, RS232 and I2C standards for communication. For programming, a 5 pin header is supplied.
