Skip to content

jinglemansweep/matrix-portal-asyncio

Repository files navigation

Matrix Portal M4 Experiment (asyncio)

An experimental LED matrix display using the AdaFruit Matrix Portal M4 controller and a 64x32 MOD75 LED Matrix Panel driven using a custom asyncio manager.

Video

Demo

Photos

Photo

Features

  • Time and Date display with internet time updates
  • Dynamic randomly generated background scenes
    • Floor styles (Brick and Rock) and lengths vary
    • Floor "Underground Level" pallete used at night
    • Warp pipe location varies
  • Autonomous Mario and Goomba sprites
    • Mario performs a jumps occasionally
    • Randomly move in and out of scene
    • Background scene sometimes regenerates when both sprites are off screen
  • Physical hardware button support
    • Regenerate background scene

Requirements

Usage

Create a Python virtualenv and install the CircUp library manager:

python -m venv ./venv
source ./venv/bin/activate
pip install circup

Connect the Matrix Portal M4 to device and confirm USB device is connected and automatically mounted (e.g. /media/${USER}/CIRCUITPY):

ls /dev/ttyACM0
ls /media/${USER}/CIRCUITPY

Install project dependencies and libraries using circup:

circup install -r ./requirements.txt

Copy the contents of the src directory to the root of your Matrix Portal M4 filesystem (e.g. /media/${USER}/CIRCUITPY):

rsync -rv ./src/ /media/${USER}/CIRCUITPY/

Now create a secrets.py file in the same location (e.g. /media/${USER}/CIRCUITPY/secrets.py) with the following contents:

secrets = {
    "ssid": "<wifi-ssid>",
    "password": "<wifi-password>",
    "aio_username": "<adafruit-io-username>",
    "aio_key": "<adafruit-io-api-key>"
}
  • Replace <wifi-ssid> and <wifi-password> with your WiFi network name (SSID) and WPA password/key
  • Replace <adafruit-io-username> and <adafruit-io-api-key> with your AdaFruit IO username and API key

CircuitPython will automatically restart when files are copied to or changed on the device.

About

Matrix Portal AsyncIO Experiment

Resources

License

Stars

Watchers

Forks

Packages

No packages published