Matrix Portal M4

by Adafruit

Image of Board

Folks love our wide selection of RGB matrices and accessories, for making custom colorful LED displays… and our RGB Matrix Shields and FeatherWings can be quickly soldered together to make the wiring much easier. But what if we made it even easier than that? Like, no solder, no wiring, just instant plug-and-play? Dream no more - with the Adafruit Matrix Portal add-on for RGB Matrices, there’s never been an easier way to create powerful Internet-connected LED displays.

Plug directly into the back of any HUB-75 compatible display (all the ones we stock will work) from 16x32 up to 64x64! Use the included screws to attach the power cable to the power plugs with a common screwdriver, then power it with any USB C power supply. (For larger projects, power the matrices with a separate 5V power adapter)

Then code up your project in CircuitPython or Arduino, our Protomatter matrix library works great on the SAMD51 chipset, knowing that you’ve got the wiring and level shifting all handled. Here’s what you get:

  • ATSAMD51J19 Cortex M4 processor, 512KB flash, 192K of SRAM, with full Arduino or CircuitPython support
  • ESP32 WiFi co-processor with TLS support and SPI interface to the M4, with full Arduino or CircuitPython support
  • USB Type C connector for data and power connectivity
  • I2C STEMMA QT connector for plug-n-play use of any of our STEMMA QT devices or sensors can also be used with any Grove I2C devices using this adapter cable)
  • JST 3-pin connector that also has analog input/output, say for adding audio playback to projects
  • LIS3DH accelerometer for digital sand projects or detecting taps/orientation.
  • GPIO breakouts including 4 analog outputs with PWM and SPI support for adding other hardware.
  • Address E line jumper for use with 64x64 matrices (check your matrix to see which pin is used for address E!
  • Two user interface buttons + one reset button
  • Indicator NeoPixel and red LED
  • Green power indicator LEDs for both 3V and 5V power
  • 2x10 socket connector fits snugly into 2x8 HUB75 ports without worrying about ‘off by one’ errors.

The Matrix Portal uses an ATMEL (Microchip) ATSAMD51J19, and an Espressif ESP32 Wi-Fi coprocessor with TLS/SSL support built-in. The M4 and ESP32 are a great couple - and each bring their own strengths to this board. The SAMD51 M4 has native USB so it can show up like a disk drive, act as a MIDI or HID keyboard/mouse, and of course bootload and debug over a serial port. It also has DACs, ADC, PWM, and tons of GPIO, so it can handle the high speed updating of the RGB matrix.

Meanwhile, the ESP32 has secure WiFi capabilities, and plenty of Flash and RAM to buffer sockets. By letting the ESP32 focus on the complex TLS/SSL computation and socket buffering, it frees up the SAMD51 to act as the user interface. You get a great programming experience thanks to the native USB with files available for drag-n-drop, and you don’t have to spend a ton of processor time and memory to do SSL encryption/decryption and certificate management. It’s the best of both worlds!

Comes with one fully-programmed and assembled MatrixPortal, preprogrammed with a rainbow digital sand demo for 32x64 LED matrices.

Purchase:

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 6.0.0

This is the latest stable release of CircuitPython that will work with the Matrix Portal M4.

Start here if you are new to CircuitPython.

Release Notes for 6.0.0

Built-in modules available: _bleio, _pixelbuf, analogio, audiobusio, audiocore, audioio, audiomixer, audiomp3, bitbangio, board, busio, countio, digitalio, displayio, framebufferio, frequencyio, gamepad, i2cperipheral, math, microcontroller, neopixel_write, nvm, os, ps2io, pulseio, pwmio, random, rgbmatrix, rotaryio, rtc, sdcardio, sharpdisplay, storage, struct, supervisor, terminalio, time, touchio, ulab, usb_hid, usb_midi, vectorio

CircuitPython 6.1.0-beta.1

This is the latest unstable release of CircuitPython that will work with the Matrix Portal M4.

Unstable builds have the latest features but are more likely to have critical bugs.

Release Notes for 6.1.0-beta.1

Built-in modules available: _bleio, _pixelbuf, analogio, audiobusio, audiocore, audioio, audiomixer, audiomp3, bitbangio, board, busio, countio, digitalio, displayio, framebufferio, frequencyio, gamepad, i2cperipheral, math, microcontroller, neopixel_write, nvm, os, ps2io, pulseio, pwmio, random, rgbmatrix, rotaryio, rtc, sdcardio, sharpdisplay, storage, struct, supervisor, terminalio, time, touchio, ulab, usb_hid, usb_midi, vectorio

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Past Releases

All previous releases are listed on GitHub, with release notes, and are available for download from Amazon S3. They are handy for testing, but otherwise we recommend using the latest stable release. Some older GitHub release pages include the same binaries for downloading. But we have discontinued including binaries as assets on newer release pages because of the large number of files for each release.

BROWSE GITHUB