Get Adobe Flash player
English Arabic French German Italian Portuguese Russian Spanish

Did you know?

One lightning bolt has enough electricity to service 200 000 homes

Help us stay online:

small donate


All microcontroller developers for debugging and device control use serial communication via a computer (or other device). The most commonly used serial communication is RS232. Ten years ago, every computer was equipped with a serial port, but today it is uncommon on PC platforms and almost non-existent in laptops.


Read more...

PS2 mouse logoIn this example we give you complete project for AVR readout of PS2 mouse position. Complete code is well commented and available for download on link below. To understand command format and register meaning, see details in The PS/2 Mouse Interface article .
The code is written for ATmega8535, but can be very easily adjusted for any microcontroller. All interaction with mouse is managed in while(1) loop. Very interesting application of this project would be attempt to make robot navigation using simple and very cheap PS2 or USB optical mouse for encoder purposes. Of course, you can allways use mouse in conventional way for some kind of menu or position navigation and control of your device. Maybe for your implementation of robot arm.. Use your creativity.

In this example we read all mouse registers using function loop1(). These registers are:

Read more...

ibuttonAs previously explained iButton - electronic key is widely used for electronic identification purposes in home as well as in professional high security systems. In this article we will give you entire project written in AVR C compiler Codevision that reads iButton code, checks CRC and writes it to serial port.

Read more...

lcd exampleIn this example we will make small project that uses 2x16 character LCD display to write some text and variables to it. You can read more about how these displays work in LCD character Display article. This is very good library that can be very easily adjusted to other microcontroller families (8051,  Pic, dsPic, ARM..) just by changing low level (pin change) functions while everything else remains the same. Another advantage of this is that every pin is set independently, so you do not need to have whole 8 pin port to send data. You only need to define any pin on any port that is available to you. Original library that I used had some flaws and no support for two line display, so I modified and improved it.

Read more...