First time ESP32 development with Linux

From LINUX.CONF.AU 2019
Jump to: navigation, search

First time ESP32 development with Linux

Come along and play with an ESP32 micro-controller using C and/or microPython. I feel it is the new defacto serious maker board.

I have about dozen boards people can play with. Blink an LED.

Have a look at https://hackaday.com/tag/esp32/ for some inspiration!

What to bring with you

  • a computer running Linux
  • clones the repositories required (see 'programming sections' below)
  • a microUSB cable.

Where / When

Monday 21st and Wednesday 23rd, 12:30 - 13:30, Location to be confirmed, but given the limited interest it is likely to be Café 1894.

Look for the bearded ginger haired guy with a stack of micro-controllers - that will be me (Mike).

What is an ESP32

The ESP32 is an inexpensive micro-controller, but don't let its sub-US$10 price fool you. It is an advanced 32 bit, dual core CPU, with WiFi and Bluetooth, with over half a MB of RAM. It can also run using very little power, making it suitable for battery powered applications.

They are available as either a small module (for integration into your designs) or as a development board with additional support electronics - most notably a USB to serial bridge.

The ESP32 might be the perfect device for low-cost edge sensor for your IoT network.

The ESP32 can be easily programmed from your Linux system - most boards need only a microUSB cable.

Programming in C

The standard ESP32 runtime environment is the Open Source ESP-IDF toolchain and SDK.

The GitHub repo can be cloned from https://github.com/espressif/esp-idf

NOTE - this requires python-pip to be installed, as well as a few dependencies. See the README!

It has many examples in the "examples" directory.

Programming in microPython

MicroPython is a subset of the Python Language, which can be used directly on the ESP32. A utility called "ampy" allows you to update the python scripts on the module.

Ampy can be cloned from https://github.com/adafruit/ampy

If your module does not have microPython installed, or you wish to update the firmware you will need "esptool" (clone from https://github.com/espressif/esptool) and the microPython firmware from http://micropython.org/download

What if I want a board, now or later?

When I buy one board, I usually buy four, so I have plenty spare. If you would like a board to keep, offer me $15.

Boards are available from many online suppliers on AliExpress - https://www.aliexpress.com/w/wholesale-esp32.html

A petty overpriced, under-speced board is available retail from Jaycar - https://www.jaycar.co.nz/esp32-main-board-with-wifi-and-bluetooth-communication/p/XC3800