Update
Greetings!
This is just a quick update, I have a lot more to cover which I will. A few of the components for the design challenge arrived, no sign on the BBB?
I have decided to not keep waiting any longer for kit to arrive, I have commenced working with existing components that I have on-hand namely an Arduino LeoStick.
The LeoStick contains an ATmega32U4 micro-controller. The ATmega32U4 provides, USB (HID compliant), 32K Flash, 2.5K RAM, 1K EEPROM and is clocked at 16MHZ.
Scope
The project is reduced in scope from the original. Instead of on-board effect processing, I am offloading the effect processing to the desktop PC running a DAW. The LeoStick will simply provide a controller mechanism to pass HID compliant MIDI data to the DAW. The MIDI information will be used as REMOTE controller mapping for applying envelopes and effect trigger events to obtain the desired effect (x2). The LeoStick is quite flexible, and it seems to have performed really quite well processing MIDI. I will cover this in more detail in a future blog entry.
Software
The micro-controller will be taking care of driverless class-compliant HID-MIDI utilizing the firmware provided by
. I have tested this with the LeoStick and can confirm it works fine almost out of the box with Arduino IDE 1.6.10, as it should for any ATmega32U4.Another aspect of the processing with be triggering the appropriate types of MIDI messages associated with the hardware actions, or when not to trigger messages. I have tested Bounce2 library by Thomas Ouellet Fredericks, it works perfectly for my application, producing controllable reactions. I will cover the software debouncing is more detail in a later post.
Hardware
The hardware has been greatly simplified. An alligator clip connects to a steel string, or a common conductive bridge on the guitar. The return path is made from one of the sides of the plectrum to one of two digital inputs on the micro-controller.
The electrical path is direct to the micro-controller's digital inputs right now, I decided to not use any additional buffering in testing. This is not however offering the micro-controller any level of ESD protection - I will probably add a transistor in just before each digital input for protection.
Pictured above you can see on the left side the plectrum - constructed from a piece of plastic with a tin sheet on both sides, each side connects to a different digital input of the micro-controller. In the middle, an alligator clip connected to common GND. On the right is the LeoStick (ATmega32U4) micro-controller.
I have time over Easter to really make some progress on this project, so expect a lot more updates over the next few days.
Thanks