Monday, March 31, 2014

Presentation on Introduction to GNU/Linux

Sharing my presentation slides on Introduction to GNU/Linux. This would be useful for Windows users who are starting to learn GNU/Linux or even UNIX. The basic ideas and concepts remain same in GNU/Linux and UNIX. Click here to see the presentation.

The presentation can be downloaded. Search for the Save icon on top of the presentation. 

Do share this forward to your friends if you feel that they will benefit from this presentation.

Thursday, March 27, 2014

Seminar on Embedded Systems and Robotics at ASCET, Gudur, Andhra Pradesh

On March 26, 2014, I delivered two sessions of my seminar "Embedded Systems and Robotics using 8-bit and 32-bit Microcontrollers". Each session had an audience of about 200 students of Electronics and Communications Engineering (ECE) stream of Bachelor of Engineering (BE) program. These were all either 3rd year or 4th year students.

The seminar started with a discussion on what are Embedded Systems and where we can find them in our daily life. 

After that a brief analysis of generic Embedded Systems and their application areas was presented. After this a brief introduction to Robotics was given.

A demo of an simple obstruction sensing robot was given. This robot detects obstructions closer than 50 cm or less. If the robot detects an obstruction it stops, reverses for some time and then turns left while going forward and starts looking for the next obstruction.

The demo was followed by an explanation of the robot's components and its working.

Then the most interesting section, How to learn Embedded Systems was delivered. This section covered both Hardware and Software areas of learning.

This was followed by a brief introduction of 8-bit and 32-bit microcontrollers and their advantages & disadvantages. The seminar concluded with a discussion on skills and knowledge that Embedded Systems industry is looking for in its future employees.

The second and final demo was of the HID USB Mouse implemented using ARM9 based NXP2148 microcontroller. Here's a link to the video of the HID-Mouse. 

About the college - ASCET is part of the Audisankara Group of Institutions, Gudur, that has many colleges and around 8000 students in its rolls. Their website -

If you are interested in organizing such seminars in your college, contact us.

Monday, March 24, 2014

Embedded Linux and Device Driver Training Course starting in March 2014

Next batch of Embedded Linux and Linux Device Driver training course is scheduled to start in month of March 2014. This training is very effective for those developers who are working in Linux and C development and want to learn higher skills in the same area. 

Designed for working professionals - Working professionals who need a change in job level should join this course. Morning classes on weekdays, before office hours.

Comprehensive - Course duration is 150 hours of theory and hands-on sessions.

Syllabus link -

Course fees is Rs. 30000/person, payable in installments.

Contact us for more details @ +91 98407 84107 or email at

Monday, February 17, 2014

Announcing next batch for Foundations of Embedded System Design course

I am starting a new batch for Embedded Systems Design training. It will start in March 2014. This is going to be weekend-only batch.

The syllabus includes C refresher, 8051 microcontroller architecture, Assembly programming and Embedded C programming. Interfacing 8051 with LEDs, 7-segment LEDs, LCD, DC Motor, and ADC will be covered. The program ends with a mini-project that will be designed and implemented completely by the trainees with my guidance. Stress in the entire training would be on the trainees learning to do everything on their own, instead of running existing codes.

Course fees is Rs. 15000/person, inclusive of a 8051 Microcontroller based development board worth Rs. 2000. Details of the hardware kit

Training content and syllabus is available -

More details can be found on my webpage,

Follow us on Facebook @NxNVision Solutions

Friday, July 5, 2013

Mini Project: ZigBee based Wireless Temperature Sensor + Data Logger

Posting after a long long time. Hopefully this time the gaps will be lesser.

I had to give a guest lecture to 3rd and final year students of EEE stream in MNM Jain Engineering College on July 3, 2013. Normally I just give a lecture and share my thoughts about Embedded Systems. This time I wanted to show them a demo of a project that evolves from a simple idea to a standalone product, or even a system. 

So I decided to take the example of Digital Thermometer based on 8051, which is a simple project for beginners to Embedded System development.

A small project on converting a simple digital thermometer into a wireless temperature sensor node. The temperature sensor is converted into a wireless node by interfacing the MCU's UART to a ZigBee node. The companion ZigBee node is connected to an ARM Cortex M3 based board's UART that receives the temperature data and sends it to the data logger (the laptop here) through another UART port

Here's the demo video of the Wireless Temperature Sensor

This is just a proof of concept. Adding more wireless nodes with additional features can convert this into a wireless network to manage a building or factory or such large areas.

Slides of my lecture on the project prototype are here:

If you have any questions or queries, do contact me on my email.

Thursday, July 26, 2012

Generating HEX files in Keil uVision IDE

If you are new to Keil uVision IDE, you may have noticed that whether you use ASM code or C code, the HEX files are not generated when you compile your programs. This is because Keil does not generate the HEX file by default. In case you are wondering what HEX file is, HEX file is the output of Keil that is generated after compilation and linking of your application and this is the file that is 'burned' or programmed into your microcontroller or microprocessor.

So, to enable generation of the HEX file follow these steps:

Step 1) Create the Keil project by adding your ASM and/or C source files

Step 2) Open the project options. Use any of the three methods given below:

- Click on Project->Options for Target  (Fig. 1) 
- Right-click on the Target 1 in the project window on the left side of the IDE   (Fig. 2) 
- Simply press ALT-F7 to open the project options:

Fig. 1

 Fig. 2

Step 3) Once the project options window is visible, first click on the Output tab and then click on the empty check box next to Create HEX File. The Output tab should look like Fig. 3. Click on OK and then click on Files->Save All.
Fig. 3

Step 4) Now if you build your target, you will see the associated HEX file in the output directory.

IMPORTANT - You must repeat this process for each new project that you create.

Friday, May 18, 2012

Summer Trainings - Embedded Systems and Linux

I am planning to offer summer training on the following topics in June-July 2012. 

Each training program will end with a mini-project and best projects in a given batch will be showcased in my website.

Certificate of participation will be provided to all those who complete the training successfully

Placement assistance would be provided to those who do exceptionally well in the training and mini-project.

Foundation of Embedded Systems 
Topics - C refresher, Embedded Systems, 8051 Architecture, Assembly and Embedded C, Design of Embedded Systems (50 hours)
Pre-requisites - Any programming language and Digital Design basics

Advanced Embedded Systems
Topics - Basic and advanced C, Embedded Systems, OS & RTOS basics, ARM7 Assembly and Embedded C, FreeRTOS (90 hours)
Pre-requisites - C, Embedded System Basics, Data structures and Digital Design basics

Linux Systems Programming
Topics -  Linux basics, Shell programming, C application development on Linux, System programming, Socket programming (120 hours)
Pre-requisites - C, Data structures and Digital Design basics

Multiple batches will be there, so you can prefer for morning or evening classes.
Small batches for a better learning and understanding for everyone. 

Limited persons per batch so register soon. Call: +91 98402 61709. Email: