TouchMIDI32 is a electric board that outputs MIDI messages via USB when touching a capacitive touch sensor.
In this board firmware is already written, so you can utilize it for making your original MIDI controller project by only soldering electrodes.

For your information, this product is an improved version that increased the touch sensor number from 10 to 32 while keeping the price unchanged from TouchMIDI currently on sale.

< Special Features >
- Equipped with Cypress's CapSense technology capacitive touch sensor.
- USB microB terminal that can transmit USB MIDI.
- Easy to install on musical instruments etc. Slim size of 100mm * 23mm.
- Since it is powered by USB, there is no need for power supply.
- Firmware that output MIDI messages assigned pitch of C3 to G5 in semitone units to 32 capacitive touch sensors is written.
- Programs can be written to PSoC4 with KitProg etc., so it can be used as PSoC4 development board. ( With terminal for writing Programs, enable to use UART/I2C/GPIO )
- Two screw holes with a spacing of 74mm are prepared for attachment to a cabinet.

< Usage on internal firmware >
- P9 terminal selects the power supply. Solder the supplied pin header and connect the 1st and 2nd pins directly with the jumper switch, the power supply becomes 5V of the USB power supply.
- Connect the electrodes to the 32 terminals of P1 to P4 ( Cut copper foil tape in units of 1cm, connect with terminals and cable and solder it, you can easily make the electrode for touch ).
- Connect with PC with USB micro B cable.
- If you launch a soft synth application that operates MIDI on your PC, you can make MIDI output by touching the electrode and sound from the PC.

< !!Caution!! > 
If you connect the 2nd and 3rd pins, USB power and GND are short and doing so may damage the module. Not connect them.

<Example Movie>

< Schematic >
Below is a schematic of this board.
Explanation of each port:
P1 - P4: They are sum 32 pins for capacitive touch sense. Each MIDI note are assigned to each pin.
P5: It's for programming firmware. You can program with PSoC SWD operation.
P6: PSoC allows you to freely assign functions to each pin. But it's supposed to use for output ports.
P7: PSoC allows you to freely assign functions to each pin. But it's supposed to use for input ports.
P8: PSoC allows you to freely assign functions to each pin. But it's supposed to use 1st pin as I2C-SCL, 2nd pin as I2C-SDA, 3rd pin as UART-Rx, 4th pin as UART-Tx.
P9: They are pins for power supply selection. 1st pin is the power supply of the entire module. 2nd pin is USB power supply(5V), 3rd pin is GND. As mentioned before,  if 1st pin and 2nd pin are short-circuited, it operates at 5V. However if you want to operate with other voltages such as 3.3V, create a circuit such as a three-terminal regulator externally, connect it.

< Firmware >
Firmware is described as a file to be executed on an IDE "PSoC Creator" provided by Cypress.
Since PSoC Creator automatically generates the driver source for peripherals, there are so many source files, but in reality only I developed a few files (the prefix "tm32_" is attached to the file name ).

link to GitHub for TouchMIDI32_firmware

link to PSoC Creator(IDE) download page

- PSoC Type Number is CY8C4246AZI-L445, Internal CPU is 48MHz ARM cortex-A0.
- In TouchMIDI32_firmware's Workspace, there are multiple projects, and TouchMIDI 32 has two versions of boot and main installed.
- If you write "boot" only via SWD at the beginning, you can write "main" executable file (.hex) with a dedicated installer only with USB connection.

0 件のコメント: