Monday, December 28, 2015

First program

After the Christmas now let's get back to do some work.

I've updated the SDK from 1.0.0 to 1.1.0 and I've flashed for the first time the ESP32.

Erasing flash...
Erase size 1400 num_blocks 5 offset 0
FLASH_BEGIN failed, applying ESP32 workaround...
Wrote 5120 bytes at 0x00000000 in 0.6 seconds (69.9 kbit/s)...
Erasing flash...
Erase size 2800 num_blocks a offset 4000
Wrote 10240 bytes at 0x00004000 in 1.2 seconds (69.9 kbit/s)...
Erasing flash...
Erase size 3c800 num_blocks f2 offset 40000
Wrote 247808 bytes at 0x00040000 in 28.6 seconds (69.2 kbit/s)...

Erase size 0 num_blocks 0 offset 0

and some printfs:

and first connection to my WiFi router:

Now if the setup is working I should start by moving all my work to from ESP8266 non RTOS to RTOS and test it on ESP32.

Tuesday, December 22, 2015

It's a boy, it is ESP32

I've managed to solder the ESP32 board to its docking board.

After connecting the console everything is up and running.

And looking with my phone I can see the ESP32 in AP mode. 

Monday, December 21, 2015

Finally home

I just receive the module. Is so tiny but powerfull.

Need to solder it to the main board.

Work in progress...Do not disturb.

ESP32 on its way to me

Since the EspressIf Systems were so kind to send me a predecessor of the new ESP32, code name ESP31, which by the way is on its way to me, I will tell you a little about it.

I've received the documentation about the ESP32  before the module, so I've start reading it and I can tell you that I can't stop reading it. More I read, more ideas are coming about what can I do with it.

ESP32 will have its own market and is NOT a replacement for the ESP8266, but I am sure that both will work together like a charm. So, don't waste your time, start working with ESP8266 and later move your work to ESP32 if it is necessary.

I can not post here the documentation, but I can tell you that ESP32 business is an unicorn.

Wednesday, December 2, 2015

Setup environment for ESP32

In order to develop something with the ESP32 you need to setup the environment for it.

I am hopping that Santa will bring me an ESP31 ( the prerelease model for ESP32).

Usually I create a VM for this. After I've installed the lumbuntu 15.04 in a Virtual Box and the Guest Addition now is time for compiler stuff.

The following commands are from espressif github with few modification for using the lumbutu i386 VM.

Step 1. Install the required toolchain packages.

sudo apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev python-serial libexpat-dev libtool-bin

Step 2. Create a directory (e.g./opt/Espressif) to store the toolchain.

sudo mkdir /opt/Espressif

Step 3. Make the current user the owner.

sudo chown $USER /opt/Espressif/

Step 4. Download the latest toolchain installation file to the directory created in Step 2.

cd /opt/Espressif/git clone -b esp108-1.21.0 git://

Step 5. Install toolchain.

cd crosstool-NG./bootstrap && ./configure --prefix=`pwd` && make && make install
./ct-ng xtensa-esp108-elf
./ct-ng build

The command ./ct-ng build takes some time(30-40minutes), so grab a coffee or a cup with tea.
Step 6. Set the PATH variable to point to the newly compiled toolchain.

export PATH=/opt/Espressif/crosstool-NG/builds/xtensa-esp108-elf/bin:$PATH

Note: You need to do Step 6 once you open a new shell, or you can put it inside your .bashrc file

Project template Compile

Step 1. Create a directory (e.g.~/Workspace) to store a new project.

mkdir ~/Workspace

Step 2. Clone ESP32 RTOS SDK.

cd ~/Workspacegit clone

Step 3. Copy ESP32_RTOS_SDK/examples/project_template to Workspace directory created in Step 1.

cp -R ~/Workspace/ESP32_RTOS_SDK/examples/project_template ~/Workspace/

Step 4. Create a directory (e.g.~/Workspace/ESP32_BIN) to store the bin files compiled.

mkdir ~/Workspace/ESP32_BIN

Step 5. Set SDK_PATH as the path of SDK files and BIN_PATH as the path of .bin files compiled.

export SDK_PATH=~/Workspace/ESP32_RTOS_SDK
export BIN_PATH=~/Workspace/ESP32_BIN

Notice: Make sure you set the correct paths, or it will occur a compile error.
Step 6. Start to compile files

make cleanmake

Now in ESP32_BIN directory you have the bin files.