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

From LINUX.CONF.AU 2019
Jump to: navigation, search
(Created page with "== First time ESP32 deveopment with Linux == Come along and play with an ESP32 microcontroller using C and/or Micropython. I have abount dozen boards people can play with....")
 
Line 1: Line 1:
 
== First time ESP32 deveopment with Linux  ==
 
== First time ESP32 deveopment with Linux  ==
  
Come along and play with an ESP32 microcontroller using C and/or Micropython.
+
Come along and play with an ESP32 micro-controller using C and/or Micropython.
  
I have abount dozen boards people can play with. Come and blink an LED.
+
I have about dozen boards people can play with. Come and blink an LED.
  
 
== What to bring with you ==
 
== What to bring with you ==
Line 11: Line 11:
 
* clones the repositories for the type of development you want to do (see below)
 
* clones the repositories for the type of development you want to do (see below)
  
* a mucroUSB cable.
+
* a microUSB cable.
  
 
== Where / When ===
 
== Where / When ===
Line 21: Line 21:
 
== What is an ESP32 ==
 
== What is an ESP32 ==
  
The ESP32 is an inexpensive microcontroller, but don't let its sub-US$10 price fool you. It
+
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.  
 
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 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 yout IoT network.
+
It might be the perfect device for low-cost edge sensor for your IoT network.
  
The ESP32 can be easly programed from your Linux system - most boards need only  
+
The ESP32 can be easily programmed from your Linux system - most boards need only  
 
a microUSB cable.
 
a microUSB cable.
  
Line 36: Line 36:
 
The GitHub repo can be cloned from https://github.com/espressif/esp-idf
 
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 dependancies. See the README!
+
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.
 
It has many examples in the "examples" directory.
Line 51: Line 51:
 
and the micropython firmware from http://micropython.org/download
 
and the micropython firmware from http://micropython.org/download
  
== What if I want a board? ==
+
== 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  
 
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.
 
like a board to keep, wave a $15 or a $10 note and a cup of coffee.
  
Boards are avaiable from many suppliers on AliExpress - https://www.aliexpress.com/w/wholesale-esp32.html
+
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
 
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

Revision as of 08:30, 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. Come and blink an LED.

What to bring with you

  • a computer running Linux
  • clones the repositories for the type of development you want to do (see below)
  • a microUSB cable.

Where / When =

Monday 21st, 11:00 - 12:20, 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