EZ-0062: Difference between revisions

From 52Pi Wiki
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
=GeeekNET ESP32 Development Board=
=GeeekNET ESP32 Development Board=
==Description==
==Description==
[[File:Esp32wrover3.JPG|thumb|right|300px]]
[[File:Esp32wrover3.JPG|thumb|right|500px]]
[[File:Esp32wrover2.JPG|thumb|right|300px]]
[[File:Esp32wrover1.JPG|thumb|right|300px]]
GeeekNET ESP32 Development Board is made with the official WROOM32 module.<br>
GeeekNET ESP32 Development Board is made with the official WROOM32 module.<br>
There is built in USB-to-Serial converter, automatic bootloader reset, Lithium Ion/Polymer charger.<br>
There is built in USB-to-Serial converter, automatic bootloader reset, Lithium Ion/Polymer charger.<br>
Line 25: Line 23:
For that reason, we recommend this module for makers who have some experience with microcontroller programming, and not as a first dev board.<br>
For that reason, we recommend this module for makers who have some experience with microcontroller programming, and not as a first dev board.<br>


==Specifications==
==Galley==
[[File:Esp32wrover2.JPG|thumb|left|500px]]
[[File:Esp32wrover1.JPG|thumb|none|500px]]
<br style="clear:both;">
==Product Details==
* Voltage: 5V
* Current: 80mA
* Battery:  3.7V
* Dimension:  59.76mmx28.05mmx12.60mm
* Weight: 9.75g ±0.5
----
 
==ESP32 module Specifications==
{| class="wikitable"  
{| class="wikitable"  
! Protocol !! Parameters
! WiFi !! Bluetooth !! CPU and Memory !! Clocks and Timers !! Advanced Peripheral Interfaces !! Security !! Cryptographic hardware acceleration !! Development Support
|-
|- valign="top"
| WiFi ||802.11 b/g/n/e/i  
|
||802.11 n (2.4 GHz), up to 150 Mbps
* 802.11 b/g/n/e/i  
||802.11 e: QoS for wireless multimedia technology WMM-PS, UAPSD
* 802.11 n (2.4 GHz), up to 150 Mbps
||A-MPDU and A-MSDU aggregation
* 802.11 e: QoS for wireless multimedia technology  
||Block ACK
* WMM-PS, UAPSD
||Fragmentation and defragmentation
* A-MPDU and A-MSDU aggregation
||Automatic Beacon monitoring/scanning
* Block ACK
||802.11 i security features: pre-authentication and TSN
* Fragmentation and defragmentation
||Wi-Fi Protected Access (WPA)/WPA2/WPA2-Enterprise/Wi-Fi Protected Setup (WPS)
* Automatic Beacon monitoring/scanning
||Infrastructure BSS Station mode/SoftAP mode
* 802.11 i security features: pre-authentication and TSN
|| Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management UMA compliant and certified
* Wi-Fi Protected Access (WPA)/WPA2/WPA2-Enterprise/Wi-Fi Protected Setup (WPS)
||Antenna diversity and selection
* Infrastructure BSS Station mode/SoftAP mode
|-
* Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management  
| Bluetooth || Compliant with Bluetooth v4.2 BR/EDR and BLE specification
* UMA compliant and certified
||Class-1, class-2 and class-3 transmitter without external power amplifier Enhanced power control
* Antenna diversity and selection
||+12 dBm transmitting power
||
||NZIF receiver with -97 dBm sensitivity
* Compliant with Bluetooth v4.2 BR/EDR and BLE specification
||Adaptive Frequency Hopping (AFH)
* Class-1, class-2 and class-3 transmitter without external power amplifier  
||Standard HCI based on SDIO/SPI/UART
* Enhanced power control
||High speed UART HCI, up to 4 Mbps
* +12 dBm transmitting power
||BT 4.2 controller and host stack
* NZIF receiver with -97 dBm sensitivity
||Service Discover Protocol (SDP)
* Adaptive Frequency Hopping (AFH)
||General Access Profile (GAP)
* Standard HCI based on SDIO/SPI/UART
||Security Manage Protocol (SMP)
* High speed UART HCI, up to 4 Mbps
||Bluetooth Low Energy (BLE)
* BT 4.2 controller and host stack
||ATT/GATT
* Service Discover Protocol (SDP)
||HID
* General Access Profile (GAP)
||All GATT-based profile supported
* Security Manage Protocol (SMP)
||SPP-Like GATT-based profile
* Bluetooth Low Energy (BLE)
||BLE Beacon
* ATT/GATT
||A2DP/AVRCP/SPP, HSP/HFP, RFCOMM
* HID
||CVSD and SBC for audio codec
* All GATT-based profile supported
||Bluetooth Piconet and Scatternet
* SPP-Like GATT-based profile
|-
* BLE Beacon
|CPU and Memory ||Xtensa® Single-/Dual-core 32-bit LX6 microprocessor(s), up to 600 DMIPS 448 KB ROM
* A2DP/AVRCP/SPP, HSP/HFP, RFCOMM
||520 KB SRAM
* CVSD and SBC for audio codec
||16 KB SRAM in RTC
* Bluetooth Piconet and Scatternet
||QSPI flash/SRAM, up to 4 x 16 MB • Power supply: 2.3V to 3.6V
||
|-
* Xtensa® Dual-core 32-bit LX6 microprocessor(s), up to 600 DMIPS  
|Clocks and Timers || Internal 8 MHz oscillator with calibration
* 448 KB ROM
|| Internal RC oscillator with calibration
* 520 KB SRAM
|| External 2 MHz to 60 MHz crystal oscillator (40 MHz only for Wi-Fi/BT functionality) || External 32 kHz crystal oscillator for RTC with calibration
* 16 KB SRAM in RTC
|| Two timer groups, including 2 x 64-bit timers and 1 x main watchdog in each group || RTC timer with sub-second accuracy
* QSPI flash/SRAM, up to 4 x 16 MB • Power supply: 2.3V to 3.6V
|| RTC watchdog
||
|-
* Internal 8 MHz oscillator with calibration
|Advanced Peripheral Interfaces || 12-bit SAR ADC up to 18 channels || 2 × 8-bit D/A converters
* Internal RC oscillator with calibration
||10 × touch sensors
* External 2 MHz to 60 MHz crystal oscillator (40 MHz only for Wi-Fi/BT functionality)  
|| Temperature sensor
* External 32 kHz crystal oscillator for RTC with calibration
|| 4 × SPI
* Two timer groups, including 2 x 64-bit timers and 1 x main watchdog in each group  
|| 2 × I2S
* RTC timer with sub-second accuracy
|| 2 × I2C
* RTC watchdog
|| 3×UART
||
|| 1 host (SD/eMMC/SDIO) • 1 slave (SDIO/SPI)
* 12-bit SAR ADC up to 18 channels  
|| Ethernet MAC interface with dedicated DMA and IEEE 1588 support • CAN 2.0
* 2 × 8-bit D/A converters
|| IR (TX/RX)
* 10 × touch sensors
|| Motor PWM
* Temperature sensor
|| LED PWM up to 16 channels
* 4 × SPI
|| Hall sensor
* 2 × I2S
|| Ultra-low-noise analog pre-amplifier
* 2 × I2C
|-
* 3×UART
|Security || IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI  
* 1 host (SD/eMMC/SDIO) • 1 slave (SDIO/SPI)
||Secure boot
* Ethernet MAC interface with dedicated DMA and IEEE 1588 support • CAN 2.0
||Flash encryption
* IR (TX/RX)
|| 1024-bit OTP, up to 768-bit for customers
* Motor PWM
|-
* LED PWM up to 16 channels
|Cryptographic hardware acceleration|| – AES
* Hall sensor
|| HASH (SHA-2) library
* Ultra-low-noise analog pre-amplifier
|| RSA
||
|| ECC
* IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI  
|| Random Number Generator (RNG)
* Secure boot
|-
* Flash encryption
| Development Support || SDK firmware for fast on-line programming || Open source toolchains based on GCC  
* 1024-bit OTP, up to 768-bit for customers
||
* AES
* HASH (SHA-2) library
* RSA
* ECC
* Random Number Generator (RNG)
||
* SDK firmware for fast on-line programming  
* Open source toolchains based on GCC  
|}
|}


Line 114: Line 133:
==Package Include==
==Package Include==
1 x  GeeekNET ESP32 Development Board
1 x  GeeekNET ESP32 Development Board
==Product Details==
* Dimension:  59.76mmx28.05mmx12.60mm
* Weight: 9.75g ±0.5
----
==Applications==
==Applications==
Most people lights up LEDs at the very beginning when they got this module.
Most people lights up LEDs at the very beginning when they got this module.
Line 163: Line 178:


* The following files are daily firmware for ESP32-based boards. (Unzip it before using it)<br>
* The following files are daily firmware for ESP32-based boards. (Unzip it before using it)<br>
[[ Download esp32-20170823-v1.9.1-438-g392aaffc.bin (latest)| File:Esp32-20170822-v1.9.1-438-g392aaffc.bin.zip]]
[http://wiki.52pi.com/index.php/File:Esp32-20170822-v1.9.1-438-g392aaffc.bin.zip Download Old version Esp32-20170822-v1.9.1-438-g392aaffc.bin.zip]
----
----
Program your board using the esptool.py program, and put the firmware starting at address 0x1000 <br>
Program your board using the esptool.py program, and put the firmware starting at address 0x1000 <br>
Line 198: Line 213:
machine.freq(160000000)    # set current CPU frequency <br>
machine.freq(160000000)    # set current CPU frequency <br>
</code><br>
</code><br>
==ESP-IDF SDK==
==ESP-IDF SDK==
* Obtaining v2.1
* Obtaining v2.1
Line 208: Line 224:
git checkout v2.1
git checkout v2.1
git submodule update --init --recursive
git submodule update --init --recursive
</pre><br>
</pre>
<font color=red>This is the recommended way of obtaining v2.1 of ESP-IDF.</font><br>
<font color=red>This is the recommended way of obtaining v2.1 of ESP-IDF.</font><br>
==FAQ==
<pre>When I tested this Modul, there is an Error-Message when it starts up:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK
It looks like the Flash-Memory in the this Modul has too slow StartUp-Time
for the ESP32 ?
Can you help ?
</pre>
* It's due to without any program download into the ESP32 module, you can edit the example program and upload it by arduino IDE or esptool.py tool.
==More Information==
* [ The internet of things | http://esp32.net/ ]

Latest revision as of 18:31, 27 August 2021

GeeekNET ESP32 Development Board

Description

Esp32wrover3.JPG

GeeekNET ESP32 Development Board is made with the official WROOM32 module.
There is built in USB-to-Serial converter, automatic bootloader reset, Lithium Ion/Polymer charger.
And just about all of the GPIOs brought out so you can use it with any sensor.

That module contains a dual-core ESP32 chip, 4 MB of SPI Flash, tuned antenna.
And all the passives you need to take advantage of this powerful new processor.
The ESP32 has both WiFi and Bluetooth Classic/LE support.
That means it's perfect for just about any wireless or Internet-connected project.

The ESP32 is a perfect upgrade from the ESP8266 that has been so popular.
In comparison, the ESP32 has way more GPIO, plenty of analog inputs,
two analog outputs, multiple extra peripherals (like a spare UART),
two cores so you don't have to yield to the WiFi manager, much higher-speed processor, etc.


Please note: The ESP32 is still targeted to developers.
Not all of the peripherals are fully documented with example code, and there are some bugs still being found and fixed.
We got it working under Arduino IDE, so you can expect things like I2C and SPI and analog reads to work.
And also we got it working under MicroPython, so you can test it with the command line console, it will be nice to programmer.
But other elements are still under development.
For that reason, we recommend this module for makers who have some experience with microcontroller programming, and not as a first dev board.

Galley

Esp32wrover2.JPG
Esp32wrover1.JPG


Product Details

  • Voltage: 5V
  • Current: 80mA
  • Battery: 3.7V
  • Dimension: 59.76mmx28.05mmx12.60mm
  • Weight: 9.75g ±0.5

ESP32 module Specifications

WiFi Bluetooth CPU and Memory Clocks and Timers Advanced Peripheral Interfaces Security Cryptographic hardware acceleration Development Support
  • 802.11 b/g/n/e/i
  • 802.11 n (2.4 GHz), up to 150 Mbps
  • 802.11 e: QoS for wireless multimedia technology
  • WMM-PS, UAPSD
  • A-MPDU and A-MSDU aggregation
  • Block ACK
  • Fragmentation and defragmentation
  • Automatic Beacon monitoring/scanning
  • 802.11 i security features: pre-authentication and TSN
  • Wi-Fi Protected Access (WPA)/WPA2/WPA2-Enterprise/Wi-Fi Protected Setup (WPS)
  • Infrastructure BSS Station mode/SoftAP mode
  • Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management
  • UMA compliant and certified
  • Antenna diversity and selection
  • Compliant with Bluetooth v4.2 BR/EDR and BLE specification
  • Class-1, class-2 and class-3 transmitter without external power amplifier
  • Enhanced power control
  • +12 dBm transmitting power
  • NZIF receiver with -97 dBm sensitivity
  • Adaptive Frequency Hopping (AFH)
  • Standard HCI based on SDIO/SPI/UART
  • High speed UART HCI, up to 4 Mbps
  • BT 4.2 controller and host stack
  • Service Discover Protocol (SDP)
  • General Access Profile (GAP)
  • Security Manage Protocol (SMP)
  • Bluetooth Low Energy (BLE)
  • ATT/GATT
  • HID
  • All GATT-based profile supported
  • SPP-Like GATT-based profile
  • BLE Beacon
  • A2DP/AVRCP/SPP, HSP/HFP, RFCOMM
  • CVSD and SBC for audio codec
  • Bluetooth Piconet and Scatternet
  • Xtensa® Dual-core 32-bit LX6 microprocessor(s), up to 600 DMIPS
  • 448 KB ROM
  • 520 KB SRAM
  • 16 KB SRAM in RTC
  • QSPI flash/SRAM, up to 4 x 16 MB • Power supply: 2.3V to 3.6V
  • Internal 8 MHz oscillator with calibration
  • Internal RC oscillator with calibration
  • External 2 MHz to 60 MHz crystal oscillator (40 MHz only for Wi-Fi/BT functionality)
  • External 32 kHz crystal oscillator for RTC with calibration
  • Two timer groups, including 2 x 64-bit timers and 1 x main watchdog in each group
  • RTC timer with sub-second accuracy
  • RTC watchdog
  • 12-bit SAR ADC up to 18 channels
  • 2 × 8-bit D/A converters
  • 10 × touch sensors
  • Temperature sensor
  • 4 × SPI
  • 2 × I2S
  • 2 × I2C
  • 3×UART
  • 1 host (SD/eMMC/SDIO) • 1 slave (SDIO/SPI)
  • Ethernet MAC interface with dedicated DMA and IEEE 1588 support • CAN 2.0
  • IR (TX/RX)
  • Motor PWM
  • LED PWM up to 16 channels
  • Hall sensor
  • Ultra-low-noise analog pre-amplifier
  • IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI
  • Secure boot
  • Flash encryption
  • 1024-bit OTP, up to 768-bit for customers
  • AES
  • HASH (SHA-2) library
  • RSA
  • ECC
  • Random Number Generator (RNG)
  • SDK firmware for fast on-line programming
  • Open source toolchains based on GCC

Mechanical Drawing

GeeeKNET ESP32 Dev Board.png


  • Download PDF file:

File:GEEEKNET MEC.pdf

GeeeKNET ESP32 Development Board Pin Layout

GeeekNETESP32PINLAYOUT.png


Package Include

1 x GeeekNET ESP32 Development Board

Applications

Most people lights up LEDs at the very beginning when they got this module.

Lightsup.png


And you can also drive 0.91inch OLED by adafruit driver in Arduino IDE:

091oled.png


Working on Arduino IDE

  • Installation instructions for Windows

[Installation Guide]


  • Installation instructions for Debian / Ubuntu OS

1. Install latest Arduino IDE from [arduino.cc]
Open Terminal and execute the following command (copy->paste and hit enter):

sudo usermod -a -G dialout $USER && \
sudo apt-get install git && \
wget https://bootstrap.pypa.io/get-pip.py && \
sudo python get-pip.py && \
sudo pip install pyserial && \
mkdir -p ~/Arduino/hardware/espressif && \
cd ~/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

2. Restart Arduino IDE


  • Installation instructions for Mac OS

1. Install latest Arduino IDE from [arduino.cc]
Open Terminal and execute the following command (copy->paste and hit enter):

mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py
  • Restart Arduino IDE

Working on MicroPython

  • You can download the latest firmware for ESP32 boards:

Download Firmware for ESP32 boards

  • The following files are daily firmware for ESP32-based boards. (Unzip it before using it)

Download Old version Esp32-20170822-v1.9.1-438-g392aaffc.bin.zip


Program your board using the esptool.py program, and put the firmware starting at address 0x1000
If you are putting MicroPython on for the first time then you should first erase the entire flash.
PS: /dev/ttyUSB1 may different on your PC, please make sure it correctly.
sudo esptool.py --chip esp32 --port /dev/ttyUSB1 erase_flash
sudo esptool.py --chip esp32 --port /dev/ttyUSB1 write_flash -z 0x1000 firmware.bin)

After that, you need install esptool.py and a software called "picocom" in your Linux system( debain, ubuntu, or raspbian):
There are a lot of terminal softwares such as "minicom" or "screen". You can select one of them by yourself.
sudo pip install esptool.py
sudo apt-get -y install picocom
sudo picocom -b 115200 /dev/ttyUSB1
You will enter an IDE environment so you can coding by python language.
eg. you can import machine module as:
import machine

1-1.png


  • Or just test range function it in your IDE:
2-1.png


3-1.png


  • Control LED Pin

from machine import Pin
p0 = Pin(0, Pin.OUT) # Setting GPIO0's direction to output mode
p0.value(1) # Setting values to 1 means "HIGH" level
p0.value(0) # Setting values to 0 means "LOW" level

Machine module

You can using the Machine module to read CPU frequency.
import machine
machine.freq() # get current CPU frequency
machine.freq(160000000) # set current CPU frequency

ESP-IDF SDK

  • Obtaining v2.1

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

  • Using git

To get this release, use the following commands:

git clone https://github.com/espressif/esp-idf.git esp-idf-v2.1
cd esp-idf-v2.1/
git checkout v2.1
git submodule update --init --recursive

This is the recommended way of obtaining v2.1 of ESP-IDF.

FAQ

When I tested this Modul, there is an Error-Message when it starts up:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK

It looks like the Flash-Memory in the this Modul has too slow StartUp-Time 
for the ESP32 ?

Can you help ?
  • It's due to without any program download into the ESP32 module, you can edit the example program and upload it by arduino IDE or esptool.py tool.

More Information