Programming ESP8266-EVB with microPython tutorial


Our Belgium distributor MCHobby made nice tutorial about how to program ESP8266-EVB board with microPython.

The tutorial is available also in French.

Nice tutorial for writing and debugging plain C on ARM Cortex-M3 STM32F103


Jacob Mossberg wrote nice tutorial how to program in C ARM Cortex-M3 with GCC and how to debug it with GDB and OpenOCD.

We like very much the hardware he is using 🙂 STM32-H103 and ARM-USB-OCD-H.


MOD-LCD3310 OSHW monochrome LCD 84×48 pixels board with UEXT connector


MOD-LCD3310 is Open Source Hardware board released under Apache 2.0 Licensee.
It’s low cost 84×48 pixels LCD which can connect to any of our development boards with UEXT connectors.
The schematic in PDF format and Board and Schematic files in Eagle CAD format are on GitHub.

Examples how to connect MOD-LCD3310 to OLIMEXINO-32U4 (Arduino Leonardo), OLIMEXINO-STM32 (Maple), PIC32-PINGUINO (Pinguino), A20-OLinuXino-MICRO, LPC-P1227 (NXP) and STM32-P103 (ST) are on GitHub.

The LCD panel alone is also available for purchase on our web shop


backlight panel


and the matching connector


which you can use to make your own PCBs with this display for your next project.

ESP8266 Building Hello World Blink LED and Simple Web Server to drive the Relay and check Button status


ESP8266-EVB is small 57×50 mm board with Relay and Button which are connected to Internet via ESP8266 WIFI module.

ESP8266 has inside Xtensa106 processor and RF front end circuit, you do not need separate processor to drive the relay and read the button as ESP8266 can be programmed with custom code.

Here we will explain how to setup your tools and make your first project.

First you need to install your tools. It’s simple, just follow the instructions here:

There are just few small mistakes as some commands will require SUDO before them and some paths are not exactly same, but you have to follow the steps and once you get error to read and correct the problem.

Here is what we do on Ubuntu 14.04 LTE 64-bit:

sudo apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-amd64 python-serial libexpat-dev
sudo mkdir /opt/Espressif
sudo chown $username /opt/Espressif/
sudo cd /opt/Espressif
sudo git clone -b lx106 git:// 
cd crosstool-NG
./bootstrap && ./configure --prefix=`pwd` && make && make install
./ct-ng xtensa-lx106-elf
./ct-ng build
cd /opt/Espressif
mkdir ESP8266_SDK
wget -O
wget -O
mv esp_iot_sdk_v0.9.3 ESP8266_SDK
mv License ESP8266_SDK/esp_iot_sdk_v0.9.3
cd /opt/Espressif/ESP8266_SDK/esp_iot_sdk_v0.9.3
sed -i -e 's/xt-ar/xtensa-lx106-elf-ar/' -e 's/xt-xcc/xtensa-lx106-elf-gcc/' -e 's/xt-objcopy/xtensa-lx106-elf-objcopy/' Makefile
mv examples/IoT_Demo .
cd /opt/Espressif/ESP8266_SDK/esp_iot_sdk_v0.9.3
wget -O lib/libc.a
wget -O lib/libhal.a
wget -O include.tgz
tar -xvzf include.tgz
cd /opt/Espressif
wget -O esptool_0.0.2-1_i386.deb
dpkg -i esptool_0.0.2-1_i386.deb
cd /opt/Espressif
git clone esptool-py
ln -s $PWD/esptool-py/ crosstool-NG/builds/xtensa-lx106-elf/bin/

For less experienced users, we are preparing VirtualBox disk image which to run on Virtual machine on any OS like Linux, MAC OS, Windows, and everything inside is pre-configured and ready to use, hopefully we will upload this image on ESP8266-EVB web page tomorrow as we didn’t manage to complete it today.

Once you have setup the Tools you can download our examples from GitHub:

cd /opt/Espressif
git clone
cd ESP8266-EVB-blinkLED

the project will be compiled and you will see something like this:

AR build/app_app.a
LD build/app.out
FW firmware/0x00000.bin
FW firmware/0x40000.bin

congratulations you made your first code!

now we hae to load it to ESP8266-EVB

you need: ESP8266-EVB, 5V adapter like SY0605E, USB-Serial-Cable-F
connect the USB-SERIAL-CABLE-F to ESP8266-EVB UEXT connector as follows:

  • blue wire to pin#2
  • green wire to pin#3
  • red wire to pin#4

plug the USB cable to your computer USB connector and check which serial port it connects by typing:


your computer should display something like:

Bus 004 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

if you type:

ls /dev/tty*

you will see:

.... /dev/ttyUSB0 ....

If the USB device is with different name you have to update it in the makefile.

After the code is compiled with no errors you can write it to ESP8266 by following these steps:

  1.  first you have to press button and hold it and to apply power 5V, ESP8266 will enter bootloader mode
  2. type ‘sudo make flash’ and wait until code is loaded:
sudo make flash
/opt/Espressif/esptool-py/ --port /dev/ttyUSB0 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin
Erasing flash...
Writing at 0x00007300... (100 %)
Erasing flash...
Writing at 0x00061200... (100 %)

now Green LED must start blinking!

So far so good, you just made blinking LED on ESP8266, now let’s make something more complicated – to run Embedded web server on ESP8266, go to esphttpd project directory:

cd /opt/Espressif/ESP8266/esphttpd

then upload the code

sudo make flash

then upload web pages with:

sudo make htmlflash

Now ESP8266 firmware is uploaded and ESP8266 create Embedded server.

Scan for WIFI which name starts with ESP_XXXXXXX where XXXXXX is the ESP8266 MAC address and connect to this network then open browser at you will see this home page:


if you click on Relay button in the right side you will see new page:


On this page you can switch the on-board relay by clicking on ON and OFF button

If you click on the Button button in the right side you will see new page:


If you click on Start scan the web page will start to refresh each second and display the button status if you click on Stop scan the page will not refresh.

This is very basic demo code which can be used as template for your own projects!

Building Android Jelly Bean for A13-OLinuXino-WIFI Step by Step Tutorial


Akshay Mathur sent us very detailed step by step tutorial how to build Android Jelly Bean for A13-OLinuXino-WIFI.

Building an ARMGCC, Eclipse, OpenOCD toolchain for Windows tutorials


Michael Moore sent us set of tutorials how to build ARMGCC, Eclipse, OpenOCD toolchain for Windows and how to debug STM32-E407 with ARM-JTAG-TINY-H.

Part1 – Introduction

Part2 – Setup ARMGCC

Part3 – Setup Eclipse

Part4 – Setup GDB / OpenOCD

Debugging iMX233-OLinuXino with OpenOCD and SJTAG Tutorial


Christian Jann posted wonderful tutorial how to setup OpenOCD and SJTAG to debug iMX233-OLinuXino.

Reading the post I see Christian had no SJTAG and borrowed one from a company, we are going definitely fix this and next week will send him one of our iMX233-OLinuXino-NANO which now is assembling and iMX233-SJTAG so he could continue with his interesting tutorials 🙂

Learn Vim Progressively online tutorial

Image While browsing this weekend I stumbled upon this page This is one of the best Vim step by step turorials which I have seen. You start with the very basic commands which will allow you to edit some text without knowing all features, then guides you through more and more complex commands which allow you to mastering the Vim use.

Free Interactive online tutorial for JavaScript

Image offers nice and step by step interactive tutorial for these who decided to learn the basics of this popular language

Tutorial: Python + Qt = PyQt4, write your own GUI applications on Linux, Windows and MacOS


PyQt4 is a toolkit for creating GUI applications. It is a mix of Python programming language and  Qt library.

The biggest advantage is that QT and Python work on all major OS – Linux, Windows, MAC OS, so once you make your application it can run on all the three platforms.

Developers can choose between GPL and commercial licence. Previously, GPL version was available only on Unix. Starting from PyQt version 4, GPL licence is available on all supported platforms.

The tutorial is here: it’s step by step introduction to Qt framework and at the end there is example of Tetris game made with PyQt4