MATRIX Development Checklist

Dear MATRIX Community,

The MATRIX platform is a space for collaboration among innovative makers, developers, students, engineers, professors & researchers from all around the world. We want to bring together all that we can build in order to continue improving this platform for everyone.

Below is a checklist of development features to keep you informed on what features are on our radar and also to encourage you to contribute to features that would expand the MATRIX platform’s utility.

Some of the features on this list are reach ideas that are time-consuming to develop and may change, but with your collaboration, support & feedback, we hope to go above and beyond!


How this post works:

  • Vote for the features that are most useful to you
  • Suggest new features in the comments
  • Endorse community suggested ideas by liking their post
  • We will update this list over time as feature development is completed & new features are added
  • These features are listed in no particular order and are subject to change
  • The post will have a “Last updated” tag with the date
  • If you have suggestions or comments about this post other than new feature suggestions, including ideas on how better to present this checklist, please post them here
  • If you are working on any features for the MATRIX platform, please say so here

NOTE: Due to the way Discourse polls work, the voter number gets reset every time we update the checklist but we have a record of all past votes.

  • Enable MATRIX Creator & MATRIX Voice GPIOs to accept i2c sensors
  • Analog code to enable MATRIX Creator GPIOs to read analog sensors (in MCU)
  • AnalogRead abstraction MATRIX HAL
  • Wakeword on ESP32 MATRIX Voice
  • 3rd party abstraction in HAL for zigbee (like openHAB)
  • 3rd party abstraction in HAL for ZWave (like openZWave)
  • IR through MCU on Creator
  • Multiple applications can use mics
  • Split mics into 8 hardware devices in ALSA
  • Beamformed 9th channel in ALSA
  • Standalone ESP32 MATRIX Voice mic (Bluetooth or WiFi)
  • DAC/ADC on ESP32 MATRIX Voice
  • Weighted beamforming in ALSA user space
  • Acoustic Echo Cancellation (AEC) in ALSA user space
  • Reverberation in ALSA user space
  • RISC-V on FPGA
  • AEC in FPGA on RISC-V
  • Reverberation in FPGA on RISC-V
  • NFC Lite Py
  • NFC Lite Go
  • MicroBlaze in FPGA
  • Improve MATRIX Voice Audio jack output frequency ranges
  • MATRIX Voice Audio jack playback speed fix
  • ZWave fix w/ latest kernel modules
  • Expand MATRIX Lite Ruby
  • FuPy implementation on FPGA (Program FPGA w/ Python)
  • C++ on MicroBlaze/RISC-V on FPGA

0 voters

In progress features:

  • TensorFlow Lite on Cortex-M3 on MATRIX Creator
  • FuPy (will take a while)
  • NFC Lite Py (in queue)

Last updated: Tuesday, September 16, 2019

I would love to see reliable higher sample rates for 8-channel capture, such as at least 96khz, ideally 192khz, even if possible only on some of the mics at a time (4 minimum). Thanks!


I would watch these vids even if they were hours long!

  1. Microphone fpga dsp code walk through
  2. Esp32 debugging walk through

Hi @philius,

Great suggestions!

ESP32 is definitely hard to program without debugging! We go over this briefly using minicom in our PlatformIO live stream here. You can find the instructions for serial debugging in the “Connecting to the ESP32 UART from Raspberry Pi” section here.

Noted about the FPGA DSP code walk through :smile: