-
Notifications
You must be signed in to change notification settings - Fork 0
Introduction to Crudblocks
Crudblocks is the exciting new project from Crudlabs.
Crudblocks is a MODULAR DIGITAL COMMUNICATION SYSTEM in which every module connected to the system is aware of and can communicate with every other module. Crudblocks could be used for a wide variety of purposes but for whatever reason my interests lately are step sequencers and robotic percussion and so it has become a system for controlling my solenoid drums. It is currently based around of three types of modules: sequencer modules, solenoid drum modules, and control modules. By daisy chaining a number of modules, it can create a sequence of any length, can make use of an endless number of robotic drums (or other instruments or devices) to sequence, and can add enough "controls" (knobs, switches, rotary encoders, etc) to control lots of parameters for the sequencers (tempo, swing, etc) and the drums (pwm, attack/decay, etc).
Each module has one input jack, and one output jack, and the modules are connected by a single daisy chain of DIN-5 MIDI cables. The chain begins with a power module, which takes a 5v input and a 12v input. This module sends 5v down the daisy-chained line to power the Arduinos, and sends 12v down the line to power the drums (solenoids, motors, etc). This takes 4 of the DIN-5's 5 pins. The last pin is used to send and receive serial communication between modules.
The brains of the various modules are Arduino based. As in, each uses one ATMega328 chip, programmed on a normal Arduino board, then pulled off and stuck onto an "Arduino on a Breadboard" circuit on each module. Eventually, each module will have a USB jack for directly programming the ATMega.
The protocol used to communicate between the modules is called "Steve's Awesome Protocol", or SAP. There is currently no online documentation of SAP other than the code files presented herein. From the reasonably short and self-documenting Arduino code in this repo, the basic workings of SAP should be self explanatory to most coders.
...
Here's a video of the modules above in action: http://vimeo.com/37417159
Here's a video of another Crudblocks based system used for a public art installation (at the Switched-On Garden at Bartram's Garden in Philadelphia, PA): http://vimeo.com/55242078
...
Here are some photos of the currently existing Arduino-based Crudblocks modules.
_8 step sequencer modules_
_solenoid drum modules_
_solenoid drum module strapped to a giant gourd with custom 3d printed loop for velcro harness_
_solenoid drum module strapped to a flight case with custom 3d printed loop for velcro harness_
_double solenoid "drum roll" drum module_
_4x7 segment display + rotary encoder controller modules_
_power module_
_one example of what a series of connected modules can look like:
three 8 step modules creating a 24 step sequence
one controller module setting tempo and current channel
three solenoid modules and one double solenoid module_
_another example of what a series of connected modules can look like:
three 8 step modules creating a 24 step sequence
one controller module setting tempo and current channel
one sd card module for saving and loading patterns
small magnets were glued to the bottom edges of all pcbs so they all neatly snap together_
_(solenoids not pictured)_
_midi translator module_
_reads in midi and translates it into crudblocks protocol_
_sd card memory module_
_capable of saving and loading patterns and other useful data to a microSD card_
...
If you have any comments or questions please get in touch at **lab@crudlabs.org**.