Introduction: Crazy Looper

Picture of Crazy Looper

The Crazy Looper is a small hand held device that allows you to create real-time noise loops with a fast modulation metallic effect. It's a simple microcontroller project that I give an easy to build rating.

If you want one that is ready to play, you can buy one here:

These instructions will give you all the info you need to build a crazy looper, Schematic, software file etc. I got the circuit board made but you can easily use vero board because it's such a simple circuit. 

Step 1:

Picture of


1 x 100nF Capacitor  (C5)
1x  10nF Capacitor   (C6)

2x  10k Pot(spline shaft)  (VR1 VR2)
2x  10K Resistor (1/4W)  (R2 R4)
4x  1K Resistor (1/4W)  (R6 R7 R8 R10)

1x  Regulator 78L05 (5V)  (IC3)
1x  Ic Holder 8Pin  
1x  Picaxe 08M  (IC2)
1x  3.5mm Socket(stereo switched) (SPKR) 
2x  LED (RED)  (LED1 LED2)
2x  Knob (Grey) 
1x  Battery Holder(9v) 
1x  Circuit board 
1x  LDR(10M)  (SW1)
If you don't have a picaxe programmer or programming cable you will need to get on try SPARKFUN

Step 2: Resistors and Wire Link

Picture of Resistors and Wire Link

*Solder the 4 1K(R5 R7 R8 R10) and the 2 10K(R2 R4) resistors to the PCB.
*Solder in the wire link at S2.

Step 3: IC Socket

Picture of IC Socket

Solder the 8pin IC socket to the PCB

Step 4: Audio Connector

Picture of Audio Connector

Solder the 3.5mm audio connector to the PCB.

Step 5: Capacitors

Picture of Capacitors

Solder the capacitors(C5 C6) to the PCB. 

Step 6: LDR

Picture of LDR

Solder the LDR to the PCB. Make the LDR sit about 8-10mm from the PCB.

Step 7: LEDs

Picture of LEDs

Solder the LEDs(LED1 LED2) to the PCB. 

Step 8: Voltage Regulator

Picture of Voltage Regulator

Solder the voltage regulator(IC3) to the PCB.

Step 9: Variable Resistors

Picture of Variable Resistors

Fit the 10k variable resistors VR1 and VR2 to the PCB.

Step 10: 9 Volt Battery Clip

Picture of 9 Volt Battery Clip

Solder the 9 Volt battery clip to the PCB.
*(optional) At this stage you can add some hot glue to the spot where the leads attach to PCB to stop the wires from breaking.

Step 11:

Picture of

Fit the two knobs to the variable resistors.

Step 12: Program the Micro

Picture of Program the Micro

Now we need to program the Picaxe micro-controller.
The basic program file is attached below and the programming editor for the picaxe can be downloaded for free at the revolution education website. Here :

You have two hardware options here, you can use a programmer like this Sparkfun or build the programmer into your circuit. If you build the programmer into the circuit the crazy looper becomes the programmer. I have included the circuit for both in step 14.

*Open the Picaxe programming editor and load the file "crazy looper 2010_04_16 v1_21.
* Connect the computer to the programmer via the programming cable. 
* Fit the picaxe 08m to the programmer.
* Run the programmer by pressing F5.
*You should see a progress bar and then a dialog box, that says the programming has been successful.

Step 13: Fit the Picaxe

Picture of Fit the Picaxe

Fit the Picaxe 08m(IC2) to the PCB.

Step 14: Crazy Looper Schematic

Picture of Crazy Looper Schematic

I have included two schematics, one is the circuit without a programming port and one includes a programming port.

Step 15: How to Use

Picture of How to Use

The Crazy Looper builds up sound loops using three controls,tempo, sound and write.

The sound control adjusts the frequency of the tone in the second half of the dial and the level of noise in the first half of the dial, giving two distinct sounds. The first half of the sounds have some spots that are blank to cut the sound up as you move the control up and down.

The second control is Tempo, which controls how fast the loop is played. Write the loop at a slow tempo then speed it up for a great effect.

The third control is the write LDR, when you put your finger over the light sensor it writes a sound to memory, which is then replayed next time the loop cycle starts. With the sound control knob adjusted clockwise, you can add a rest to the loop by pressing the Write button.


fx8 (author)2013-10-13

well i've got a problem finding the chip. So my question is, can i use other chip? And which chip?

rarebeasts (author)fx82013-10-13

Just use the 08m2, it's just an updated version of the 08m but totally compatible. I get mine from Sparkfun:

Lunar_Lander (author)2013-06-24

I ran into great trouble to found a working programmable config for the 12f683 (PICAXE08M equivalent, from the datasheet), so could you enlight me about how do you program them please ?

fox64 (author)2010-06-24

Would it be possible to add a Mic in place of the light sensitive input?

Whiternoise (author)fox642010-06-24

In theory yes, but you might not get the results you're hoping for.

To get a "quality" loop, you'd need to sample the microphone input very quickly - ~44kHz is the standard for CDs, MP3s (and that's each second) so for a two second audio clip you'd need 88 thousand samples. Each sample will be processed by an ADC on the micro - generally something like 8-10 bits resolution. Assuming 8 bits, you're going to need 8*88000 bits = 88 kBytes for a two second loop. For reference, most microcontrollers of this size barely even have 10kB of RAM to store data. In any case you'd need an interrupt running at 44kHz (certainly doable) to get the data into memory and then output the data at the same time.

The trouble is, you need both a fast microcontroller and a lot of storage memory - I haven't looked at the code for this so I don't know how it stores the input data - to process things like a microphone.

That said... There is nothing stopping you from simply sampling at a lower rate and storing as much as you can on the chip - you could even add an EEPROM module if storage becomes an issue. One other thing to remember is that electret microphones require amplification (typically the signal they give out will be in the mV region) before you can feed them into a PIC/AVR so you'd have to put in a pre-amp stage.

The key to all electronics is to have fun and experiment, push the hardware to its limits!

(For reference, BBC radio uses 44.1kHz, 16-bit audio)

sconner1 (author)Whiternoise2012-08-30

1-9v is perfect for operating an electret mic.
Get the power for the mic BEFORE the regulator (IC3), or the audio will create ripple on your nice regulated, quiet 5v that the microprocessor needs to be reliable.
Some mics even have a fet built in so amplification may already be in it.
Otherwise use an NPN transistor to boost it with a resistor cap filter to limit high frequencies to 1/2 your sample rate or less.

8bit 22.8khz sampling is typical for children's toys.
That gives an audio high frequency limit of 11.4kHz.
You must filter out any audio higher than 10kHz with an r-c filter to avoid "random noise" artifacts due to the low sample rate.

Audio is fun.

fox64 (author)Whiternoise2010-06-25

Wow very informative! I see now that sticking a Mic in this project would be a horse of a another color. EEPROM scares me and I've never been brave enough slap one on my protoboard. The circuit-bender in me wants to try it, but the computer scientist in me is lazy. In any case, thanks Whiternoise for the MC info! Much appreciated.

jerryang (author)fox642010-06-27

Lots has been said but has not pay attention in the most important detail. The light sensitive resistor is not the frequency source. It is an on/off switch. The frequency is coming from POT on the right side. For those who has doubt on that, please check the schematic or BAS program file.

Whiternoise (author)jerryang2010-06-28

That's true - as I said in my post, I've not looked at the source. What I said still stands though, if you want to use a microphone as an input device for the sound loop, you're going to need more processing power and storage than what's presented here.

Mutantflame (author)2012-03-25

Is it possible to see a diagram for the circuit board please? I would like to make this project myself soon but you don't supply a diagram for the circuit board.

rarebeasts (author)Mutantflame2012-03-26

Sorry you are having troubles finding the circuit diagram, go to step 14 and you should see it no problem. I have also included the eagle files for the board layout if you need them.

justbennett (author)2011-12-13

I saw the Luna Mod in Make and replaced both pots with LDRs. I stuck with the momentary switch for the "record" button. The output was too unpredictable with LDRs and your fancy smanchy (yet sweet) loop program. So I wrote a simpler program with continuous beeps and no loop. It turned out to be a fun instrument of sorts in which you could control the tone and duration with the shade of your fingers.

Since it was my first picaxe project (almost my first electronics project ever) I went ahead and wired it to be reprogrammed. This turned out to be an awesome idea as I have had a lot of fun trying to adapt this device using only software. It is amazing what you can do with three inputs (LDR 1+2, and a button), a peizo, and an LED.

If I had it to do over I would probably keep at least one pot, as having two LDR's is a little superfluous for most of the programs I have written. You rarely need two analog inputs at once, and the math to make sure the numbers stay in comfy range can be advanced.

blinkyblinky (author)justbennett2012-03-11

Can I see the code to your project?

blinkyblinky (author)2011-11-15

This is basically your Luna Mod...

rarebeasts (author)blinkyblinky2011-11-16

You're right. Apart from the case it's almost the same. The sound and way it handles tempo are also a little different.

blinkyblinky (author)rarebeasts2011-11-19

Where is the echo coming from?

I like it.

Can I use a switch because I might not be able to play it in the dark...

rarebeasts (author)blinkyblinky2011-11-19

No problem just replace the light sensor with a momentary switch.

cheesemarathon (author)2011-05-14

would it be possible to add a 3.5mm jack instead of the LDR so any sound source could be the input?

Not that simple because it's a digital input. I'm working on a looper like this one that will sample it's own input.

great thanks will you be making an instructible on it as i would love to build it.

ghasty (author)2010-06-24

Where did you have the board printed and wondering if they can take multiple orders from all the folks reading this instructable wanting to play?

rarebeasts (author)ghasty2010-06-24

I got the boards made at, orders are 10 at a time. When I get my workshop computer up and running again I will upload a zip of the gerber files.

icamaster (author)rarebeasts2011-03-26

Hello, you have done a great job with this, can u upload that zip file you were talking of because i get a error while opening it with eagle.
PS. The sound is so great almost sounds like dubstep music which i listen to.

radial77 (author)2010-08-25

I tried changing setfreq to m4 and got a nice tone, but can't figure out how to make the sound mute at certain points in the loop. When the setting is m8, you can acheive this by using the freq pot. Any ideas to get it to work on m4?

radial77 (author)radial772010-08-25

I set the tempo to 3 when I did this. Even though the loop seemed very slow, the tone was nice.

radial77 (author)2010-08-25

Does anyone know how to give the tempo pot a broader range? Would it be possible to make the global tempo setting (currently 6) in the code adjustable from , say 1-10, with a pot or even selectable with a rotary switch?

jerryang (author)2010-07-02

Thanks for your insperation. I made mine with Arduino.
Since Arduino has more memory and process power.
Here is what has changed:
1. Frequency samples: Picaxe 48, Arduino 400
2. Frequency range: Picaxe 94~120480...not audiable range, Arduino 40~any.
3. Delay for Tempo: Picaxe ?, Arduino settable at microsecond.

Dustortion (author)jerryang2010-08-22

Hi Jerrang. Did you ever upload your Arduino code? I would love to try this. Thanks.

powerfool (author)jerryang2010-07-02

Also, could you please explain that about the frequency range... what do you mean?

jerryang (author)powerfool2010-07-04

At higher pitch, people tend to ignor the difference between pitches. For example, 12000hz and 12500hz. But if it is 50hz or 55hz. People tend to see a lot of difference. So fine tune adjustable range is best fix at 40~1000hz, so steps is best like 40, 45, 50, 55, 60, etc... Everything above that frequency can be divide into big steps. Like 12000, 12500, 13000, 14000, etc.

powerfool (author)jerryang2010-07-05

Ok, I think I understand what you mean. By the way, I noticed that the Arduino does not generate white noise :( I kind-of copied the code from the BAS file, I tried to understand it and then made the same for the Arduino. It works but mine doesn't sound as good as in this video here. Maybe it's the speaker though... Also, I don't like the way I "manage" the tempo, the delay between the notes.... I am trying to make that better...

jerryang (author)powerfool2010-07-05

Anything above 10khz is consider white noise. Those noises are not very playful. I tend to rule them out.

powerfool (author)jerryang2010-07-02

Could you post the code for that? :) Thanks!

jerryang (author)powerfool2010-07-04

I will post my code after I fine tune everything.

wmanidi (author)2010-07-31

My computer is having trouble with eagle... =[ can you upload PDFS of the board?

tororm (author)2010-07-02

Is there any chance of uploading the eagle files? Thanks!

rarebeasts (author)tororm2010-07-03

I'll get them up on Friday when I'm back in town and my Computer has been fixed. Sorry about the delay, I was going to have them up a week ago.

tororm (author)rarebeasts2010-07-15

Thanks! Much appreciated

rarebeasts (author)tororm2010-07-18

I have attached the eagle PCB files to step 14, if any one wants to make a board with them.

hrta (author)2010-07-14

and how can we make the Circuit board .you have an layout .or buy it ready ?

harry88 (author)2010-07-02


powerfool (author)2010-06-29

You instructable is very nice so congratulations! :)) I would just like to ask you, if possible, to add a flow diagram of the algorithm you use in the program (BAS file). I would like to implement the crazy looper using an Arduino but I don't really understand what you're doing in the program. Many thanks! Dimitris :)

mskdk (author)2010-06-25

please what is the software used to make those schemes ? and thanks for the looper, liked it ... i'll build it and see ...

rarebeasts (author)mskdk2010-06-28

I'm using Eagle for the schemes.

mskdk (author)rarebeasts2010-06-28

Thank you Mr.rarebeasts i really appreciate helping me, well may this will help me do some schemes in my studies .... thanks again !!!

__ag (author)2010-06-27

Hello, nice project! one question where do you buy those pots? best ag

rarebeasts (author)__ag2010-06-28

I got my pots from Jaycar, part number - RP8510. But I'm in Australia. Here is the full description: 10K 9mm Square Potentiometer Linear Single Gang (B).

hahaman8 (author)2010-06-25

you can hot glue after you tested it ofc

jerryang (author)2010-06-25

Very cool! I wonder if I could make my Arduino work like that!

Uriel208 (author)2010-06-21

if would be cool if you could house it in an altoids tin :)

About This Instructable




Bio: Inventor, musician, and gadget freak. Contributor to Make Magazine. Maker of electronic musical instruments and lots of noise.
More by rarebeasts:StyloBuzz - SynthesizerEM-Tronic SynthCrazy Looper
Add instructable to: