Skip to content

Seraph is an open platform for developing Teensy-based MIDI controllers and interactive musical interfaces. This repository provides a PCB design and sample demo code to help you build and customize your own MIDI devices.

License

Notifications You must be signed in to change notification settings

Calarts-Creative-Computing/Seraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calarts Creative Computing Logo

Seraph

Seraph – Open-Source Teensy MIDI Controller Platform
Welcome to Seraph!

Seraph is an open platform for developing Teensy-based MIDI controllers and interactive musical interfaces. This repository provides a PCB design and sample demo code to help you build and customize your own MIDI devices.

Stars Watchers Forks

License Issues Pull Requests Last Commit

View on GitHub Download ZIP


What's Inside?

This repository includes:

  • Seraph PCB design – A hardware platform for connecting various sensors and controls.
  • Demo code – Examples showcasing how to interface different sensors with the Seraph PCB.
  • Customization support – Easily modify the code to suit your specific project needs.

Quick Start

  1. Solder your Teensy to the board
    ◦ Use headers instead of soldering the Teensy directly to the PCB.
    ◦ This allows you to easily remove and reuse your Teensy for future projects.

  2. Install the required library
    ◦ Most of our demo code uses the Teensy USBMIDI library.
    ◦ Download it via the Arduino Library Manager before running the code.

  3. Set your board mode
    ◦ Ensure your Teensy is in Serial + MIDI mode in the Arduino IDE.
    ◦ This allows your computer to recognize it as a MIDI device.

  4. Upload and experiment!
    ◦ Flash the code to your Teensy and start exploring interactive MIDI control.


Get Creative!

Seraph is designed to be flexible and open-ended. Whether you're building a MIDI controller, sound-reactive installation, or experimental music interface, this platform is here to support your creativity.

Have fun and make something amazing!


Seraph Screenshot

Seraph Quickstart Tutorials + Diagrams

Connecting an Analog Sensor (No Pulldown Resistor Required)

For simple analog sensors like potentiometers, which do not require pulldown resistors:

1: Connect your power lead to any + (power) via.

2: Connect your ground lead to any – (ground) via.

3: Connect your data lead to any available analog input via, and make sure to modify your code to match the analog input you chose

Diagram1

The code for this circuit can be found in the Seraph Github repository under the name Seraph_PotentiometerDemo


Connecting an Analog Sensor with a Pulldown Resistor

For sensors such as LDRs (Light Dependent Resistors) or FSRs (Force Sensitive Resistors) that do require a pulldown resistor:

  1. Connect your power lead to any + (power) via.

  2. Connect your data lead to your desired analog input via, and make sure to reflect this choice in your code.

  3. Place your pulldown resistor in the allocated resistor area on the PCB, and make sure it is in the same row as your chosen analog input. This connects the sensor’s data line to ground. The built-in resistor footprint on the PCB makes this easy and clean.

alt_text

The code for this circuit can be found in the Seraph Github repository under the name Seraph_FSRDemo

Connecting a Digital Sensor

For basic digital input devices like buttons that don’t require pullup or pulldown resistors:

  1. Connect one lead of the button to any - (ground) via.
  2. Connect the other lead to the desired digital input via, and make sure to reflect this choice in your code.
  3. To connect an LED to this circuit, simply place an LED in one of the allocated LED slots, and place your resistor in a resistor slot in the same row.

alt_text

The code for this circuit can be found in the Seraph Github repository under the name Seraph_ButtonDemo


Connecting an I²C Sensor

To connect an I²C sensor (such as IMUs or environmental sensors):

  1. Connect the SDA (Data) pin on your sensor to an SDA pin on Seraph.

  2. Connect the SCL (Clock) pin on your sensor to an SCL pin on Seraph.

  3. Connect the Power (VCC) pin on your sensor to a + (power) via.

  4. Connect the Ground (GND) pin on your sensor to a – (ground) via.

figure4


Calarts Creative Computing Logo

Creative Computing at California Institute of the Arts is a forward-thinking interdisciplinary program that fuses the power of computational engineering skills with the limitless possibilities of artistic expression. This innovative degree encourages students to explore the intersection of technology and creativity, using computational tools to craft work that is both personally and culturally meaningful, while preparing them for industry. Our program is designed to provide an integrative learning experience that equips students with the skills to push the boundaries of art, music, and technology. With a strong foundation in computer science, electrical engineering, signal processing, and emerging technologies including virtual/augmented reality, robotics, and machine learning, students will be empowered to innovate, experiment, and reimagine what technology can do in artistic contexts.

Learn More

About

Seraph is an open platform for developing Teensy-based MIDI controllers and interactive musical interfaces. This repository provides a PCB design and sample demo code to help you build and customize your own MIDI devices.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages