Friday, May 22, 2020

ATOM Matrix: Introduction

M5Stack manufacturers a series of development boards, and the next several blog posts are devoted to one of their products, the M5 ATOM Matrix. The first part of this series is concerned with hardware aspects other than wifi or bluetooth connectivity; those aspects will be examined later in the series.

While these tutorials are framed in terms of this one product, the code can be adapted to other ESP-32 boards.


ATOM Matrix and ATOM Lite

There is a related product, called the M5 ATOM Lite, that does not have the ATOM Matrix's 5 x 5 RGB LED display. Instead, it has only one RGB pixel. In other aspects it is the same as the ATOM Matrix. One major difference between these products and the majority of M5Stack's products is that the Matrix and Lite do not include an internal battery. The ATOM Lite, the ATOM Matrix, a M5Stick-C, and one of the ordinary M5Stack units are shown here, left to right.


ATOM Matrix Hardware Overview:

  • ESP32-PICO-D4
  • 4MB integrated SPI flash memory
  • 5 x 5 RGB LED matrix
  • One user button
  • One reset button
  • IMU sensor (MPU6886)
  • Temperature sensor (part of MPU6886)
  • Infrared LED
  • Grove PH2.0 interface
  • GPIO pins on the back - but only 6 (see following photo)
  • USB-C port


Driver and Arduino IDE Setup

The ATOM Matrix uses Silicon Lab's CP2201x driver to make the board appear as a USB port. The driver can be downloaded from this URL:
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

NOTE: it is essential to un-zip the download from Silicon Labs first! Mac OSX allows you to inspect zip files, but attempting to install the driver directly from the zip file will silently fail!

To install ESP-32 support in the Arduino IDE, do the following:

  • Open the Preferences dialog (which is under the Arduino menu on the Mac)
  • Click the button to the right of the "Additional Boards Manager URLs" label
  • Enter the following URL to the list: https://dl.espressif.com/dl/package_esp32_index.json
  • Then close the dialogs.
  • Under the Tools menu, choose the Board option, then the Boards Manager
  • Search for "esp32", and install the package from Espressif Systems (the manufacturer of the ESP-32)
  • Close that dialog

After this is done, various M5 boards should be listed in the Boards menu. We want to use the one called "M5Stick-C".

NOTE: If, after connecting the board to your computer using a USB cable, the board doesn't show under the Arduino Boards menu, here are two things to check:

  1. Is the USB cable power-only, or can it carry data as well?
  2. Is the driver properly installed?

Driver problems are difficult to diagnose, and the only advice I can offer is to visit the M5Stack Forums found at https://forum.m5stack.com/

There are other ways of developing software for the ESP-32 MicroPython, CircuitPython, and UIFlow. The latter is mostly specific to M5Stack boards.


Table of Contents: (will be updated as more posts go online)

No comments:

Post a Comment