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

Jump to: navigation, search
(First time ESP32 deveopment with Linux)
(Where / When)
Line 23: Line 23:
== Where / When ==
== Where / When ==
Monday 21st, 11:00 - 12:20, Location to be announced, but is likely to be Café 1894.
Monday 21st, 12:30 - 13:30, Location to be announced, but is likely to be Café 1894.
== What is an ESP32 ==
== What is an ESP32 ==

Revision as of 08:41, 18 January 2019

First time ESP32 deveopment with Linux

Come along and play with an ESP32 micro-controller using C and/or Micropython.

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

Some of my little projects:

https://pbs.twimg.com/media/DwstUWrU0AEBKyY.jpg - Logging household power usage.

https://thingspeak.com/channels/354869 - Logging room temperature and humidity to a web service.

https://www.youtube.com/watch?v=Sgfi3RzlEmA - made with a US$8 (including the camera) module.

What to bring with you

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

Where / When

Monday 21st, 12:30 - 13:30, Location to be announced, but is likely to be Café 1894.

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.

It 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, wave a $15 or a $10 note and a cup of coffee.

Boards are available from many 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