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....")
 
(Where / When)
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
== First time ESP32 deveopment with Linux  ==
+
== First time ESP32 development 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 feel it is the new defacto serious maker board.  
  
I have abount dozen boards people can play with. Come and blink an LED.
+
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 ==
 
== What to bring with you ==
Line 9: Line 11:
 
* a computer running Linux
 
* a computer running Linux
  
* clones the repositories for the type of development you want to do (see below)
+
* clones the repositories required (see 'programming sections' below)
  
* a mucroUSB cable.
+
* a microUSB cable.
  
== Where / When ===
+
== Where / When ==
 
 
Monday 21st, 11:00 - 12:20, Location to be announced, but is likely to be Café 1894.
 
  
 +
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 ==
 
== 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.
+
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 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 41:
 
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.
  
== Programming in MicroPython ==
+
=== Programming in microPython ===
  
Micropython is a subset of the Python Language, which can be used directly on the ESP32.
+
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.
 
A utility called "ampy" allows you to update the python scripts on the module.
  
 
Ampy can be cloned from https://github.com/adafruit/ampy
 
Ampy can be cloned from https://github.com/adafruit/ampy
  
If your module does not have micropython installed, or you wish to update the
+
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)
 
firmware you will need "esptool" (clone from https://github.com/espressif/esptool)
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, offer me $15.
  
Boards are avaiable from many suppliers on AliExpress - https://www.aliexpress.com/w/wholesale-esp32.html
+
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
 
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

Latest revision as of 08:53, 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 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