Skip to content

arbipink/midi-project-with-ttp229-and-stm32-using-libopencm3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDI Project with libopencm3

This project implements a USB MIDI controller using the STM32F103C8T6 “Blue Pill” board and libopencm3 midi usb Examples.

It uses a TTP229 16-key capacitive touch keypad as the input source and sends MIDI messages over USB.

Hardware Setup

Hardware Needed

  1. MCU Board: STM32F103C8T6 ("Blue Pill")
  2. Input Sensor: TTP229 16-key touch sensor (I²C mode)

Wiring

TTP229 Pin STM32F103C8 Pin
SDO PA6
SCL PA7
TP2 Connected
TP3 Connected
TP4 Connected
VCC/GND 3.3V / GND

The TP2, TP3, and TP4 pins on the TTP229 side are connected to configure the sensor for 16-key mode and multitouch function.

Getting Started

Prerequisites

Make sure you have the following toolchain

sudo apt install stlink-tools gcc-arm-none-eabi

Clone the repo

git clone --recurse-submodules https://github.com/arbipink/midi-project-with-ttp229-and-stm32-using-libopencm3.git midi-project

Build

first build libopencm3 (only needed once)

cd midi-project
make -C libopencm3

then build the project

make -C my-project

Flash

cd my-project
st-flash --reset write midi-project.bin 0x8000000

What i will do in the future

  1. Add functionality to change octave
  2. Add functionality to control midi cc
  3. Change from polling driven to interrupt driven for the keys

License

About

As the title says, this is a midi controller with ttp229 and libopencm3

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published