M5StickC Workshop 2019

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

    1.  Introductions

    2.  Setup

      1. Install current Arduino IDE https://www.arduino.cc/en/Main/Software
      2. Install board/libraries to move beyond the Arduino
          1. add ESP32 to Preferences > Additional Board Manager URLs https://dl.espressif.com/dl/package_esp32_index.json
          2. Check Display line numbers
          3. install ESP32 & M5StickC libraries
            1. Tools > Boards >Boards Manager > search for “esp32”  and install result
            2. Sketch > Include Library >  Mange Libraries > search for “M5StickC” and install.
          4. Check Tools > Board, Upload Speed (115200), and Port.
          5. optional: M5Stack quick start
          6. optional: FTDI drivers for windows or for OSX
          7. optional: CP210x drivers
      3.  download and unzip  class examples
  1. Foundations of the workshop

    1. Review Arduino basics
      1. Arduino purpose
      2. Arduino IDE
      3. Classic Arduino (Leonardo hardware)
    2. Introduction to M5StickC hardware
      1. Detailed product page
      2. “Beyond the Arduino.” Extending Arduino skills to new hardware. Sitck can be used like basic Arduino, but…..
        1. much more powerful/capable CPU
        2. onboard accessories, including sensors, screen, and battery
        3. network connectivity
        4. additional connection option
        5. USB-C 🙂
    3. Programming options for the stick
      1. Arduino IDE – this workshop
      2. Uiflow – brief demo
      3. Micropython
    4. When to use the stick?
        1. all-in-one learning
        2. quick prototyping
        3. Esp32 for production
        4. Stick hardware limitations

       

  2. Hands-on examples

      1. “Blink” stick version
      2. reading the on board buttons
      3. plotting the on board accelerometer
      4. reading an external sensor (LDR)
      5. stick LCD display basics
      6. reading external sensor via LCD
      7. reading on board microphone via LCD
      8. making tones with buzzer
      9. controlling the stick over wifi
      10. connecting to the stick with BLE
      11. Factory stick examples (from M5Stack library)
      12. ESP32 examples (from ESP32 library)

     

  3. Accessories and more hardware details

      1. M5Stack products
      2. Grove devices from Seeed Studio
      3. My notes on accessories and the 5 Volt danger

     

  4. Exercises/projects/experimentation

Reference Material

Maker Tech Education