Hi!
This is my first normal topic and our little contribution for FSB and DSB.
Memory chains is 0.6 (really is 0.84) second analog delay stompbox with tap and manual setting of delay time.
And dotted eighths in tap mode (i had no free room to make thirds), tempo indicator, etc
It is simple. After power on - it's usual 3 knob analog delay.
After pressing Tap button 2 or more times, tap mode is on and LED is blinking to beat.
If You turn delay knob, it again go to manual mode, LED turns off and delay time is changing by knob position.
In tap mode, than You push and hold tap button, and turning delay knob - You changing beat from normal to 1/2s, dotted eighths and 1/4s.
If Your beat is slower, than 0.84 seconds (0.85 to 1.65 seconds), for example 1 second, when tap engine measures tap time and automatically divide it by two to make delay work with Your beat.
PCB is single side, but made for SMD resistros and ceramic decoupling capacitors. So it need to develop in classic, or write only CS-101 tap module and connect it to Your favourite frond-end (mxr caron copy, for example).
www.youtube.com/watch?v=UGs1MQ3TpWU (http://www.youtube.com/watch?v=UGs1MQ3TpWU)
old home made demo (test version, no 3pdt button soldered and led is inside of box), but sound is nice.
History of making is long enough and boring (need a spoiler).
[spoiler=boring history]
About 4 years ago I decided to build _ultrachorus_. Main idea was to make "polychorus" with all tunable VCO parameters (min delay, max delay, wave shape). As I like all the small things (1590A - favourite box), second part of idea was to put it in 1590B case.
BBD chips are clocking with binary signal (usually 1/15Vcc and 14/15Vcc), so it was a good idea to use MCU (microcontroller unit) to use as LFO and VCO. So i got several $$ and bought AVR ATTINY13 (small chip, 8 pin DIP), than made LPT programmer for it. ATTINY has good interface with MN32xx BBD, about 30mA current per pin, 5.5V max Vcc. So, chorus was done in couple of months, but i had problems with noise.
Some time later, after several requests of musicians I decided to make analog delay with tap. It's about 2-3 times simpler, but i am afraid problem with noise. Project starts, but after EHX-New Sensor announcements of theirs analog delay with tap, I stopped project. They delayed delay the execution of Memory Toy. I continued project. Then, Russian bootique announced AD with tap, I stopped project again. But at the end of 2010 I got working stompbox, and at new year holidays 2011 dotted eighths were added and written little demo by Termozzz.
First played song was "Down in a hole" into, so that's the all secret of pedal name.
Comments to program are in Russian, but i think, it can be easy translated via google. Or later I translate them personally.
I am not experienced in asm, but at youth was not too bad shit-coder at ZX-Spectrum Z80 asm, so some macros are Z80.
DDS mostly off Jesper's source ( http://www.myplace.nu/avr/minidds/index.htm ). Simple and effective. (thx a lot!)
32bit division off Elm-Chan ( http://elm-chan.org/docs/avrlib/div32.txt , thx a lot, too! )
At that time I had only 9.6 MHz tiny13 MCU, one or two years later, i got tiny25/45/85, but had no time to rebuild project for 16MHz 2/4/8K flash MCU, You can do it by yourself.
CS-101 module is free for personal use. Off commercial devices I think it's a good idea to send a dollar per device for FSB tracers fund :)
[/spoiler]
As I am Pinnocio of analog electronics, I used "japan" front end (audio path) seen in DM2/Aquapuss/Ibanez/Maxon/etc. Schematic was corrected to use cheap and accessible 3205 BBDs.
VCO consists of MCU and "driver" on 4049 to rise output level of MCU to BBD. I'm still not too sure about 4049 connection, may be it need to put inverters in serial, as in A/DA flanger. But 2 tested delays with 4049 unbuffered shown all is fine.
(http://www.shift-line.com/research/MemoryChains/CS101_resize.gif)
all others - is software problem.
One of troubles - we have only 5pins at all in one output port of MCU for potentiometer input, debugging, BBD output and LED indicator, so I used two tables for digital synthesis (256+256 bytes), then LED is on and LED is off. At all, half of MCU memory was used for tables and i had only 256 words for all other. But we have good DDS resolution.
Another trouble is button rebouncing. I half debounced contacts in software, but had no room for full price debouncing, so You need good "tact" button (fingered aviable everythere, for feet - small bear electronics). I used cheap button from raidomarket, for $0.5 and ceramic 100n capacitor in parallel (not shown on this version of schematic).
cut to project file
Project file: www.shift-line.com/research/MemoryChains/memory_chains.zip (http://www.shift-line.com/research/MemoryChains/memory_chains.zip)
Archive contains original source code, hex file for flashing, last PCB in sprint layout format and last schematic in Splan .spl and .gif
Special thanks to Termozz ( https://www.youtube.com/user/DRUSJKI ) and Shift
S movym godom!
(http://www.imagenesyfondos.net/wp-content/uploads/2012/12/250-Fondos-de-pantalla-navide%C3%B1os-420x236.jpg)
Very nice! Thanks for sharing. :)
The filtering on this is pretty neat. It does some vibe and almost phaser-like sounds as the repeats decay.