Build Your Own Microcontroller Projects

Wichit Sirichote, wichit.sirichote@gmail.com

Department of Applied Physics, Faculty of Science,

King Mongkut's Institute of Technology Ladkrabang, Bangkok 10520, THAILAND



This page provides schematic and software for hobbyists to practice "learn by doing", build a simple microcontroller projects at home.

Microprocessor and Microcontroller Training Kits



Power supply and LCD information Details of barrel connector size, LCD, Flash ROM for microprocessor kits.



AT89C2051/4051



AT89C2051 Programmer using Linux terminal Build the 89C2051 programmer for linux users.



Single-Side PCB for Easy-Downloader V1.1 Easy build and small size single side PCB for the 2051 programmer board.

Mathematical Manipulation of Pure Sine Wave Inverter using ATMEL 89S2051 Didik Rostyono and Harsono Hadi explain how to produce the sinewave output inverter using the ATMEL microcontroller! (available only in pdf file (274kB), click the link to download it)



AT89C4051 as RTC updated Realtime Clock with LCD by Ajay Bhargav, featuring big size number!



xTimer V1.0 with 4094 New design xTimer using CMOS shift register 4094 for driving 7-segment LED directly! .



AT89C4051 as RTC Realtime Clock with LCD by Ajay Bhargav from India.

saver6 Latest design night light saver, built with sdcc.

xTimer V1.0 4-Channel Timer, 89C4051 + MAX7219 display driver. Source code with sdcc available now!

89C2051 Proto Board Layout PCB for experimenting with 89C2051 & AVR uController by M Asim Khan, Pakistan.

Download Now ezdl4 ! New PC software for Easy-Downloader V1.1 and V2.0. No problem with unsorted hex file. Automatically detect COM Port and programmer board. Updated EZ4.1.

Easy-Downloader V1.1 with SDCC Renovated programmer board with SDCC, complete schematic and layout with MAX232 for rs232 level converter!

Easy-Downloader V1.1 Serial interface programmer board for writing intel HEX file to the AT89C2051/4051 flash based microcontroller. New EZ Uploader V3.0 for Window and PCB file are included.

Make Your Own Single-Side PCB for Easy-Downloader V1.1 I am very happy with my student, Plermjai (his name means feel delighted too) Inchuay (his family name means angel helps him), who provides me his page describing how-to-make a single side PCB for the Easy V.1.1. So cool! his prototype was made by hand writing with a pen for making PCB! Available now single side with Protel format.s

Very Easy Single-Side PCB for Easy-Downloader V1.2 Puiu Chiselita from Romania provides us a very easy single-side PCB with some modification for RS232 level converter and indicating LED. Puiu detailes how to make the board at home and gives some useful trick to making a board easier.

Experimenting the 2051 with C Programming I provide this page for beginners who interested in using C and Assembly for the 2051/4051 chips, e.g., driving dot LED, scanning 7-segment and keypad, connecting dump terminal, stepper motor, SSR, interfacing I2C EEPROM, display driver, calculating CRC-16, etc.

Night Light Saver V5.0 I have designed a device that controls a night light at home. The saver uses 2051 chip and a small triac. The saver features low-cost, simple installation, no battery backup, and save energy.

Clock Controller V1.1 The Clock V1.1 provides the same function as the saver does but with additional 4-digit LED display and 4-key input for setting the clock and turn on/off AC load. The circuit uses single 2051 chip, and relay or opto-triac output for driving AC load. source code with sdcc for 8051!

DigiThermo V1.0 Build a laboratory instrument that measures time and temperature. A 89C4051 interfaces 16x1 line LCD, 3-digit DVM CA3162 and LM35D precision temperature sensor. This device is capable of providing 0.1C readout.

Miniature Real-Time Controller This is my long history home-use-controller that has been using at my home since 1997. The Miniature Real-time Controller has a 2051 chip with timer6.asm, an open collector 74LS07 and MAX232 chip. The scheduler of on/off time for 6-channel output is downloaded via PC.

Line Follower ROBOT Controlled by 2051 Award Winner from VINGPEAW Competition 2543 by my student, again, Plermjai Inchuay. He provides this page describing his robot platform, control circuit by 2051 chip, black tape sensor, and control program in C. See MPEG file how the robot tracks the course during competition.





8051 Microcontroller Family



Interfacing the 8051 Project Board with a 12 bit - 4 channel ADC using SPI bus Demonstration project of using SPI port for ADC interfacing



Interfacing the 8051 Project board with sensors and actuators Sample projects for 8051 Project Board



Project board for SST89E516RD microcontroller New design project board for SuperFlash microcontroller.



BASIC-52 CONTROLLER Turn the 8051 kit into a dedicated controller that uses BASIC interpreter

Dual channel digital voltmeter Digital voltmeter with bluetooth

Realtime controller V2.0 New design realtime controller using 89S52 with builtin clock display and keys for time settings.

USB Easy-Downloader V5.0 Modified Easy-downloader V2.0 to provide USB interface.

How to use Flashmagic to program the SST89E516RD Microcontroller Transform the SST89E516RD to NXP89V51RD2 and use Flashmagic to program it.

Test board for SST89E516RD Build a test board for experimenting with EasyIAP, replace the NXP89V51RD2 with SST89E516RD



Digital Clock Replacement Board for E21 Build a replacement board for BMW E21's digital clock.

Fan Thermostat Build a simple fan thermostat with LM35, ADC0804 and 89C51.

Data Acquisition System with VB Build a data acquisition system with Visual Basic and the 89C51.

The 89Sxx learning board Build a simple and cheap 89Sxx MCU learning board by Tahan Prahara, Indonesia.

The 89C51 PABx Mohammad Shakeel from Pakistan describes how to build a simple PABx board using the 89C51.

89S52 Project Board Simple 89S52 board for student projects.

Controller for Hybrid Power Plant The 89C51 control board for controlling photovoltaic-wind turbine and diesel engine. Developed by Didik Rostyono from Indonesia.

LCD Thermometer 2nd version of Thermistor Thermometer.

Thermistor Thermometer Simple thermometer made with NTC thermistor.

Digital Clock with Alarm using DS1307 new design by Ajay Bhargav, best for student projects.

SPI Flash Microcontroller Programmer V3.7, new hardware and software for programming 89Sxx and AVR chips. Designed by Mohammad Asim Khan.

New 8051SBC Brown-out protection, WDT, 20x4 LCD BUS interface. Simple scope using Nokia 3310 LCD.

ATMEL 89 Series Device Programmer more chips and easy-use devices programmer!

S-52 Simple Microcontroller Learning Board Simple hardware for beginner to learn 8051 microprocontroller, single side pcd with ISP loader designed by Prahlad Purohit from India.



Cheap Cable of Asim's ISP Loader for 89Sxxxx Simple hardware for code programming new series MCU from ATMEL, 89S51, 89S52, 89S53, 89S8252.

ISP Flash Programmer V3.0a Flash programmer using ISP designed by M Asim Khan for AVR and 89Sxx series. Updated software! (recommended for applications)

MiniLOGGER V3.0 New design data logger board, 64kB T89C51RD2, 4-channal 12-bit ADC, built-in LCD and 128/512kB battery backup memory. New page for minilogger DC Amplifier for Pyranometer

USB & GLCD expansion board for 8051SBC Simple circuit for USB and 128x64 GLDC interface.

Experimenting the 8051SBC with c51 compiler sample code and startup file for 8051SBC. Using a popular c51 compiler with monitor program.

8051SBC V1.0 New generic tool for learning microprocessor. The 8051SBC, Microprocessor Learning Board. More commands and peripherals. Complete schematic, PCB layout and firmware are available now. (recommended for applications)

Easy-Downloader V3.0 New design the flash programmer board specially for 89C55WD. The lock and erase functions are now implemented and tested. (not recommended)

Easy-Downloader V2.1 Simple modification of Easy programmer V2.0 enables the 89C55WD to be programmed. The beta version of EZ55.HEX and source code EZ55.C are available for download.

M Asim Khan's Programmer Ver 3.1 Latest M Asim Khan's Programmer featuring more chips, enhance programming speed, support Window2000/XP. New target chips, 87C51 and 87C52.

C52EVB V2.0 with 32KB eeprom boot loader New Microprocesssor Learning Board for 89C52 CPU with 32KB external eeprom. Modified PAULMON2 provides program saving and boot loading.

Easy-Downloader V2.0 The simple programmer for 40-pin AT89C51/52/55. Modified firmware for free compiler 8051, sdcc. Beta version for 89S51 and 89S52, a bit hardware modification.

Using Easy-Downloader V1.1&V2.0 with Unsorted HEX Files Kurnia Wijaya from Jakarta Indonesia helps me writing the program that sorts the intel hex file generated by some compilers.

How Easy-Downloader V2.0 Connects Host PC Details description of simple protocol between programmer board and host PC's software.

Program the AT89S8252 and 89S53 with Easy-Downloader V2.0 Upgraded EZ52 to EZ53.hex enabling the Easy-Downloader to program 89S8252 and 89S53 chips without any modifications.

Make Your Own Single-Side PCB for Easy-Downloader V2.0 This work was contributed by Bruno Macio from Brazil, a single-side PCB for Easy II with MAX232C for RS232 level converter. For those who use Portuguese may ask him directly.

Very Easy Single-Side PCB for Easy-Downloader V2.2 A variant single-side PCB of Easy V2.0 contributed by Puiu Chiselita from Romania.

EZ Uploader V3.0 Download a window version of EZ and EZ2, the beta EZ3, automatically connects the Easy-Downloder V1.1 or V2.0 to an available COM1-4 port.

EZ Uploader V3.1 Upgraded EZ3.0 with additional READ command and SAVE AS Intel-HEX file.

C-52 Evaluation Board This board uses 89C52 with a modified 8kB PAULMON2 monitor program , 32kB SRAM for writing application program. The C-52 EVB was designed for studying "Assembly and C Language Programming for Microcontrollers". Latest PCB file included.

C-52 EVB Robot Controller Use a C-52 EVB for simple robot experiments. Build a simple two wheels robot with L293 H-Bridge driver and IR sensor. Write a C program controls robot tracked with black tape.

MiniLOGGER V1.0 Build your own a personal data logger having 8-channel analog input -99mV to +999mV with 1mV resolution (CA3162), 3-digit dual slope integrating converter, battery backup 256kB SRAM, RTC, RS232C, direct connected internet server for remote data retrieving. Example circuit and data for measuring Insolation and Air temperature is included. (not recommended)

Connecting MiniLOGGER with Easy-Server V0.9 Run Easy-Server V0.9 on PC connected to internet gateway enabling remote access the MiniLOGGER.

Simple RS422 Converter for Minilogger Build a simple RS422 converter for the Minilogger.





AVR Microcontroller



AVR ATMega 8535/16/32 Learning Kit Build the AVR mega board and I/O modules

Data Acquisition using ATmega8 Build the AVR ADC board and PC software for temperature logging.

Tiny2313 Development Board Easy build AVR Tiny development board.



AVR Line Following Robot Schematic and c source code for building line following robot by Priyank Patil from India.

AVR Thermometer Build a simple digital thermometer using 20-pin uC, AVR 90S2313 and DS1820. The thermometer is capable of measuring temperature from -55C to +125C! with 1 degreeC resolution.

Experimenting the AT90S8535 with CodeVisionAVR C Compiler Build a simple STK200 compatible ISP cable and a simple 90S8535 circuit. Do a simple experiment with an Evaluation Co deVisionAVR C Compiler.

STK200/STK300 ISP Header Pin diagram of STK200/STK300. Note for MEGA103 ISP signal.





Microchip Microcontrollers



Electric window controller cheap device for controlling electric window.



Data Logger 3 Latest design data logger for science experiment in school. DIY sensor, cheap.

G5 Data logger LBuild the multichannel data logger with 20 bit ADC converter.



Pt100 Handheld thermometer Build the ITS-90 thermometer with PIC18F87J93 PIC LCD and Pt100 sensor. Interfacing varitronix glass LCD with LCD port.

Bluetooth data logger Record one channel temperature and transfer with bluetooth.

4 Channel Pt100 Thermometer Display four channels in 0.1C with Pt100.

Solar Recorder The PIC Solar recorder for daily insolation measurement.

PIC 3rd Harmonic Meter The PIC board detects 3rd harmonic distortion of AC power line.

PIC Project board PIC project board for 40 pins PIC MCU, PIC16F887, PIC18F4520.





PIC18F2550 Project Board PIC Project board designed for student projects.

In-circuit PIC Loader ICSP loader using LPT interface for programming PIC chips in application board.

ezPIC Programmer for PICs and EEPROMs ezPIC is low cost serial port programmer for PIC microcontroller and I2C EEPROM.

Easy Debugging Terminal Build a simple 9600 BAUD 8n1 terminal for debugging and testing device having RS232C output. A Microchip PIC16F84 connects a 16x1 line LCD for displaying ASCII code received from a device being tested. No longer need an expensive notebook to connect factory's equipment just to see why it is not properly functioning. The battery supply provides galvanic isolation from hazardous factory's power system. Thanks to M Asim Khan from Pakistan for providing this project.

F84-Programmer Before start build PIC circuit, one should build this circuit first, a simple serial writer for PIC16F84 chip. The circuit is so simple and easy-to-build. The writer works with Nigel WPicProg16 and easily connecting to PCW PIC C Compiler.

Night Light Saver V3.2 Now it's time for Microchip PIC12C508 8-pin Microcontroller. The saver turns a night light on and off with preset time, no battery backup, easy installation. (not recommended)

F84 Miniature Real-Time Controller A PIC16F84 runs with 32 kHz low power x-tal having 6-output. A preset on/off each channel with current time is resided in EEPROM.

(recommended for applications)



Motorola 68HC11, 68000, 68HC08

Sample code for Interfacing Devantech CMPS03 to the Motorola 68HC11.



Time Switch V1.0 New weekly scheduler made by 68HC908QY4 with kaypad and 16x1 line LCD! (not recommended)

Electronic Distance Meter Simple device for measuring distance while riding bicycle. The 16-pin Nitron chip interfaces 16x1 line LCD!

HC08 FAN Timer Simple circuit with 16-pin Nitron chip 68HC908, easy analog setting, source code with ICC08. New s-record for 8-pin 68HC908QT2!

68000SBC Build a 32-bit computing power single board with 68HC000, 256kB SRAM, 256kB Flash, RTC, UART, and GPIO.

HC-11 Evaluation Board Build a low-cost evaluation board for Motorola 68HC11. Downloadable BUFFALO V3.4 to 32kB SRAM for learning Assembly programming and 68HC11's architecture.





Intel x86





C186SBC smaller than C188 but more powerful 16-bit data bus built with 80C186EB.

C188SBC Build a generic microprocessor learning board, 16-bit single board built with embedded microprocessor Intel 80C188EB.





PC Interface

LCD Interfacing with VB How to interface the LCD with Visual Basic.

Interfacing the LTC1298 with Standard Parallel Port Homemade ADC board that interfaces LTC1298 with 486 PC. Pacific C source code for LTC1298 driver.

Simple Robot

JavaBot Build a cheap and smart line follower robot using analog comparator and IR sensor.