Skip to content

Software & notes from retrofitting some old chimes to MIDI control

Notifications You must be signed in to change notification settings

DAVe3283/MIDI-Chimes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDI-Chimes

Software & notes from retrofitting some old chimes to MIDI control

Eventually, this will contain schematics, PCB layouts, data sheets, and source code to make everything work. I will add things as I get to them.

Project Details

TODO: writeup project details

Firmware

The project uses several Teensy 3.2 microcontrollers. There is a master, which handles MIDI and the user interface. The rest are slaves, which run 10 chimes each.

The master and slaves communicate over I2C. The master talks to a touch screen LCD over SPI.

Libraries

I am using the following libraries:

  • i2c_t3 - A superior I2C library that runs quite fast on the Teensy3.
  • ILI9341_t3 - An optimized ILI9343 SPI LCD driver library for the Teensy3.
  • ILI9341_fonts - Additional fonts for ILI9341_t3.
  • Adafruit_STMPE610 - STMPE610 SPI touch screen controller library.
  • Adafruit_FT6206 - FT6206 I2C touch screen controller library.
  • SdFat - SD Card + FAT file system library.
  • IniFile - Arduino library to parse INI files.

Some minor changes are needed to make the libraries work together for this project.

Adafruit_STMPE610

The line #include <Wire.h> needs changed to #include <i2c_t3.h> or it conflicts with the i2c_t3 library.

SdFat

To work right, the SdFat library needs the following settings in SdFatConfig.h:

#define SD_SPI_CONFIGURATION 1

This uses the Arduino SPI.h library, which is really an optimized one for the Teensy 3.1.

#define ENABLE_SPI_TRANSACTION 1

This enables SPI transactions, which makes using multiple devices on the SPI bus much nicer.

I had some issues with SdFat-beta, but I might go back and make that work, because it does some cool stuff.

IniFile

In IniFile.h, #include <SD.h> needs changed to #include <SdFat.h>.

Immediately below the includes, add the following so the inline code works with this program:

extern SdFat sd;
#define SD sd

Schematics

See the "PCB & Schematic" directory, and the PCB.md file.

License

Content in each folder may be licensed differently. Overall, I strive to use the Unlicense, but some portions may use external libraries preventing that. Those portions will be licensed as necessary. Data sheets and the like are provided for reference only, and are subject to all licenses/copyright specified within.

About

Software & notes from retrofitting some old chimes to MIDI control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published