====== ESP32 ====== * https://espressif.com/en/ * http://www.esp32.com/ * http://esp32.net/ * https://github.com/espressif/arduino-esp32 ===== Params ===== * **Wi-Fi** *802.11b/g/n up to 150Mbps * 4 MAC interfaces * AMPDU * **Bluetooth** * Supports BR/EDR/LE * Supports both Class 1 and Class 2 Transmitter * **CPU** * Xtensa LX6 dual-core up to 400 DMIPS * Up to 600 DMIPS under 1.2V core-voltage * Code size 15% smaller * 6 Interrupt levels * **Internal Data RAM** * 500kB, 200kB for users * **Flash** * 4MB Instruction space * Configurable Mapping Table for OTA * **Internal LDO for external Flash** * 1.8V/3.3V * Supports power-down Flash during deep-sleep * **SD/eMMC/SDIO Host** * Support * **SPI Controller** * 4 * **GPIO** * 32 * **UART** * 2 with DMA * **LED PWM** * Hardware support, 16-channel, * 20-bit timers running at the 80 MHz clock * 13-bit accuracy @ 1kHz * 15-bit accuracy @ 250Hz * **Motor PWM, Pluse-counter** * Hardware * **Remote Control** * Hardware support * **Timer** * Two 32-bit timers and two 64-bit timers * One 48-bit-RTC timer * **Watchdog** * Two system watchdogs and one RTC watch dog * **ADC** * 16-channel, 12-bit * Supports Low Noise Analog Amplifier * **DAC** * 2-channel, 10-bit * **32k Crystal** * Support for sleep modes * **Touch sensor** * Support, 10-channel * **Temperature sensor** * Support * **Flash Encrypt** * Hardware support * **E-fuse** * 1kB, customer writeable, including four MAC addresses. * **AES** * Supports AES-128, AES-192 and AES-256 of the standard FIPS PUB 197. * **SHA** * Supports SHA-1, SHA-256, SHA-384 and SHA-512 of the standard FIPS PUB 180-4. * **RSA** * Supports 512-bit to 4096-bit RSA encryption * **Recovery memory in RTC** * 8 kBytes, instruction executable. * **ULP-coprocessor** * Supports monitoring sensors in deep sleep. ===== Arduino IDE Win ===== https://github.com/espressif/arduino-esp32/blob/master/doc/windows.md\\ https://www.python.org/ftp/python/3.6.1/python-3.6.1-amd64.exe\\ https://www.arduino.cc/download_handler.php?f=/arduino-1.8.3-windows.zip blazek@auriga MINGW64 ~ $ mkdir -p /c/Users/blazek/Documents/Arduino/hardware/espressif blazek@auriga MINGW64 ~ $ cd /c/Users/blazek/Documents/Arduino/hardware/espressif blazek@auriga MINGW64 ~/Documents/Arduino/hardware/espressif $ git clone https://github.com/espressif/arduino-esp32.git esp32 Cloning into 'esp32'... remote: Counting objects: 4622, done. remote: Compressing objects: 100% (6/6), done. remote: Total 4622 (delta 0), reused 4 (delta 0), pack-reused 4615 Receiving objects: 100% (4622/4622), 72.36 MiB | 2.10 MiB/s, done. Resolving deltas: 100% (2314/2314), done. Checking out files: 100% (1198/1198), done. blazek@auriga MINGW64 ~/Documents/Arduino/hardware/espressif blazek@auriga MINGW64 ~/Documents/Arduino/hardware/espressif $ cd esp32/tools/ blazek@auriga MINGW64 ~/Documents/Arduino/hardware/espressif/esp32/tools (master) $ /c/Python36/Scripts/pip.exe install requests Collecting requests Downloading requests-2.18.1-py2.py3-none-any.whl (88kB) Collecting idna<2.6,>=2.5 (from requests) Downloading idna-2.5-py2.py3-none-any.whl (55kB) Collecting chardet<3.1.0,>=3.0.2 (from requests) Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB) Collecting certifi>=2017.4.17 (from requests) Downloading certifi-2017.4.17-py2.py3-none-any.whl (375kB) Collecting urllib3<1.22,>=1.21.1 (from requests) Downloading urllib3-1.21.1-py2.py3-none-any.whl (131kB) Installing collected packages: idna, chardet, certifi, urllib3, requests Successfully installed certifi-2017.4.17 chardet-3.0.4 idna-2.5 requests-2.18.1 urllib3-1.21.1 blazek@auriga MINGW64 ~/Documents/Arduino/hardware/espressif/esp32/tools (maste) $ /c/Python36/python.exe ./get.py System: Windows, Info: Windows-7-6.1.7601-SP1 Platform: i686-mingw32 Downloading xtensa-esp32-elf-win32-1.22.0-61-gab8375a-5.2.0-2.zip Done Extracting xtensa-esp32-elf-win32-1.22.0-61-gab8375a-5.2.0-2.zip Downloading esptool-96698a3-windows.zip Done Extracting esptool-96698a3-windows.zip Done ===== Revize čipu ESP32 ===== uint8_t chipRevision; void setup() { Serial.begin(115200); } void loop() { chipRevision=ESP.getChipRevision(); Serial.println("ESP32 Chip revision = " + String(chipRevision)); delay(3000); }