Difference between revisions of "First time ESP32 development with Linux"

From LINUX.CONF.AU 2019
Jump to: navigation, search
(Where / When)
(What is an ESP32)
Line 27: Line 27:
 
It can also run using very little power, making it suitable for battery powered applications.
 
It can also run using very little power, making it suitable for battery powered applications.
  
It might be the perfect device for low-cost edge sensor for your IoT network.
+
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  
 
The ESP32 can be easily programmed from your Linux system - most boards need only  

Revision as of 08:52, 18 January 2019

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 22nd, 12:30 - 13:30, Location to be announced, 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