Monday, 7 May 2018

Arduino python GUI led control

Hello Friends,

In this project, we are interfacing arduino with python. Arduino can be easily interfaced with python using serial communication (uart) via pyserial library. For GUI on python, we are using tkinter.

Let's start with the python script:
Libraries required: pyserial

It can  be esaily installed by: pip install pyserial


Monday, 30 April 2018

How to load hex file into AT89S52

In this post, we will learn how to upload hex file into AT89S52. It's a bit difficult to upload hex file into AT89S52 unlike atmega controllers which use AVRdudes for uploading hex file.

AT89S52 ia 40-pin IC and it has 40 GPIO pins and there are 4 ports viz, PORT 0, 1, 2 and 3. Each port has 8 pins. Total GPIO pins are: 8(pins in each port) * 4 (total number of ports) = 32 gpio pins
PORT0 is pull-up rest of the ports have internal pull-up resistor.

In order to eliminate tri-state condition in 8051 we can use network resistor of 10k (A103J)
It have peripherals like: Timer/ Counters, UART, GPIO programming, interrupt programming, etc. It don't have built-in ADC, SPI, I2C and there is no option of  internal RC oscillator.

It's Machine Cycle (MC) is calculated by: 12/ 11.0592 MHz = 1.085 us

Hardware required:
  • USBasp Programmer
  • AT89S52 development board (either on strip board or bread board)
Software required:
  • Progisp (for dumping hex file)
  • Keil uVision (8051 IDE for programming)

Thursday, 1 March 2018

Connecting Raspberry Pi to visible/ hidden SSID

Hello Folks,

In this tutorial, we will learn how to connect Raspberry Pi using command line.
First of all, open terminal
and type the command:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

This will open nano text editor with wpa_supplicant.conf file. Now, we have to add some statement for connecting it to WiFi

At the end of the file, add these statements:

Wednesday, 7 February 2018

Arduino and processing based GUI person counter

In this post, we will make arduino and processing based GUI person counter. For person counter, we are using infrared sensor (IR). It's output is digital and is fed to pin number 7 of arduino.

The connections are as follows:
Connection of arduino with proximity sensor




Interfacing HC-05 with Atmega8

In this post, we will interface bluetooth module (HC-05) with atmega8. Atmega8 is a 28-pin IC and it has three ports viz., PORTB, PORTC and PORTD and it has total 23 gpio pins. It has internal rc oscillator, that is user selectable from  1, 2, 4 or 8 MHz.

We are using 8 Mhz internal rc oscillator.

Compiler Used: GCC

Connection is as follows:

Atmega8                                     BT module
RX            ============>     TX
TX            ============>     RX
GND         ============>     GND
VCC         ============>     VCC

We are using uart at baud rate 9600. Make sure that BT module and atmega8 both have same baud rate.

Saturday, 12 August 2017

Getting Started with NodeMCU

Hello Friends,

Today we will write first program for NodeMCU3 that is led blinking. NodeMCU3 has esp12e and ch340 (USB-TTL) on-board. It can be connected to PC/ Laptop via USB mini(type B) data cable.

Let's get started.

All we need is NodeMCU3 and arduino IDE.
LED and resistor



Tuesday, 1 August 2017

Step by step installation guide for ch340 USB-UART converter

Hello Friends,

In this tutorial, we will cover how to install ch340 driver for different versions of windows.
CH340 is USB-UART converter and is used for serial communication with PC/ laptop with external device e.g. GSM module, GPS module, arduino pro, etc.

Things required:

CH340 USB-UART

Monday, 3 July 2017

4-Digit Seven Segment TM1637 Display interfacing with arduino

Hello Arduino Lovers,

In this post, I am going to interface 4-digit seven segment display with arduino. It's TM1637 based display and it just requires 4-pins. And it's better than conventional 4-digid SSD since that requires 12 (8+4) output pins. So, it saves our pin. As MCU have limited I/Os it's very useful.

The pins are as follows:

CLK, DIO, VCC and GND. 

It's 2-wire serial communication and it's different from I2C communication.