Skip to main content

Featured Post

Product Design of a 4 wheel differential drive robot

ESP8266 WiFi IOT chip | Programing the Firmware

ESP8266 is a cheap WiFi chip you can use in your embedded projects. You can communicate the chip using AT commands through UART. You can setup a WiFi hotspot, connect to an existing WiFi network, act as a web server, send data (TCP/UDP). The real fun is that you can reprogram the whole chip and you don't need an other micro controller to control it. The ESP8266 ES1 come with 2 GPIO pins. There are other variants of this chip with more GPIO. This ESP 01 cost around Rs. 250 which is so cheap while comparing with other WiFi modules.
One thing to remember is that the device is 3.3 V logic. Do not connect 5V supply or 5V RX/TX pins to the device.

Connection
========

VCC       ->       3.3V
GND       ->       GND
CH_PD   ->       3.3V
RX          ->       TX
TX          ->       RX

If you are using a USB/TTL serial connector try to power the device separately using a 3.3 V supply (Needs >200mA).

These are the list of AT commands that is supported. (Link) But some variations will be there (depends on the firmware you are using). Here is a good post that talks about the AT commands. (Link) If you are talking to this chip using putty or minicom (Linux) then you need to press Cntrl+Enter to send a line feed.
The real beauty of this chip is that you can change the firmware and flash it. The ESP8266 has a 40 Mhz chip in it and several GPIO pins (2 for ESP 01) which you can configure just like a micro controller. Going through the forum and figuring out the right firmware, tools and referring the SDK user manual is really painful. But you will get the hang of it. This forum (link) is exclusively for this chip. There are several flavors for programming this chip also. There is also a micro python library for it. The one which is easy is using an aurdino IDE. Refer this site (link) to get started. You need esptool when trying out different firmware in order to burn. (link)

Connection (Flashing the Device)
========

VCC       ->       3.3 V
GND       ->       GND
CH_PD   ->       3.3 V
GPIO0    ->       0 V
Reset      ->       GND
RX          ->       TX
TX          ->       RX

Comments

Popular posts from this blog

Plymouth theme for Ubuntu

Bored of having the same boot animation screen again and again? There are plenty of Plymouth themes available out there. This is a theme I created by slicing some cool gif files I found online. You can download the theme and find the installation steps on my github account. ( https://github.com/krishnan793/PlymouthTheme-Cat )  The theme is created for Ubuntu 16.04. But this can be installed on previous versions with slight modification. If you have a slow computer then you can watch the whole animation loops. (The VM I used to record the screen was fast though. :))

Getting started with GPIO (Testing GPIO with a multimeter)

There are 65 possible GPIO pins that you can control. Some of the GPIO pins are normally configured to different functions. Let's play with one of them. Go to the beaglebone website and figure out the header pin corresponding to gpio23. The gpio23 is mapped to the 13th header pin. In this tutorial we are testing the gpio23 output using a multimeter (Do not connect an LED directly to BBB IO pin). First go to following directory cd /sys/class/gpio / Then make gpio23 available echo 23 > export A new directory will be created. Open gpio directory. cd gpio23 The direction of IO will be normally set as in (input).  To make it as output, echo out > direction Then set the pin to high using echo 1 > value Measure the voltage at pin 13 of P8 header. If its 3.3 V then you are on the right track. Pin 1 and 2 will be ground. You can connect the negative terminal of multimeter to pin 1 or 2. To set output as zero, echo 0 > value After finished wit...

Remote access your BeagleBone Black using vnc

Before going into how to share desktop with your BBB I assume you have a proper ssh access to your BBB. (through USB) (if not read this ) Also this tutorial is for BBB with Debian installed (type cat /etc/*-release to know which distro you are currently using. Or refer here ) First install the vnc server in BBB.(After logging into BBB) ssh root@192.168.7.2 apt-get install x11vnc Then go to your local computer and open a terminal window. Install a vnc viewer like vinagre. sudo apt-get install vinagre Now its time to start vnc server in BBB. x11vnc -auth /var/run/lightdm/root/:0 -forever This will start a vnc server at port 5900. Note this server setup is temporary. If you want to remotely connect to your BBB after a reboot type the above command again. Go to your local computer and type  vinagre 192.168.7.2::5900 A remote desktop will be shown if all goes well. Try exploring other options in x11vnc using (in BBB) man x11vnc Th...