Monday, January 28, 2019

Let's Listen: Doepfer A-106-5 SEM, A-120 LPF, A-124 Wasp, A-199 SPRV, A-188-1 BBD






Friday, January 25, 2019

Secret Handshake Firmware: USB Text Keyboard as Ableton-style Music Keyboard

This firmware for the Secret Handshake module turns a wireless USB keyboard into an "Ableton-style Music Keybaord".


The USB received for the wireless USB keyboard can be plugged into the Secret Handshake module, and then the row from A to K will become the white keys of a piano, the row Q to U will become the black keys of a piano, Z and X will change the octave up and down, and C and V will change the velocity up and down.





More information about Secret Handshake can be found here: http://little-scale.blogspot.com/2019/01/secret-handshake-diy-usb-midi-host.html

Download this firmware code for Arduino here: https://github.com/little-scale/eurorack/blob/master/USB_MIDI_Host/Secret_Handshake_-_Logitech_Keyboard.ino

The file defs.h is also required: https://github.com/little-scale/eurorack/blob/master/USB_MIDI_Host/defs.h



Thursday, January 24, 2019

12 Gate 16 CV USB MIDI Interface: BOM, Build Guide, Schematic, PCB and Code

Overview
This is a USB-powered, Teensy-based interface that has 16 CV outputs and 12 gate outputs. USB MIDI channels 1 - 8 are mapped to CV outputs 1 - 16 for pitch and velocity, and gates 1 - 8 for note on and off events. Gates 9 - 12 are mapped to note on and off events only on channel 9, and also will send a sync and transport signal based on MIDI clock messages if received. CV is 12 bit from 0V to 4V, gates 1 - 8 are 0 and 5V, and gates 9 - 12 are 0 and 3.3v.




Schematic 



PCB
See: https://github.com/little-scale/eurorack/tree/master/USB_MIDI_12_gate_16_cv_interface


Code 
See: https://github.com/little-scale/eurorack/tree/master/USB_MIDI_12_gate_16_cv_interface


Bill of Materials
1 x 12 Gate 16 CV USB MIDI Interface PCB
1 x Teensy LC or 3.2 and associated header pins
40 x 1k 1% resistors
8 x MCP4822 through hole DAC and 8 8-pin IC sockets
1 x 74HC595 through hole shift register and 1 16-pin IC socket
8 x red 3mm LEDs
4 x green 3mm LEDs
28 x PJ301M-12 3.5 mm sockets



Build Guide
 This is the PCB.


 Place and solder the 40 x 1k resistors.


Place and solder the 8 x red 3mm LEDs. In the picture, the short negative leg is oriented towards the lower edge of the picture.


Place and solder the 4 x green 3mm LEDs. In the picture, the short negative leg is oriented towards the lower edge of the picture.


Place and solder the 8 x 8-pin IC sockets. In the picture, the indent is oriented towards the upper edge of the picture.


Place and solder the 1 x 16-pin IC socket. In the picture, the indent is oriented towards the upper edge of the picture.


If the Teensy does not have headers, place and solder two rows of headers.


Place and solder the Teensy. In the picture, the USB port is oriented towards the left edge of the photo.


 Place and solder 28 x PJ301M-12


Populate the IC sockets, paying attention to the orientation of the MCP3822 DACs and the shift register 74hc595.






Sunday, January 13, 2019

Secret Handshake: DIY USB MIDI Host Module for Eurorack

The Teensy 3.6 can act as a USB host. This includes support for class-compliant USB MIDI devices, as well as other types of USB devices. 

The strength of this is to be able to use USB MIDI controllers without the need for a laptop or similar device, and can interface with Eurorack. 

I've made a simple Eurorack module that acts as a USB MIDI host, and has two inputs that can be either gate or CV signals, 4 gate outputs and 2 CV outputs. 

All of the relevant files can be found here: https://github.com/little-scale/eurorack/tree/master/USB_MIDI_Host

This includes an example for Launchpad Mini, PS4 controller, NanoKontrol 2. 





Different USB MIDI devices have different Arduino sketches written for them as firmware. Each USB device has different controls, functions and mappings, and so the flexibility of having a USB Host module is weighed against needing to program each device.

I will be adding and updating this project in the coming weeks. My plan is to make a new PCB with buffered outputs, voltage scaling, and busses for IO expansion.

Here are demonstrations for NanoKontrol 2, PS4 controller and Launchpad Mini.