So I am one of the 200 lucky bastards who receive the Espressif ESP32 beta units. It arrives in a nicely printed packaging which resembles very much like a jewel box. And the item inside is really a piece of jewelry.
Appearantly the breakout board, “ESP_Module_Testboard”, is little bit too wide for breadboard use, (leaving one row on each side), I decided to make a quick development board. The end result looks like this.
Some notes about the board:
- Pin “EN” has a 10k pull-up resistor. The reset button pulls “EN” down. ESP31 does not come with a RESET pin, it seems EN does the same.
- Pin “IO0” has a 10k pull-up resistor. The “IO0” pin pulls it down. Low level on IO0 during reset allows the ESP31 to enter programming mode. This is very much the same as ESP8266. I am not sure if the pull-up resistor is needed because it seems there is one built-in. Nevertheless I just put one for safety reason.
- The red board is a FTDI USB-Serial converter. The board is set to 3.3V I/O. The orange color jumper wire from FTDI board is to get 5V power from USB, feed through an AMS1117-3.3 to power the ESP31 module. I used a 100uF output tantinium capacitor. It seems this setup is not good enough. I’ll explain later.
With the board on hand, it is now time to setup development environment. There are excellent guides at http://www.instructables.com/id/Beginners-ESP32-Guide-to-Assembly-Testing/, as well as LadyAda’s live show https://www.youtube.com/watch?v=HCGHb0OVz1s
New year is around the corner and I am so eager to continue my new year greeting video “series”. It natually envolves into this:
And the source code too: https://github.com/baoshi/ESP32-XMAS
Again some notes about the source code:
- The TFT screen contains 128×160 pixels, at 16bit/pixel it amounts to 40kB/frame, or 320kbits/frame. The SPI bus is running at 13.3MHz, that works out around 40fps. Due to some coding overhead the fastest I can achieve is about 25fps. But again becaused of the latency at WiFi side, I’m currently running the screen at 10fps. That is only 400kB/s for WiFi traffic, which is significantly slower than the claimed 140Mb/s rated speed. Of course there is huge room for improvement at software side.
- The ESP31 seems to take more power than it’s predecessor ESP8266. The above mentioned AMS1117-3.3 cannot provide enough juice. The phenomenon is garbaged output from serial port, lost WiFi connection, or failed with exception after reset. It could be a thermal issue. I ended up using a lab power supply then all the problems are gone. My supply registered 170mA when WiFi is active. Of course it includes the LCD comsumption. I will do some further investigation at a later time.
- I encouontered some WiFi abnormalities that the connection speed slows down significantly from time to time. Reset the chip will resolve the issue. For the time being I havn’t fully dig into it.
- Other than these, ESP31 (ESP32 Beta) and the current SDK (1.1.0) seems quite stable.
To all my readers or viewers I take this oppotunity to wish you a Merry Christmas and Happy New Year. See you next year.