sequential circuits

Hm, quite a cool idea: start all blog posts with a name of a former music-hardware-vendor :)

Anyway, while waiting for the LCD display which finally arrived on sunday (well, it arrived on saturday, but we didn’t pick up the notice that it’s been delivered to our neighbour, so I only fetched it on sunday, but I regress…), I implemented my first very crude version of a standalone drum sequencer. (Standalone in the sense that it has it’s own MIDI-output). It has 8 steps and 6 tracks plus Accent (ONLY 8 because I only had about 15 Buttons in Stock, plus it becomes increasingly hard to wire that stuff on a breadboard…so I’ll have to think about making that stuff semi-permanent on a prototyping board).

It works extremely well and although my timing code is super sloppy and unprecise, as it currently uses millis(), it is a quite good glimpse of the things to come. Sketch will be up on github soon.

Lessons learned:

  • Reading the 74HC165 Shift register is pretty easy and super fast (I used inline asm to do a few nop’s instead of delay()) and there doesn’t seem to be any bouncing at all, which just might be the buttons I used.
  • My first MIDI output code had some problems with the communication suddenly borking and things going haywire (Synth hangin’ up and stuff), this problem didn’t reoccur with the sequencer code
  • I’ll have to look up the correct wiring of a MIDI-Out port since the arduino tutorial describes the wiring as “not according to specs”. IIRC, there should be an Optocoupler involved somewhere…
  • I have still no good idea on how to implement MIDI-Clock in in the sequencer code. This will have to wait. I also don’t have an exact idea on how to implement exact BPM timing on a cool ppq level.
  • I really have to write down all the cool ideas I have for the User Interface and the final sequencer features.
  • I guess I will have to use a bigger ATMega later on, ideally one with two UARTS. I don’t really feel like implementing a soft UART.
  • SD cards for saving would be super cool. The MIDIBox hacks using an EEPROM feel like a huge anachronism. Plus, saving on an SD card would make for easier debugging AND backup. (I shiver at implementing complex SysEx mechanisms for data transfer…blergh)
  • I want to have one of these beasts. touch input would be cool, plus this looks like a simple way of implementing a graphics display with a small processor without using up too much memory and cpu power. Reichelt sells them for about 150 EUR…

I’ll try to spit out images, wiring diagram and arduino code for the drum seq, as it is kind of my really usable piece of hardware.

Post a Comment

You must be logged in to post a comment.

Copyright © 2007 theqtisch’s tinkerizations. All rights reserved.
Fork me on GitHub