Memory Chains - Analog Delay with TAP for DIYers

Started by gena_p1, December 22, 2012, 01:45:43 PM

Previous topic - Next topic

gena_p1

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
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.



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
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!


gena_p1


midwayfair

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.
My band, Midway Fair: www.midwayfair.org. Myself's music and things I make: www.jonpattonmusic.com. DIY pedal demos: www.youtube.com/jonspatton. PCBs of my Bearhug Compressor and Cardinal Harmonic Tremolo are available from http://www.1776effects.com!

nap_alfa55

hello,
very nice..... can be adapted to drive a PT2399?

Resynthesis

Quote from: nap_alfa55 on January 03, 2013, 07:17:52 AM
hello,
very nice..... can be adapted to drive a PT2399?
Apples and oranges I think, this is a microcontroller / software device so probably not

MoltenVoltage

PT2399 uses a variable resistance to set the delay time, yet is actually a digital chip (even though it sounds fairly analog).

MN3205 uses a high speed digital clock to generate the delay time and is, somewhat ironically, an analog chip.

MoltenVoltage.com for PedalSync audio control chips - make programmable and MIDI-controlled analog pedals!

nap_alfa55

Hi,
the procedure of the calibration of the tap?.....

gena_p1

Hello!
No any procedures. Just plug and play.
If you need extra precision, you may calibrate MCU clock generator.