Giter Club home page Giter Club logo

macropadsynthplug's Introduction

MacroPadSynthPlug!

abuse MacroPad RP2040's StemmaQT port by turning it into Audio Out + MIDI In

Get one now at Tindie!

Demo video on Youtube: CircuitPython drum machine demo

What is this?

The Adafruit MacroPad RP2040 is really fun and could be a great musical instrument, with its 12 keys, rotary encoder, OLED display, RP2040 chip, and 8MB of flash storage.

If it only had a way to get MIDI into it and Audio out of it! Well now you can, with MacroPadSynthPlug!

MacroPadSynthPlug is a small board that plugs into the StemmaQT port (but is not I2C!) and gives you TRS-A MIDI In and Audio line out.

The MacroPad RP2040 can now be a stand-alone MIDI synth!

Examples provided for both CircuitPython and Arduino:

  • drum_machine - CircuitPython-based drum sequencer (demo1,demo2 )
  • dronesynth - Arduino Mozzi 12-oscillator drone synth (demo)
  • remixer - CircuitPython-based song remixer (source)
  • monosynth1 - Arduino Mozzi 2-oscillator bass monosynth w/ resonant low-pass filter (source)

How?

The Raspberry Pi RP2040 chip on the MacroPad RP2040 is amazingly configurable.

Normally a port like the StemmaQT I2C port would only be usable as an I2C bus, or maybe as GPIO pins.

But with the RP2040, those two StemmaQT pins, can be:

  • SDA - GP20 - UART1 TX - PWM2B
  • SCL - GP21 - UART1 RX - PWM2A

This means we could use the StemmaQT port for all sorts of musical things, like:

  • MIDI In / Out!
  • Stereo PWM audio out!
  • MIDI In / Audio Out (Hey this is what MacroPadSynthPlug does)

To get audio out, all we need is a small PWM filtering circuit. To get MIDI in, a small optoisolator circuit is needed. MacroPadSynthPlug is just this.

This is sort of an "abuse" of the StemmaQT port, as it's meant only for I2C devices. But it's safe, will not damage other StemmaQT devices, but it does mean you "lose" the StemmaQT port for it's normal use.

Why?

Seems like fun? I have built many RP2040-based little hardware synths, like:

and wanted the MacroPad RP2040 to join in the fun.

Does this work for other boards with StemmaQT?

Short answer: not really

For any non-RP2040-based board, this almost definitely will not work.

And while the RP2040 is a very configuraable, not all functions are availbe on all pins. So it probably won't work on other RP2040-based boards too. For instance:

  • QTPy RP2040? Sorta. Its StemmaQT SDA/SCL is on GPIO22/23, which has PWM but no UART RX
  • KB2040 "Keeboar"? Yes! Its StemmaQT SDA/SCL is on GPIO12/13, which has PWM & UART0 RX!

Are these for sale?

Yes! Get one now at Tindie!

Action shots

macropadsynthplug's People

Contributors

todbot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.