Wish My ESP32 will arrive tomorrow

positrom2

Active Member
Licensed User
Longtime User
With better equipped boards it is (or was) a little messy (if existing, if can be delivered in time).
I had seen some. I will check further this afternoon.
I will report first impressions with the Arduino IDE.
 

positrom2

Active Member
Licensed User
Longtime User
My experience so far:
Soldered headers to the ESP32 board (took 3h, pitch 1.27mm, sharp hot tip, 0.5mm solder wire required, and desoldering tool occasionally needed...).
One of the GNDs was hard to solder, probably connected to the ground plate.

Tried to install the ESP environment to the Arduino IDE, following the link given above.
Do not install Python 64bit but rather the 32bit version.
This step apparently did not do anything:
cd esp32/tools, python get.py

So I found and downloaded this file:
https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-59.zip
Copied it (unzipped) to
C:\Program Files (x86)\Arduino\hardware\espressif\ESP32\tools\
(yielding C:\Program Files (x86)\Arduino\hardware\espressif\ESP32\tools\xtensa-esp32-elf\)
Hopefully I did not miss to mention something I did during this installation...
Restarted Arduino IDE.
Compilation of Blink worked....Puh...
Now I will proceed to connect the ESP to the USB converter.
I did not find a deliverable board that includes such a converter.
 

positrom2

Active Member
Licensed User
Longtime User
Despite my slightly bad handling of the small ESP32 board (one board pad/connector got loose -might be broken- when trying to remove solder between pins), I got a response from the board (the pads are quite sensitive)..
First, programming like with the 8266 did not work. Switches have to be connected differently
Most important, the Reset ("EN") line needs a pull-up resistor (10k).
https://www.sparkfun.com/news/2017

I have not yet hooked up the switches.
But I found this surprise and it works:
http://hackaday.com/2016/10/27/basic-interpreter-hidden-in-esp32-silicon/
Next I will see if the loose pin gives an output voltage.
 

positrom2

Active Member
Licensed User
Longtime User
So, everything works so far (programming Blink from the Arduino IDE, and the loose pin still has contact).
Looking forward to somebody:)
implementing ESP32 in B4R....

For those who are missing the old days, the built-in Basic-Interpreter:can also be invoked by pulling IO12 high and resetting.
>mem<\r><\n>
32560 bytes free.<\r><\n>
>about<\r><\n>
ESP32 ROM Basic (c) 2016 Espressif Shanghai<\r><\n>
Derived from TinyBasic Plus by Mike Field and Scott Lawrence<\r><\n>
>help<\r><\n>
A very Basic ROM console. Available commands/functions:<\r><\n>
LIST<\r><\n>
NEW<\r><\n>
RUN<\r><\n>
NEXT<\r><\n>
LET<\r><\n>
IF<\r><\n>
GOTO<\r><\n>
GOSUB<\r><\n>
RETURN<\r><\n>
REM<\r><\n>
FOR<\r><\n>
INPUT<\r><\n>
PRINT<\r><\n>
PHEX<\r><\n>
POKE<\r><\n>
STOP<\r><\n>
BYE<\r><\n>
MEM<\r><\n>
?<\r><\n>
'<\r><\n>
DELAY<\r><\n>
END<\r><\n>
RSEED<\r><\n>
HELP<\r><\n>
ABOUT<\r><\n>
IOSET<\r><\n>
IODIR<\r><\n>
PEEK<\r><\n>
ABS<\r><\n>
RND<\r><\n>
IOGET<\r><\n>
USR<\r><\n>
>mem<\r><\n>
32560 bytes free.<\r><\n>
>about<\r><\n>
ESP32 ROM Basic (c) 2016 Espressif Shanghai<\r><\n>
Derived from TinyBasic Plus by Mike Field and Scott Lawrence<\r><\n>
 

positrom2

Active Member
Licensed User
Longtime User
Success with compiling and running the WiFi examples on the ESP32 using Arduino IDE.
Trying B4R the Blink example does not compile.
(Posted this with Chrome Browser. With Firefox "Reply" does not work anymore).
B4R version: 1.50 BETA #1
Parsing code. (0.00s)
Compiling code. (0.00s)
Building project (0.02s)
Compiling & deploying Ino project (ESP32 Dev Module - COM8) Error
Konfiguration wird geladen...
Pakete werden initialisiert...
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\cores gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\doc gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\package gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\tools gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\variants gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Boards werden vorbereitet...
Überprüfungs- und Hochladevorgang...
In file included from sketch\B4RDefines.h:23:0,
from sketch\B4RArduino.cpp:1:
rCore.h:95: error: 'B4R::Object* B4R::Object::wrapPointer(const __FlashStringHelper*)' cannot be overloaded
Object* wrapPointer(const __FlashStringHelper* f);
^
rCore.h:94: error: with 'B4R::Object* B4R::Object::wrapPointer(const char*)'
Object* wrapPointer(const char* c);
^
In file included from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/esp32/xtensa/xtruntime.h:30:0,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/freertos/freertos/portmacro.h:81,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/freertos/freertos/portable.h:94,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32\cores\esp32/Arduino.h:36,
from sketch\B4RDefines.h:8,
from sketch\B4RArduino.cpp:1:
C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/esp32/xtensa/config/specreg.h:40:13: error: expected identifier before numeric constant
#define BR 4
^
sketch\rCore.h:614:8: note: in expansion of macro 'BR'
class BR {
^
C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/esp32/xtensa/config/specreg.h:40:13: error: expected unqualified-id before numeric constant
#define BR 4
^
sketch\rCore.h:614:8: note: in expansion of macro 'BR'
class BR {
^
sketch\B4RArduino.cpp: In member function 'UInt B4R::pin::AnalogRead()':
B4RArduino.cpp:24: error: 'analogRead' was not declared in this scope
return analogRead(PinNumber);
^
sketch\B4RArduino.cpp: In member function 'void B4R::pin::AnalogWrite(UInt)':
B4RArduino.cpp:27: error: 'analogWrite' was not declared in this scope
analogWrite(PinNumber, Value);
^
exit status 1
'B4R::Object* B4R::Object::wrapPointer(const __FlashStringHelper*)' cannot be overloaded
 

Samuel Ramirez

Member
Licensed User
Longtime User
Hi Erel,

you can start with the "SparKunf ESP32 Thing" board. It includes the a FDTI transceiver and the USB connector. Actually the ESP32 don't replaces the ESP8266, it's a new solution based on a dual core processor with a lot of peripherals including a dual mode bluetooth (BLE and classical) tranceiver, BGN WiFi transceiver, several communication peripherals, encryption module, etc. etc.

https://www.sparkfun.com/products/13907
 

positrom2

Active Member
Licensed User
Longtime User
Speed comparison:
I compared I/0 speed between ESP8266 and ESP32 using the Arduino IDE.
Flipping a Pin (digitalWrite to GPIO2 on 8266, to Pin 1 on the ESP32) yield a frequency of 294kHz on ESP8266 (at CPU Frequency =160MHz)
and 1.8 MHz on ESP32.
Unfortunately my ESP32 board died when the breadboard was smashed down by accidentally pulling on a connection with my legs...
I don't understand why since all the wiring remained intact, but now the board draws high current and the ESP32 does not respond.
Checked all solder joints with a microscope. Will have to wait for a couple of weeks to get a new one...
So meanwhile I will be playing with the ESP8266 , trying to discover brokers ...and to understand MQTT etc.
 

Samuel Ramirez

Member
Licensed User
Longtime User
Good luck with your tests with ESP8266. This week I will receive a couple of ESP32 boards, I will publish the results of my tests
 

positrom2

Active Member
Licensed User
Longtime User
Hey, was able to fix the ESP32s board:
Took a hotgun at 300C and unsoldered the metal cover.
D1 (protection diode) looked little bad.
Scrapped it off and -voila- the ESP32 works again.
Maybe I should look for a replacement of the Diode.
 

positrom2

Active Member
Licensed User
Longtime User
Why does compile not work for ESP32?
Testing the Blink example provided by rwblinn.de.
I can compile for ESP32 from the Arduino IDE.
Also, I can compile that for the ESP8266 from B4R.
With the ESP32 I get this error message from B4R:
B4R version: 1.50 BETA #1
Parsing code. (0.00s)
Compiling code. (0.00s)
Building project (0.01s)
Compiling & deploying Ino project (ESP32 Dev Module - COM8) Error
Konfiguration wird geladen...
Pakete werden initialisiert...
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\cores gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\doc gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\package gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\tools gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Es konnte keine boards.txt in C:\Program Files (x86)\Arduino\hardware\espressif\variants gefunden werden. Ist sie noch von einer Version vor Arduino 1.5?
Boards werden vorbereitet...
Überprüfungs- und Hochladevorgang...
In file included from sketch\B4RDefines.h:23:0,
from sketch\B4RArduino.cpp:1:
rCore.h:95: error: 'B4R::Object* B4R::Object::wrapPointer(const __FlashStringHelper*)' cannot be overloaded
Object* wrapPointer(const __FlashStringHelper* f);
^
rCore.h:94: error: with 'B4R::Object* B4R::Object::wrapPointer(const char*)'
Object* wrapPointer(const char* c);
^
In file included from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/esp32/xtensa/xtruntime.h:30:0,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/freertos/freertos/portmacro.h:81,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/freertos/freertos/portable.h:94,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Program Files (x86)\Arduino\hardware\espressif\ESP32\cores\esp32/Arduino.h:36,
from sketch\B4RDefines.h:8,
from sketch\B4RArduino.cpp:1:
C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/esp32/xtensa/config/specreg.h:40:13: error: expected identifier before numeric constant
#define BR 4
^
sketch\rCore.h:614:8: note: in expansion of macro 'BR'
class BR {
^
C:\Program Files (x86)\Arduino\hardware\espressif\ESP32/tools/sdk/include/esp32/xtensa/config/specreg.h:40:13: error: expected unqualified-id before numeric constant
#define BR 4
^
sketch\rCore.h:614:8: note: in expansion of macro 'BR'
class BR {
^
sketch\B4RArduino.cpp: In member function 'UInt B4R::pin::AnalogRead()':
B4RArduino.cpp:24: error: 'analogRead' was not declared in this scope
return analogRead(PinNumber);
^
sketch\B4RArduino.cpp: In member function 'void B4R::pin::AnalogWrite(UInt)':
B4RArduino.cpp:27: error: 'analogWrite' was not declared in this scope
analogWrite(PinNumber, Value);
^
exit status 1
'B4R::Object* B4R::Object::wrapPointer(const __FlashStringHelper*)' cannot be overloaded
 

positrom2

Active Member
Licensed User
Longtime User
OK, thank you.
I was thinking (as mostly is wrong) that B4R will compile if the Arduino IDE does since the structures of ESP8266 and ESP32 in the Arduino-Set-Up look similar...
Since the ESP32 boards are sent out to many places presently the wishes might be increasing soon...
 

davehouston

Member
Licensed User
Is there any recommended board that includes the USB to serial converter?

There are several development boards here...
http://esp32.net/

The ones from Adafruit & Olimex are Espressif boards with USB to serial converters.
https://www.adafruit.com/products/3269
https://www.olimex.com/Products/IoT/ESP32-CoreBoard/

The one from Watterott (functionally same as Adafruit & Olimex?) has a USB to serial converter and appears to be in stock.
http://www.watterott.com/en/ESP-WROOM32-Breakout

There's a lot of documentation here...
http://www.espressif.com/en/support/download/overview?keys=&field_type_tid[]=13

The ESP32 Technical Reference Manual is 162 pages of details. The ESP32 is an extremely powerful chip.
 
Last edited:
Top