EZ-0062: Difference between revisions

From 52Pi Wiki
Jump to navigation Jump to search
Line 89: Line 89:
</pre></code><br>
</pre></code><br>
2. Restart Arduino IDE
2. Restart Arduino IDE
----
* Installation instructions for Mac OS
1. Install latest Arduino IDE from [[https://www.arduino.cc/en/Main/Software arduino.cc]]
Open Terminal and execute the following command (copy->paste and hit enter):
<code><pre>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</pre></code><br>
* Restart Arduino IDE
----


==Working on MicroPython==
==Working on MicroPython==

Revision as of 15:46, 23 August 2017

GeeekNET ESP32 Development Board

Description

Esp32wrover3.JPG
Esp32wrover2.JPG
Esp32wrover1.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.

Specifications

  • 240 MHz dual core Tensilica LX6 microcontroller with 600 DMIPS
  • Integrated 520 KB SRAM
  • Integrated 802.11b/g/n HT40 Wi-Fi transceiver, baseband, stack and LWIP
  • Integrated dual mode Bluetooth (classic and BLE)
  • 4 MByte flash include in the WROOM32 module
  • On-board PCB antenna
  • Ultra-low noise analog amplifier
  • 10x capacitive touch interface
  • 32 kHz crystal oscillator
  • 3 x UARTs (only two are configured by default in the Feather Arduino IDE support, one UART is used for bootloading/debug)
  • 3 x SPI (only one is configured by default in the Feather Arduino IDE support)
  • 2 x I2C (only one is configured by default in the Feather Arduino IDE support)
  • 12 x ADC input channels
  • 2 x I2S Audio
  • 2 x DAC
  • PWM/timer input/output available on every GPIO pin
  • OpenOCD debug interface with 32 kB TRAX buffer
  • SDIO master/slave 50 MHz
  • SD-card interface support
  • Comes fully assembled and tested, with a USB interface that lets you quickly use it with the Arduino IDE or the low-level ESP32 IDF.
  • We also toss in some header so you can solder it in and plug into a solderless *breadboard.
  • Lipoly battery and USB cable not included

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

Product Details

  • Dimension: 59.76mmx28.05mmx12.60mm
  • Weight: 9.75g ±0.5

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 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)

File: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() # 获得当前CPU频率
machine.freq(160000000) # 设置当前CPU频率