Non-invasive tachometer using IR reflection technique and PIC18F2550

Back in the old days where you won’t find any LCDs and seven segment displays – thus in the past the world of electronic indicators is ruled by the infamous analog dials – the one with the arm that points to values in the back ground. Back then tachometers, which are used to measure rotational speed is made up of a DC generator, the voltage output of the generator is then used to crank up the analog dial to indicate the speed of the shaft of interest – which is given in RPM or rotations per minute. This is not portable since one must attach the DC generator to the shaft either by a coupling or any other means – not to mention the dangers when dealing with high speed … Continue reading

How to scroll characters on LED dot matrix display?

At the beginning of this month, we reviewed Embedded Lab’s ( tutorial for beginners on interfacing an LED dot matrix to PICMicro ( It was a very good description of basic structure of LED dot matrix and how static characters are displayed on it. Embedded Lab has just posted a continuation of that and now explains how to scroll the characters on LED dot matrix display. The LED matrix used has 8 rows and 16 columns. The sixteen columns are driven by two 8-bit serial-in-parallel-out shift registers (74HC595) whereas the eight rows are controlled through the decoded outputs from a decade counter (CD4017). This arrangement requires only 5 I/O pins of microcontrollers to drive the matrix of 128 LEDs, and therefore, a mid-range microcontroller can also be used (although, the … Continue reading

Connecting multiple I2C devices on a common bus

I2C communication protocol is so popular today that you can buy varieties of I2C compatible devices in the form of temperature sensors, serial EEPROMs, real-time clocks, LCD drivers, port expander, and so on. While most modern microcontrollers do have built-in I2C communication port, it’s implementation requires a good understanding of the protocol in general, its signal types, and an addressing scheme for uniquely identifying multiple devices on a common I2C bus. Embedded Lab’s new tutorial on I2C communication covers all the detail that is required for connecting multiple devices on a common I2C bus. The tutorial uses PIC18F2550 microcontroller, to which are connected three I2C compatible devices: 2 EEPROMs (24LC512) and 1 temperature sensor (DS1631). In the experiment, the microcontroller receives the temperature readings from DS1631 sensor and stores them … Continue reading

Interfacing LED dot matrix display to PIC

LED dot matrix displays are great way to display text, graphical and animated information. Interfacing of these displays is easy. In following tutorial you’ll find all those simple tips on how properly connect LED dot matrix display to microcontroller and how to write code to drive it. Tutorial is wrapped around StartUSB for PIC board with PIC18F2550 microcontroller. It drives LEDs via ULN2003A Darlington transistor array IC. Great tutorial with great explanation that will lead you to easy start. Continue reading

A geeky way of keeping time using PIC18F2550

The build for a geeky clock is on!  AndyO fashioned a digitally programmable clock – not just any ordinary clock this one comes with loads of geeky functions, some of which are overly geeky they are not really necessary – but in a nice way! This clock has two arms, rotary dial? Nah! That’s not geeky enough. AndyO have dials similar to an analog meter one dial for the hours while the other for the minutes. It has LED indicators and front panel lighting, also has buttons and guess what – this clock has a USB port! Settings are loaded to the clock using USB interface. The clock’s dials are actuated using servo motors with a gearbox. The brain? A clock with a brain? Yeah this one has a PIC18F2550. … Continue reading