# NeoTrellis MIDI Feedback Controller

## Overview

https://youtu.be/ue0HGQY5V60

![](https://cdn-learn.adafruit.com/assets/assets/000/112/547/medium800/projects_thumb.jpg?1655918680)

Drum patterns and colored lights! Use your grid controller with your software synth and keep the LEDs in sync with the GUI. The NeoTrellis MIDI Feedback Controller sends MIDI messages containing note information in order to program a trigger sequencer -- but here's the cool part: when the controller _receives_ MIDI note messages back from the software it interprets them as NeoPixel commands!

Inspired by the excellent, [Arduino-based design by PatchworkBoy](https://github.com/PatchworkBoy/TrowasoftControl), this simpler, CircuitPython-based approach will get you started quickly controlling four 16-step drum trigger sequences in a VCV Rack. You can then modify it to fit your needs.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/488/medium800/led_matrices_rack.jpg?1655822040)

## Parts
### Adafruit 8x8 Trellis Feather M4 Acrylic Enclosure + Hardware Kit

[Adafruit 8x8 Trellis Feather M4 Acrylic Enclosure + Hardware Kit](https://www.adafruit.com/product/4372)
A&nbsp;super-specifically-laser-cut enclosure that&nbsp;turns your 8x8 'Trellis into a handheld light/music maker!&nbsp;Perfect for your next cool interface, MIDI instrument, control panel... whatever could benefit from a glow-up with an elegant&nbsp;black and white enclosure _and_...

In Stock
[Buy Now](https://www.adafruit.com/product/4372)
[Related Guides to the Product](https://learn.adafruit.com/products/4372/guides)
![Adafruit 8x8 Trellis Feather M4 Acrylic Enclosure + Hardware Kit showing contents](https://cdn-shop.adafruit.com/640x480/4372-00.jpg)

### Part: Adafruit NeoTrellis RGB Driver PCB
quantity: 4
for 4x4 Keypad
[Adafruit NeoTrellis RGB Driver PCB](https://www.adafruit.com/product/3954)

### Part: Silicone Elastomer 4x4 Button Keypad
quantity: 4
for 3mm LEDs
[Silicone Elastomer 4x4 Button Keypad](https://www.adafruit.com/product/1611)

### Adafruit Feather RP2040

[Adafruit Feather RP2040](https://www.adafruit.com/product/4884)
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the&nbsp; **RP2040** , and all niceties you know and...

In Stock
[Buy Now](https://www.adafruit.com/product/4884)
[Related Guides to the Product](https://learn.adafruit.com/products/4884/guides)
![Angled shot of black rectangular microcontroller "Feather RP2040"](https://cdn-shop.adafruit.com/640x480/4884-04.jpg)

### 4-pin JST PH to JST SH Cable - STEMMA to QT / Qwiic

[4-pin JST PH to JST SH Cable - STEMMA to QT / Qwiic](https://www.adafruit.com/product/4424)
Are you a maker in the midst of&nbsp;a [**STEMMA**](https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma) dilemma? This 200mm long 4-wire cable is a fantastic chimera-cable fitted with **STEMMA QT / Sparkfun Qwiic JST SH** on one end,...

In Stock
[Buy Now](https://www.adafruit.com/product/4424)
[Related Guides to the Product](https://learn.adafruit.com/products/4424/guides)
![Angled shot of 4-pin JST PH to JST SH Cable. ](https://cdn-shop.adafruit.com/640x480/4424-02.jpg)

### Part: USB A to USB C Cable
quantity: 1
3'/1m
[USB A to USB C Cable](https://www.adafruit.com/product/4474)

### Alternative Controller
### Adafruit 8x8 NeoTrellis Feather M4 Kit Pack

[Adafruit 8x8 NeoTrellis Feather M4 Kit Pack](https://www.adafruit.com/product/1929)
We've upgraded our popular UNTZtrument with a total make-over, and it's been reborn as the NeoTrellis 8x8 Kit pack. This open-source 8x8 Grid Controller Kit with a&nbsp;super-specifically-laser-cut enclosure turns four panels of 4x4 NeoTrellis's into a handheld Feather M4...

In Stock
[Buy Now](https://www.adafruit.com/product/1929)
[Related Guides to the Product](https://learn.adafruit.com/products/1929/guides)
![Hand pressing buttons that light up on a Adafruit 8x8 NeoTrellis Feather M4 Kit Pack.](https://cdn-shop.adafruit.com/product-videos/640x480/1929-08.jpg)

# NeoTrellis MIDI Feedback Controller

## Assemble the Controller

![](https://cdn-learn.adafruit.com/assets/assets/000/112/540/medium800/led_matrices_newRPtop.jpg?1655858230)

Follow this [page](https://learn.adafruit.com/adafruit-neotrellis/tiling) for the assembly of the NeoTrellis tiles.

NOTE: there is no need to solder wires to pads on the board if you use the **Feather RP2040** as you can use a [STEMMA to STEMMA QT cable](https://www.adafruit.com/product/4424) instead.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/537/medium800/led_matrices_tiles.jpg?1655856355)

## I2C Address Jumpers

Solder the I2C address jumpers as shown here. This gives you addresses **0x2E** , **0x2F** , **0x30** , and **0x31**

![led_matrices_neoaddress_8x8.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/536/medium640/led_matrices_neoaddress_8x8.jpg?1655854226)

## Case Build

[This guide page](https://learn.adafruit.com/neotrellis-feather-case-assembly/case-build) shows how to assemble the acrylic case for your NeoTrellis 8x8.

NOTE: You can skip the steps involving switches and battery as this will be used as a plugged-in MIDI controller over USB.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/541/medium800/led_matrices_newRPback.jpg?1655858324)

# NeoTrellis MIDI Feedback Controller

## Code the Controller

## Text Editor

Adafruit recommends using the Mu editor for using your CircuitPython code with the Feather. You can get more info in [this guide](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

Alternatively, you can use any text editor that saves text files.

# CircuitPython Installation

First make sure you are running the&nbsp;[latest version of Adafruit CircuitPython](https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython)&nbsp;for your board.

## Project Files

Download the Project Bundle linked below and copy them onto your **CIRCUITPY** drive.

## Libraries and code.py

You'll need to download the .zip file in the Download Project Bundle button below and unzip the file to get all of the needed files.

Copy the **lib** directory as well as the **code.py** file to your Feather's **CIRCUITPY** drive.

![](https://cdn-learn.adafruit.com/assets/assets/000/126/255/medium800/led_matrices_one_one.png?1701183378)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/NeoTrellis/NeoTrellis_MIDI_Feedback_Controller/code.py

Next, you set up VCV Rack to work with the NeoTrellis 8x8 MIDI Feedback Controller.

# NeoTrellis MIDI Feedback Controller

## Rack Setup

![](https://cdn-learn.adafruit.com/assets/assets/000/112/466/medium800/led_matrices_rack.jpg?1655320700)

 **VCV Rack** is a virtual modular synthesizer that is free and open source. It can be used to patch together modules for sound design and music creation all by itself, and it can also be used with MIDI controllers.

You'll use it with the excellent **Stoermelder**  **MIDI-CAT** and **Trowasoft trigSeq** modules so that the NeoTrellis 8x8 can both send and receive MIDI messages. This is a simplified version of the excellent system created by **PatchworkBoy** [here.](https://github.com/PatchworkBoy/TrowasoftControl)

MIDI messages sent from the **NeoTrellis** to **Rack** will be used to change the sequencer trigger patterns of three drums and a bass synth.

In the other direction, MIDI messages from **Rack** to the **NeoTrellis** will be used to keep the NeoPixel lighting in sync with the on-screen GUI.

## VCV Rack and Plugins Required

- [VCVRack2 + Fundamentals](https://vcvrack.com/Rack#get)
- Audible Instruments (Mutable Instruments) [Plaits](https://library.vcvrack.com/AudibleInstruments/Plaits)
- [Stoermelder PACK-ONE Dev Builds](https://github.com/stoermelder/vcvrack-packone/releases/tag/Nightly)
- [Trowasoft-VCV](https://github.com/j4s0n-c/trowaSoft-VCV/releases/tag/v2.0.4-alpha)

Download and install [VCV Rack 2](https://vcvrack.com/Rack#get) for your operating system. This will include the Fundamental modules as well.

Then, from the Rack Library, install [Audible Instruments Macro Oscillator 2](https://library.vcvrack.com/AudibleInstruments/Plaits) (software version of the esteemed Mutable Instruments Plaits module).

Download [Stoermelder PACK-ONE](https://github.com/stoermelder/vcvrack-packone/releases/tag/Nightly). Then, put the **.vcvplugin** file in the **/Documents/Rack/plugins** directory.

Finally, download the [Trowasoft-VCV](https://github.com/j4s0n-c/trowaSoft-VCV/releases/tag/v2.0.4-alpha) dev build. Extract the zip, then place the folder in the **/Documents/Rack/plugins** directory.

[NeoTrellis_8x8_trigSeq.vcv.zip](https://cdn-learn.adafruit.com/assets/assets/000/112/263/original/NeoTrellis_8x8_trigSeq.vcv.zip?1654312094)
## MIDI Device Select

When you first open the VCV Rack patch file you may find that the MIDI-CAT module has **(No device)** listed for both the outgoing and incoming MIDI devices.

Click these each and set them to the name of the board in your NeoTrellis 8x8 -- either **Feather RP2040** or **Feather M4** , depending.

![led_matrices_rackunconf.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/544/medium640/led_matrices_rackunconf.jpg?1655877455)

![led_matrices_rackconf2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/112/546/medium640/led_matrices_rackconf2.jpg?1655877699)

## Use the Controller with Rack

&nbsp;

https://youtu.be/ue0HGQY5V60

Once the controller is selected in the **MIDI-CAT** module, hit **Reset** and then **Play** in the **Pulses** module to start the trigger sequencers.

Now, you can add triggers to any of the four drum sequencers with the NeoTrellis and the VCV Rack GUI will match. Same goes for the other direction! Click any triggers in the **Trowasoft**  **trigSeq** modules and the NeoTrellis will adjust the NeoPixels to match.

## Acknowledgements

This project would not have been possible without the excellent work done by PatchworkBoy in creating the [TrowasoftControl code, workflow, and example patch seen here](https://github.com/PatchworkBoy/TrowasoftControl).


## Featured Products

### Adafruit 8x8 NeoTrellis Feather M4 Kit Pack

[Adafruit 8x8 NeoTrellis Feather M4 Kit Pack](https://www.adafruit.com/product/1929)
We've upgraded our popular UNTZtrument with a total make-over, and it's been reborn as the NeoTrellis 8x8 Kit pack. This open-source 8x8 Grid Controller Kit with a&nbsp;super-specifically-laser-cut enclosure turns four panels of 4x4 NeoTrellis's into a handheld Feather M4...

In Stock
[Buy Now](https://www.adafruit.com/product/1929)
[Related Guides to the Product](https://learn.adafruit.com/products/1929/guides)
### Adafruit 8x8 Trellis Feather M4 Acrylic Enclosure + Hardware Kit

[Adafruit 8x8 Trellis Feather M4 Acrylic Enclosure + Hardware Kit](https://www.adafruit.com/product/4372)
A&nbsp;super-specifically-laser-cut enclosure that&nbsp;turns your 8x8 'Trellis into a handheld light/music maker!&nbsp;Perfect for your next cool interface, MIDI instrument, control panel... whatever could benefit from a glow-up with an elegant&nbsp;black and white enclosure _and_...

In Stock
[Buy Now](https://www.adafruit.com/product/4372)
[Related Guides to the Product](https://learn.adafruit.com/products/4372/guides)
### Adafruit NeoTrellis RGB Driver PCB for 4x4 Keypad

[Adafruit NeoTrellis RGB Driver PCB for 4x4 Keypad](https://www.adafruit.com/product/3954)
By popular request, we've upgraded our popular Trellis elastomer button kits to now have a PCB with _full color NeoPixel_ support! You heard that right, no more single-color LEDs, you can now have any color you like under the fantastic rubbery button pads we sell.

These 4x4...

In Stock
[Buy Now](https://www.adafruit.com/product/3954)
[Related Guides to the Product](https://learn.adafruit.com/products/3954/guides)
### Silicone Elastomer 4x4 Button Keypad - for 3mm LEDs

[Silicone Elastomer 4x4 Button Keypad - for 3mm LEDs](https://www.adafruit.com/product/1611)
So squishy! These silicone elastomer keypads are just waiting for your fingers to press them. Go ahead, squish all you like! (They're durable and easy to clean, just wipe with mild soap and water) These are just like the light up rubber buttons you find on stuff like appliances and tools,...

In Stock
[Buy Now](https://www.adafruit.com/product/1611)
[Related Guides to the Product](https://learn.adafruit.com/products/1611/guides)
### Adafruit Feather RP2040

[Adafruit Feather RP2040](https://www.adafruit.com/product/4884)
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the&nbsp; **RP2040** , and all niceties you know and...

In Stock
[Buy Now](https://www.adafruit.com/product/4884)
[Related Guides to the Product](https://learn.adafruit.com/products/4884/guides)
### 4-pin JST PH to JST SH Cable - STEMMA to QT / Qwiic

[4-pin JST PH to JST SH Cable - STEMMA to QT / Qwiic](https://www.adafruit.com/product/4424)
Are you a maker in the midst of&nbsp;a [**STEMMA**](https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma) dilemma? This 200mm long 4-wire cable is a fantastic chimera-cable fitted with **STEMMA QT / Sparkfun Qwiic JST SH** on one end,...

In Stock
[Buy Now](https://www.adafruit.com/product/4424)
[Related Guides to the Product](https://learn.adafruit.com/products/4424/guides)
### USB Type A to Type C Cable - approx 1 meter / 3 ft long

[USB Type A to Type C Cable - approx 1 meter / 3 ft long](https://www.adafruit.com/product/4474)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4474)
[Related Guides to the Product](https://learn.adafruit.com/products/4474/guides)

## Related Guides

- [Adafruit NeoTrellis](https://learn.adafruit.com/adafruit-neotrellis.md)
- [Introducing Adafruit Feather RP2040](https://learn.adafruit.com/adafruit-feather-rp2040-pico.md)
- [Customizing USB Devices in CircuitPython](https://learn.adafruit.com/customizing-usb-devices-in-circuitpython.md)
- [Introducing Adafruit Feather](https://learn.adafruit.com/adafruit-feather.md)
- [Bubble Table with LED Animations and IR Remote Control](https://learn.adafruit.com/bubble-table-with-led-animations-and-ir-remote-control.md)
- [Soundboard Speaker for Bikes & Scooters](https://learn.adafruit.com/soundboard-speaker-for-bikes-scooters.md)
- [Wireless NeoPixel Controller](https://learn.adafruit.com/neotrellis-neopixel-controller.md)
- [NeoTrellis Tabletop RPG Soundboard](https://learn.adafruit.com/neotrellis-dungeon-crawl-soundboard.md)
- [NeoTrellis M4 Memory Game](https://learn.adafruit.com/neotrellis-m4-memory-game.md)
- [Trellis 3D Printed Enclosure](https://learn.adafruit.com/trellis-3d-printed-enclosure.md)
- [NeoTrellis Sound Board](https://learn.adafruit.com/neotrellis-soundboard.md)
- [Optical Sensor Drum Track Sequencer](https://learn.adafruit.com/drum-track-sequencer.md)
- [Star Trek Soundboard with NeoTrellis](https://learn.adafruit.com/star-trek-sound-board-with-neotrellism4.md)
- [Desk Calculator with CircuitPython](https://learn.adafruit.com/desk-calculator-with-circuitpython.md)
- [NeoTrellis Feather Case Assembly](https://learn.adafruit.com/neotrellis-feather-case-assembly.md)
- [Trellis Python Library](https://learn.adafruit.com/trellis-python-library.md)
