Easily use Microcontrollers in Your Projects

Microcontrollers let you control hardware in new ways; if you don't get it right first time, or just need new system operation, then re-program it! There are many microcontrollers but the most popular is the Arduino Uno.

Here you can find Projects and Tutorials designed by me an Electronics Design Engineer experienced in both hardware and programming.

What you could do:

Use a microcontroller for measurement and control.
Make a weather station by connecting sensors that return Pressure, Humidity and Temperature. Display the results on an OLED screen.
Or make a robot by controlling some servo motors! (or a 3D printer). Much more...

A microcontroller is a self contained processing unit with in built RAM, Flash and (what I call) internal peripherals such as an Analog to Digital Converter (ADC).

An Arduino contains a microcontroller but provides you with an entire eco system including:

  1. Compiler.
  2. IDE (Integated  Development Environment).
  3. Flash programmer (Built into IDE).
  4. Pre-programmed microcontroller (On Arduino Board)
  5. Easy One-Button programming.

This makes the Arduino Extremely Easy to use.


The Arduino project makes it even easier to use microcontrollers as it gives you an open source compiler and simple IDE (Integrated Design Environment). It lets you program in C/C++ and upload programs very easily with the push of a button.

Arduino makes creating electronic projects Easy.

All you have to do is figure out what you want to make, and then program it!

On this site you can find out about microcontrollers:

  • What they are,
  • What's inside them,
  • Why you need them,
  • How to use them in your projects.

A microcontroller is a circuit element that is completely self-contained, packed with lots of different hardware blocks such as counters, comparators, even ADCs built in, so there is no need to wire up too much external hardware to make useful projects.

Here's a small sample of usage, You can:

  • Add an LCD display screen (simple text display output)..
  • Time events easily from the very long: hours and minutes, to the very short: 100's of microseconds.
  • Use Analogue inputs to measure Pressure, Temperature or Humidity measuring data output from a chip.
  • Use a GPS unit to find out your exact location.
  • Connect a Radio module for short range comms e.g. Bluetooth or a dedicated 433MHz comms system or even connect to a Ziggbee network.
  • Control Servo motors or a Stepper motors to make robots and interactive systems.
  • RFID.
  • Distance sensing.
  • Irrigation control.
  • Serial communications.
  • RF interfaces.
  • Much more!...

Here are 5 different microcontrollers  - ok they all look the same - but some work faster or have different internal peripherals e.g. timers, ADC, I2C, SPI comparators and more):

different microcontrollers

Clockwise from top left is 18F2550, 12F675, 16F628, 18F877A, ATMega328P.

Note: Even the the smallest one chip shown in the image above (12F675) has a lot of internal peripherals; 2 Timers (one 16 bit and one 8 bit), 4 Analogue inputs (10 bit), an internal oscillator and an analogue comparator along with the standard memory and RAM. All the rest have much more (even so you can do a lot with the 12F675).

You can use microcontrollers for many, many different applications and all you need to do is learn how to program them using the information on this site.

Microcontroller Projects

There are many FREE projects on this site (with source code in C) that you can use to learn about microcontrollers including an ultrasonic distance meter, an led matrix driver, and more.

Each Project includes source code, description and schematics which you can use as a basis for starting your own projects or just use them stand-alone - to obtain the source code - just sign up for the free newsletter in the forms on any page..

Just Starting out ?

Check out the tutorial section where you'll find tutorials on building the circuits, device programming, prototyping and using high level languages.

Need some extras ?

The tips and techniques section gives information on designing specific circuits that either are difficult or that save you time and effort.

Did you know ?...

...98% of the processors used today are microcontollers - that means for every 2 desktop computers you can see in an office there are 98 others that you don't see!. They are in everything toasters, microwave ovens, security alarms, mobile phones, petrol pumps, jogging machines, key fobs... the list is endless.

The reason is simple - reprogrammability - they are effectively reconfigurable hardware blocks. This is important as you don't have to re-wire the circuit when you want a different operation from an existing circuit. You can change their operation very quickly - even in circuit!

All of them have at least one built in timer, often several, as well as other goodies such as comparators, PWM modules and ADCs and more. These are all internal hardware units making it simple to create almost any project you can think of. All you need to do is decide what to use, and then activate the appropriate modules.

On this site you can learn how to use these compact devices to create any type of project you can dream up, and you don't have to work in low level assembler - all the projects use high level C Programming which makes it easier to update and understand what is going on. 

The navigation bar shows you some of the projects, all of which include free C code and description.

Microchip and Atmel (Arduino) are very popular

There are many different types of microcontroller from many different manufacturers and two popular types are from MicrochipTM and AtmelTM: In fact Microchip has bough Atmel (2016) to broaden their product range - but you won't see any difference yet they still look like separate companies.

MicrochipTM (Industry popular PIC range)

MicrochipTM specialises in supplying almost bespoke solutions (microcontrollers) for a problem and creates hundreds of different variants. The idea is that you create a solution to a problem and you want to cost reduce it so what you really want to do is chop out all the hardware that you do not need. 

There are many variants with added built-in modules such as a GLCD lcd driver, a motor controller, a capacitive touch sensor etc. So you choose a device based on what hardware you want to control. You can even get 6 pin SMD (SOT-23) microcontrollers!

On this site only a few devices are used 12F675, 16F88, 16F877A, 18F2550 because these devices offer a broad range of internal peripherals found in almost all in the devices in the same family (12F,16F 18F). You can learn here about these devices and be able to move easily to another, since the internal hardware is controlled in the same way.

There are also examples of using Arduino for building projects wit the main device in these being the AtMega328p which is broadly similar to the 18F2550.

AtmelTM : Made extremely popular by the Open source ArduinoTM group. 

You have probably heard of the ArduinoTM which is not a microcontroller but rather an open source movement that uses Atmel (and other) microcontrollers to offer a simplified way of connecting hardware (shields) and control devices (software). Because the hardware and software is open source many people have contributed free software so it makes it easy to quickly setup and create something. 

Be warned though that just because you can use other software and connect it quickly may not mean that you understand it - and that means that any bugs in the software are up to you to find and correct.


Have your say about what you just read! Leave me a comment in the box below.

Don’t see the comments box? Log in to your Facebook account, give Facebook consent, then return to this page and refresh it.

Privacy Policy | Contact | About Me

Site Map | Terms of Use