Raspberry Pi-Getting started with the revolutionary computer

jojo November 6, 2012 3 Comments
Are you hearing the name “Raspberry Pi” for the first time? Then you must really recheck your reading habits! I must say that you are not up to date with the latest happenings around the world ūüėČ Well, Raspberry Pi is nothing more than a small,customizable computer. When you read “computer“, dont think that its something like an Ipad or a Samsung Galaxy Note. Raspberry Pi is an educational product designed for students/hobbyists to learn computer easily.  It is available in...
read more

Getting Started with Keil uVision

Nilay Banker November 4, 2012 21 Comments
An Introduction to Keil MicroVision Embedded system means some combination of computer hardware and programmable software which is specially designed for a particular task like  displaying message on LCD. If you are still wondering about an embedded system, just take a look at these circuit applications using 8051 microcontroller. You can call these applications embedded systems as it involves hardware (8051 microcontroller) and software (the code written in assembly language). 1. Voltmeter using 8051 2. Thermometer using 8051 3....
read more
Random number generator circuit

Random number generator using 8051

admin July 21, 2018 9 Comments
DIY Random number generator A ¬†random number generator using 8051 that displays a random number between 0 & 99 is shown in this article. The circuit itself is very simple and may not find any applications in serious embedded projects and this article is just an illustration. The circuit is based on AT89S51 microcontroller, two seven segment LED displays, two transistors and few passive components. Circuit diagram List of components Microcontroller (AT89S51) – 1 nos Push button switches –...
read more

Digital thermometer using 8051

admin December 13, 2012 29 Comments
Thermometer using 8051. This article is about a simple 0-100°C digital thermometer with 1°C resolution using 8051. The circuit is based on LM35 analog temperature sensor, ADC0804 and AT89S51 microcontroller. LM35 is an analogue temperature sensor IC which can measure a temperature range of -55 to 150°C. Its output voltage varies 10mV per °C change in temperature. For example, if the temperature is 32°C, the output voltage will be 32 x 10mV = 320mV. ADC 0804 is used to convert...
read more

Most Popular Simple Electronic Circuits

jojo January 3, 2018 3 Comments
In this article we are attempting to list the most popular electronic circuits we have published over the last couple of years. ¬†We know, its a little difficult task! First hurdle to cross is selecting the criteria to decide – “what makes a circuit popular ?“. Next hurdle is listing all of them in an ordered and categorized manner. Some circuits may seem so silly and simple for an experienced hobbyist/electronics geek, while some other circuits may seem so...
read more

Voltmeter using 8051

admin October 4, 2012 14 Comments
Voltmeter using 8051. A simple 0-5V voltmeter using 8051 is shown in this article. This digital voltmeter has a sensitivity of  200mV which is a bit low but this project is meant for demonstrating how an ADC and seven segment display can be interfaced to 8051 to obtain a digital readout of the input voltage. A 31/2 digit high end voltmeter will be added soon. ADC0804 is the ADC and AT89S51 is the controller used in this project. Before...
read more

AVR Microcontroller Tutorial – The complete guide to learn AVR

jojo September 29, 2012 5 Comments
We have developed a complete guide to learn AVR microcontroller – a tutorial which teaches the architecture,pin diagram,how to program an avr micro controller, how to work with ADC of avr, how to work with SPI of avr,interfacing LCD with avr, the avr gcc library, how to work with external interrupts, how to establish a USART communication etc. We have also developed a simple project to try your hands on – a frequency counter circuit built using Avr Atmega8....
read more

Control structures and statements in C and C++

jojo September 20, 2012 8 Comments
Control structures form the basic entities of a “structured programming language“. We all know languages like C/C++ or Java are all structured programming languages. Control structures are used to alter the flow of execution of the program.  Why do we need to alter the program flow ? The reason is “decision making“! In life, we may be given with a set of option like doing “Electronics” or “Computer science”. We do make a decision by analyzing certain conditions (like...
read more

Quick Sorting algorithm with example code in C/C++/Java languages

jojo September 18, 2012 No Comments
We have seen 3 simple sorting algorithms already 1) Bubble Sorting 2) Selection Sorting and finally Insertion sorting. All these algorithms were so simple to understand and were easy to implement as a program in C/C++ or even Java. But at the same time all 3 of them were too inefficient.  Their execution time was of the order of n*n, where n is the number of elements to be sorted. In practice, these simple sorting algorithms are seldom used. ...
read more

Insertion sorting algorithm with example in C/C++/Java languages

jojo September 17, 2012 No Comments
So far we have seen 2 sorting algorithms:- 1) Bubble sorting and 2) Selection sorting. Now in this article, we are analyzing insertion sort algorithm with its example code suitable for C/C++/Java programming languages. I recommend you go through above articles of Bubble sorting and Selection sorting before reading further.  Insertion sorting algorithm sorts one element at a time. It begins by sorting the first 2 elements in order. In the next step, it takes the third element and compares it...
read more

Bit rate Vs Baud rate – the common misconception

Anish September 17, 2012 17 Comments
The two most common/confused words in digital communication – Bit rate and Baud rate. Generally, communication is concerned with transmission of data. In digital communication, there are two entities that are needed to carry out communication – the data to be transmitted and the signal over which the data is transmitted. Now, we have two entities to be worried about – the data and the signal. The most common misconception is that most people think both travel at the...
read more

Selection Sort in C/C++/Java programming languages

jojo September 17, 2012 No Comments
In the previous article, we have analysed Bubble sort algorithm and it’s implementation in C programs. In this article we are going to see another sorting algorithm, named, Selection sorting. Just like “Bubble sort”, selection sort is also considered as an inefficient sorting algorithm. If you are curious to know the reason for this, please read the article about Bubble sort carefully. The number of comparisons involved in an average bubble sort is 0.5*(n*n-n). Same is the index for...
read more

Difference between Procedure Oriented(POP) and Object Oriented Programming(OOP)

jojo September 14, 2012 7 Comments
We all know there exist 2 approaches to write a program – 1) Procedure oriented programming (POP) and 2) Object oriented programming (OOP). You can write a program in either way but there are notable differences between both approaches. These 2 approaches are the result of software development evolution over many decades. Since the invention of computer, many approaches and methods have been tried to write a program. It includes methods like a) Top-Down programming b) Bottom-Up programming c)...
read more

How to recover/reset admin username and password of Vbulletin forum software

jojo September 11, 2012 2 Comments
This article is a little off topic as it is not related to electronics! However I thought this would be useful for some one who manages a Vbulletin forum software. For those who find the name “Vbulletin” alien, it’s a forum management software. We use it to power our CircuitsToday-Forums. Recently we lost access to our “administrator” account of our forum software! There had been no way we could access the admin account and all attempts to retrieve password...
read more

Interfacing ADC to 8051

admin September 6, 2012 6 Comments
ADC (Analog to digital converter) forms a very essential part in many embedded projects and this  article is about interfacing an ADC to 8051 embedded controller. ADC 0804 is the ADC used here and before going through the interfacing  procedure, we must neatly understand how the ADC 0804 works. ADC 0804. ADC0804 is an 8 bit successive approximation analogue to digital converter from National semiconductors. The features of ADC0804 are  differential analogue voltage inputs, 0-5V input voltage range, no zero...
read more

How to work with the ADC unit of an AVR Micro-controller

Mathew Kevin July 9, 2017 3 Comments
Introduction                 The first step to digital signal processing is to convert a signal into digital data, and here the Analog to Digital Converter devices comes into action. Some of the AVR micro controllers include ADC unit in their features. This is a very useful unit for measurement related applications. The ADC used in AVR micro controllers are of successive approximation converter type. Read the Wikipedia article on SAR type ADC here. And you can read the Circuitstoday article...
read more

Working with External Interrupts in AVR micro controller

Mathew Kevin July 10, 2017 3 Comments
Introduction to Interrupts ¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† Although micro controllers can accept inputs from Digital I/O Ports,interrupts are preferred for accepting inputs generated by external events. This is mainly because of the less attention required for an interrupt based program. An Interrupt Event directs the flow of program execution to a totally independent piece of code, known as ‚ÄúInterrupt Sub-Routine‚ÄĚ. There are many sources of Interrupts that are available for a micro controller. Most of them are generated by the internal modules...
read more

How to Establish A PC-Micro controller USART communication

Mathew Kevin July 10, 2017 8 Comments
 Introduction USART is one of the primitive inter-device communication protocols. It is not used in modern computers. But still, a few mother boards come with the module necessary for an USART communication. Here, in the case of PCs, the port is known as COM port and it follows RS232 protocol. It is no different from USART except for the voltage levels and some additional signals. Commonly MAX232 IC is used to translate the voltage level. MAX232 is a simple...
read more

Water Level Controller using 8051

admin January 23, 2018 178 Comments
Water level controller using 8051. A water level controller¬† using 8051 is shown in this article. A lot of water level controller projects have been published in this website but this is the first one based on a microcontroller. This water level controller monitors the level of the over head tank ¬†and automatically switches on the water pump when ever the level goes below a preset limit. The level of the over head tank is indicated using 5 LED’s...
read more

Bubble Sorting with example in C/C++/Java

jojo September 17, 2012 6 Comments
Bubble sorting is one of the simplest sorting algorithm that we can use to sort an array or a structure. Though it is so simple to implement in a C program, bubble sort is also considered as an inefficient sorting algorithm. Bubble sort comes handy in cases where the total number of elements to be sorted is so small (may be in the 100’s range). When the data size is large/huge bubble sort is seldom used in practical programming world. Let’s...
read more

How to Work With SPI in AVR Micro Controllers

Mathew Kevin July 10, 2017 12 Comments
Introduction                 Micro controllers support wired communication protocols. Most of the time, microcontrollers come along with internal modules that support these protocols. The commonly supported protocols are: UART or USART communication SPI TWI USI etc. And few advanced protocols like: USB CAN Ethernet  etc. SPI stands for Serial Peripheral Interface and it is the simplest among all the communication protocols. 8bit data registers in the devices are connected by wires. These data registers works as shift registers and one...
read more

Void pointers in C

jojo July 26, 2012 8 Comments
In this article we are learning about “void pointers” in C language. Before going further it will be good if you refresh about pointers by reading – Introduction to pointers in C.  A pointer variable is usually declared with the data type of the “content” that is to be stored inside the memory location (to which the pointer variable points to). Ex:- char  *ptr;       int  *ptr;      float  *ptr; A pointer variable declared using a...
read more

Introduction to pointers in C

jojo July 25, 2012 9 Comments
The basic purpose of developing a C programming tutorial for this website – CircuitsToday – is to make it useful for people who wish to work with embedded systems. Really good C programming skill is an essential to work with embedded systems and “Pointers” is the most important concept in C that should be mastered by an embedded systems programmer. “Pointers” are so important because it enables a programmer to work directly with memory of the system. Memory of...
read more

Compilers vs Interpreters – An overview of the differences

jojo July 19, 2012 5 Comments
It is a general notion that people try to classify programming languages as either “compiled” language or “interpreted” language. Even experienced programmers tend to get confused here! But the fact is, programming languages are neither “compiled” nor “interpreted” types. They can be both at the same time. Compiling or interpreting -both are 2 different ways of implementing the same program written using a programming language. A program written in C language can either be compiled or can be interpreted....
read more