Giter Site home page Giter Site logo

lucascalcada / picomidikeyboard Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 60 KB

MIDI Controller firmware for the Raspberry Pi Pico microcontroller

License: MIT License

CMake 19.63% C++ 22.06% C 58.31%
keyboard midi midi-controller midi-device music musical-keyboard piano raspberry-pi-pico

picomidikeyboard's Introduction

Pico MIDI Keyboard

MIDI Controller firmware for the Raspberry Pi Pico microcontroller
Available languages: πŸ‡§πŸ‡·, πŸ‡ΊπŸ‡Έ
Default config pinout

Building the project

If you don't have the pico-sdk downloaded start by running the following commands (don't forget to replace <PATH-TO-PICO-SDK> with your actual SDK path):

$ git clone https://github.com/raspberrypi/pico-sdk.git --branch master
$ cd pico-sdk
$ git submodule update --init
$ cd ..
$ export PICO_SDK_PATH=<PATH-TO-PICO-SDK>

Then, run the following commands to download and build the project

$ git clone https://github.com/LucasCalcada/PicoMIDIKeyboard
$ cd PicoMIDIKeyboard
$ mkdir build
$ cd build
$ cmake ..
$ make

Finally, plug in the pico holding the BOOTSEL button and copy the MIDIKeyboard.uf2 file into the board's storage

Installation

You can download a prebuilt version on the releases section (It is recommended to build the project yourself, since you can customize the settings to your likings and needs)
The firmware can be installed by holding the pico's BOOTSEL button and copying the MIDIKeyboard.uf2 file into the board's storage

Configuration

By editing the midi_config.h you can customize the funcionality of the keyboard

Option Description
PINS[ ] Sets each pin that will be used as key inputs
NOTES[ ] Sets each note that corresponding pin will send
OCTAVE_AMMOUNT Sets the number of octaves your keyboard will have (depends on the number of PINS you have set up
INITIAL_OCTAVE_OFFSET Sets the starting offset for the keyboard octave
OCTAVE_UP and OCTAVE_DOWN Sets the pins to change the octave offset

picomidikeyboard's People

Contributors

lucascalcada avatar

Watchers

 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.