Workshop materials for the M5StickC (aka “the stick”) by M5Stack.
Description: The workshop features the M5StickC prototyping device from M5Stack. The “stick” is a compact Arduino programmable device that contains its own screen, battery power, and extendable sensors. It also provides full Bluetooth and wifi capability. Workshop students will learn the basics of programming the stick to add interactive display, light, motion, sound, and connectivity to their projects and prototypes. Each student in the workshop will receive a M5StickC kit to work with and take home.
Outline
-
-
Introductions
-
Setup
- Install current Arduino IDE https://www.arduino.cc/en/Main/Software
- Install board/libraries to move beyond the Arduino
-
- add ESP32 to Preferences > Additional Board Manager URLs https://dl.espressif.com/dl/package_esp32_index.json
- Check Display line numbers
- install ESP32 & M5StickC libraries
- Tools > Boards >Boards Manager > search for “esp32” and install result
- Sketch > Include Library > Mange Libraries > search for “M5StickC” and install.
- Check Tools > Board, Upload Speed (115200), and Port.
- optional: M5Stack quick start
- optional: FTDI drivers for windows or for OSX
- optional: CP210x drivers
-
- download and unzip class examples
-
-
Foundations of the workshop
- Review Arduino basics
- Arduino purpose
- Arduino IDE
- Classic Arduino (Leonardo hardware)
- Introduction to M5StickC hardware
- Detailed product page
- “Beyond the Arduino.” Extending Arduino skills to new hardware. Sitck can be used like basic Arduino, but…..
- much more powerful/capable CPU
- onboard accessories, including sensors, screen, and battery
- network connectivity
- additional connection option
- USB-C 🙂
- Programming options for the stick
- Arduino IDE – this workshop
- Uiflow – brief demo
- Micropython
- When to use the stick?
-
- all-in-one learning
- quick prototyping
- Esp32 for production
- Stick hardware limitations
-
- Review Arduino basics
-
Hands-on examples
-
- “Blink” stick version
- reading the on board buttons
- plotting the on board accelerometer
- reading an external sensor (LDR)
- stick LCD display basics
- reading external sensor via LCD
- reading on board microphone via LCD
- making tones with buzzer
- controlling the stick over wifi
- connecting to the stick with BLE
- Factory stick examples (from M5Stack library)
- ESP32 examples (from ESP32 library)
-
-
Accessories and more hardware details
-
- M5Stack products
- Grove devices from Seeed Studio
- My notes on accessories and the 5 Volt danger
-
-
Exercises/projects/experimentation
Reference Material
- Arduino main site
- M5StickC
- Product page
- Command reference
- My merged file
- M5Stack online documents
- My notes
- ESP32
- General tutorials