The optical tremolo is a simple but powerful musical instrument FX box that reads a pattern printed on a rotating disc and converts it into a volume-modulating “tremolo” sound. Changing the sound of the effect is as simple as changing the pattern on the disc, which you can do by drawing, painting, taping, or applying a printed label directly to its surface. The idea is based on a concept proposed by Charles Platt in his 2009 book Make: Electronics.

Optical Tremolo 1.0.
Optical Tremolo 1.0.

The original Optical Tremolo Box is one of the more popular projects we’ve ever published. It was designed to be easy to build, requiring only minimal soldering. If you’re a newcomer to electronics and are interested in experimenting with this effect, that build is still a great place to get started.

On the other hand, if you’ve got a bit more experience under your belt, you may be interested in a more powerful design without the easy-bake compromises. Optical Tremolo 2.0, as we call it, improves upon the original build in a number of ways:

  • It runs at 9V DC from a single power supply. 9V is the universal stompbox standard. You can plug Optical Tremolo 2.0 directly into your off-the-shelf pedal power supply, or run it from a 9V battery, rechargeable or otherwise.
  • It uses an efficient motor speed controller instead of a rheostat. A series resistor is an extremely simple and easy way to regulate motor speed, but it’s also crude — it wastes power as heat, and will burn up if overdriven. Our Dial-a-Speed motor controller uses pulse-width modulation (PWM) to switch motor power on and off for varying lengths of time, many times a second. PWM motor regulation provides much more stable and reliable control, especially at the low speeds that produce the most interesting tremolo effects.
  • It uses a brushless motor. Brushless motors are less noisy, both acoustically and electrically, than traditional brushed DC motors. Here we’re using an off-the-shelf brushless case fan, which comes ready-made with a hub for mounting the tremolo disc without having to mess around with a motor shaft or shaft coupler.
  • It operates using reflected light, instead of transmitted light. In this configuration, the emitter and detector can be on the same side of the disc without an awkward “stalk” projecting from the top of the enclosure. Even better, the tremolo patterns can be printed on standard white paper instead of the relatively hard-to-find and expensive printable transparency stock.
  • It accepts blank or scrap CDs/DVDs as tremolo discs. This allows a ready-made CD hub to be mounted for easy disc swapping. Also, off-the-shelf printable CD/DVD labels are easily adapted for creating your own original tremolo patterns and art.



This project uses our Dial-a-Speed all-in-one motor controller knob design.  If you haven’t built a Dial-a-Speed or don’t want to, a number of inexpensive ready-made or kit-built PWM controllers are available for small DC motors.

Schematic diagram. Click above for larger image, or here for more detailed PDF.
Schematic diagram. Click above for larger image, or here for more detailed PDF.

The switch turns power on or off for the “dirty” circuit, which consists of the motor speed controller, the motor, the sensor head, and one-half of the opto-isolator. The disc carrying the tremolo pattern spins on the motor hub, at a speed regulated by the motor controller, presenting the pattern to the sensor head as it turns. The sensor head has an infrared (IR) LED emitter and an IR photodiode detector mounted side-by-side. IR light from the emitter is reflected by white or light-colored areas on the disc surface, and absorbed by black or dark areas. The amount of IR light reflected back to the detector varies the current passing through it, which in turn varies the signal passed to the base of the NPN transistor. The base is wired “normally high” so that the transistor is switched on in the absence of reflected IR. More reflected IR tends to turn the transistor off, with the net effect that darker areas of the tremolo pattern give more volume damping, and brighter areas give less.

The transistor switches a bright white LED sealed together with a cadmium sulfide (CdS) photoresistor inside a piece of heat-shrink tubing in an opto-isolator arrangement. The photoresistor is connected in series with a 50K potentiometer between the audio signal line and ground. This “clean” circuit is not connected to Vcc, which helps prevent motor switching or other power supply noise from contaminating the audio signal. When the LED is on, the photoresistor is strongly illuminated and its resistance is low, effectively shorting the audio signal to ground and muting its volume.  The series potentiometer serves as “mixer” for this effect — when its resistance is high, the contribution of the photoresistor is less significant and the tremolo effect is less noticeable; when the pot’s resistance is low, the contribution of the photoresistor (and the tremolo effect) are correspondingly stronger.

Project Steps

Build the opto-isolator.

The voltages in the audio line are very small compared to those in the motor and motor controller. To keep electrical noise from the motor circuitry out of the audio signal, we’re going to isolate it electrically and pass information about how to modulate the volume using a light-based signal instead. Special components called opto-isolators are manufactured for this purpose, but we’ll use our own DIY version. Make it by sealing a 5mm superbright white LED and a medium-sized (0.175″ across, flat-to-flat) cadmium sulfide (CdS) photoresistor inside a 5/8″ length of 6 mm heat-shrink tubing.

Install the opto-isolator, two PC board terminals, and 3 jumper wires on a 1″ round PCB as shown. You might need to expand the holes in the board with a drill bit or hobby knife, just a smidge, to get the PC board terminal pins to fit.

Flip the PCB over, bend the leads to make the connections as shown, and solder everything in place. Use a fine-tip permanent marker to label the PC board terminals AUDIO+, AUDIO–, LED+, and LED– as indicated.

Test the opto-isolator by applying 3.2V (e.g., from 2 fresh alkaline batteries in series) across the LED+ and LED– terminals. If the circuit is working properly, you’ll see white light from the LED spilling out the back of the optocoupler. Temporarily connect the 2 green leads together and measure the resistance across the AUDIO+ and AUDIO– terminals with your multimeter: it should be high when the LED is off and drop dramatically when the LED comes on.

Once you’re sure it’s working correctly, seal the solder side of the PCB with a coat of clear nail varnish to protect against oxidation and accidental shorts. Let it dry for an hour before moving on.

Add the level control.

We use a 50K potentiometer (“pot”) in series with the photoresistor to control how strongly the tremolo effect is mixed into our audio signal. When the pot’s resistance is set high, the tremolo effect will be more subtle; when the resistance is low, the effect will be stronger. Start by using a hacksaw to cut the pot’s shaft down to 3/8″ long (as measured from the top of threaded portion), then smooth the cut edges with a file.

Mount the opto-isolator PCB on the back of the potentiometer using double-sided foam tape. Solder the 2 green jumper wires from the PCB to the potentiometer contacts — one to the center (aka “wiper”) contact and the other to one of the 2 outer contacts. It doesn’t matter at all which wire goes to the center contact. Which of the 2 outer contacts you choose affects only the “handedness” of the finished control (i.e., whether turning the knob clockwise gives more or less tremolo). I find wiring the pot as shown gives the most natural control arrangement, but you may want to experiment.

NOTE: “Floating” potentiometer contacts can be a source of noise. Whichever of the 2 outer contacts you choose, it’s a good idea to short the unused contact to the center terminal by bending them together or adding a short jumper wire between them before soldering.

Test the level control assembly by measuring the resistance across the AUDIO +/– terminals with your multimeter. It should vary by about 50 kilohms as you rotate the potentiometer shaft from one side to the other.

The foam tape is useful as an insulating layer for the solder side of the PCB, and as a temporary attachment during assembly, but for long-term use we’ll want a more secure joint. When you’re sure everything is working properly, thread a short “staple” made of stripped copper wire through a pair of unused holes in the PCB on the side opposite the green wires. Gently clamp the potentiometer and PCB in a vise, then solder the ends of the “staple” to the case as shown. Wait for the solder joint to cool before loosening the vise.

secure the back side with a short “staple” made of stripped copper wire threaded through unused holes in the PCB and soldered to the case. Wait for the solder joint to cool before loosening the vise.

Connect the phone jacks.

Cut two 1″ jumper wires — one green and one black — and strip 1/4″ of insulation from each end. Solder the green jumper to the “tip” contact on one of the mono phone jacks, and the black jumper to the remaining “shield” contact.

Twist about 3″ each of black and green hookup wire together, strip the ends, and solder one end of the twisted pair to the other mono phone jack. As before, green goes to “tip” and black to “shield.”

Connect both green wires from the jacks to the AUDIO+ terminal on the opto-isolator PCB, and both black wires to the AUDIO– terminal. Just insert the stripped ends into the PC board terminal openings and tighten the screws.

Download the project drilling template, print it full-size onto an adhesive-backed mailing label, and cut out the TOP and LID templates along the heavy black lines, as indicated. Peel off the adhesive backing and apply the TOP template to one end of the project box as shown.

Mark the drilling centers precisely with an awl or other sharp instrument, then drill a 1/16″ pilot hole at each. Switch to a 1/8″ bit and expand each hole. Finally, switch to a step bit and expand the pot shaft mounting hole, and the 2 jack mounting holes, up to 3/8″. Smooth any rough or sharp edges with a hobby knife, then remove the paper template.

Install the potentiometer and 2 connected jacks in the end of the project box using their bundled hardware. Be sure the potentiometer’s case tab is cleanly mated with the small index hole — this will prevent the pot from turning in its mounting hole and possibly damaging connected wiring.

Test your work so far by connecting your guitar or other instrument to one of the 2 phone jacks (it doesn’t matter which) and your amp to the other. Without power, the sound of your instrument should be unaffected — it should sound as if you’re plugged straight into your amp. When you apply 3.2V to the LED +/– terminals, you should see a bit of white light spilling out the back of the opto-isolator, as before, and you may also hear the volume drop, depending on where the potentiometer is set. Verify that adjusting the pot (with power applied) causes the volume to change dramatically. When you’ve found the “maximum tremolo” end of the potentiometer’s range, strike a chord, hold it, and cycle the power a few times to observe the effect: When the LED is on, the photoresistor is illuminated, and its resistance is low. Because the photoresistor is wired between the audio signal line and ground, a low resistance means most or all of the sound signal is passed to ground, causing the volume to drop.

Build the sensor head.

Cut 2 rows off one side of the 1.2″ diameter PCB as shown. First score the board along a row of holes on the copper side using a hobby knife and a straightedge, then snap it along the score line over a sharp corner of a table or workbench. Smooth the snapped edge with a file.

Cut a 5mm piece of electrical tape and wrap it, lengthwise, around the base of the IR emitter LED, leaving only the “dome” exposed. Do the same thing with the detector. These devices are already highly directional, but the tape helps keep stray light from leaking through the sides and “short circuiting” the reflective signal path.

Install the emitter/detector pair, 4 resistors, and NPN transistor as shown. Flip the PCB over and bend, solder, and trim the leads as shown to complete the circuit.

Twist together 2″ apiece of red and black hookup wire and connect to the circuit as shown. Twist together 10″ apiece of green and black hookup wire and connect as shown. Strip the free ends of both twisted pairs.

Test the sensor head by connecting the green and black twisted pair to the LED +/– terminals on the optoisolator PCB and applying 9V across the red and black twisted pair. (Black, in this circuit, is always ground.) You should see a very faint red glow coming from the IR emitter. When the emitter/detector pair is pointed into open air or at a black surface, the optoisolator LED should be on and (assuming the potentiometer is in its minimum-resistance position) resistance across the AUDIO +/– terminals should be low. When you introduce a white or highly reflective surface into the space up to about 6″ away from the emitter/detector pair, the optoisolator LED should turn off, and resistance across the AUDIO +/- terminals should go high.

Prep the control panel.

Cut out the LID template and affix it to the outside of the project box lid as shown.

Mark the drilling centers, then drill a 1/16″ pilot hole at each. Switch to a 1/8″ bit and expand all the pilot holes. Ignoring the large hole-saw cutout for the moment, step-drill the pilot holes up to the various finish diameters indicated on the template.

Use a 1¾” hole saw to cut out the large hub opening near the center of the lid. Start the cut from the inside of the lid, then flip it over and finish the cut from the oustide. This technique helps prevent messy “breakout” and gives a cleaner edge than drilling all the way through from one side. Remove the cut-out “cookie” from the hole saw bit and set it aside — it’s not waste. Smooth any rough or sharp edges with a hobby knife, then remove the paper template.

Cover one side of the “cookie” with double-sided foam tape, and trim to shape with scissors. If you care about how it looks, you might want to color the edges of the tape with a permanent marker.

Remove the tape adhesive backing and affix the “cookie” to the fan hub as shown. Center it as carefully and accurately as you can. Manually spinning the fan makes it easier to see if it’s lined up correctly or not.

Mount the CD hub.

Use the hole saw to cut the mounting hub out of an old CD or DVD case. A drill press may be helpful, but is not essential. You’ll need the kind of hub with an open center, to pass the hole saw pilot bit. Leave it in the clear outer case while drilling, so you can accurately mark the center. (If all this seems like too much trouble, you can also use a ready-made peel-and-stick CD mounting hub.)

Cover the bottom of the CD hub with foam tape and trim to shape as before. You don’t have to actually cut out the center area; I just did it for looks.

Remove the tape adhesive backing and affix the CD hub on top of the “cookie” on the fan hub. Again, take your time, work carefully, and make sure you get it properly centered.

Populate the control panel.

Countersink the 4 fan mounting holes until the heads of the 8-32 flat-head machine screws sit flush with the surface. While you’re at it, countersink the 2 sensor head mounting holes until the heads of the M3 flat-head machine screws sit flush, too.

Mount the fan in the enclosure lid, with the CD hub protruding, using four 8-32 × 1½” flat-head machine screws. Make sure the side of the fan where the power leads exit is oriented as shown. Secure with a #8 flat washer, #8 split washer, and 8-32 hex nut on each screw.

Mount the sensor head PCB to the enclosure lid using 2 metal hex standoffs. First, attach each standoff to the lid using an M3 flat-head machine screw, with a #6 split washer inside the lid to keep it from loosening with vibration. Then install the sensor head PCB using the bundled standoff screws.

Mount your Dial-a-Speed motor controller, the DC power jack, and the SPST rocker switch in the enclosure lid using the bundled hardware.

Put it all together.

Cut two 2″ lengths of red hookup wire, strip the ends, and solder one to each of the 2 rocker switch terminals. Cut and strip one of these as needed to reach the center pin/positive terminal on the DC power jack and solder it in place there.

Cut a 1″ length of black hookup wire, strip the ends, and solder one of them to the barrel/ground terminal on the DC power jack.

Connect all the red leads (from the switch and the sensor head PCB) to the Dial-a-Speed’s Vcc terminal. Connect all the black leads (from the jack and the sensor head) to its GND terminal. Just tighten the PC terminal screws to secure the leads in place.

Connect the twisted green and black leads from the sensor head PCB to the LED +/– terminals on the opto-isolator PCB as before, then put the lid on the enclosure and secure it with the bundled case screws.

Customize your FX!

The most powerful method of creating tremolo effects is to design the disc art in software, print it out, and then apply it to the disc surface. We’ve provided a pair of “getting started” tremolo disc patterns, plus an SVG template to use as a starting point in creating your own original FX, e.g. in Inkscape. Our art and templates are ready for printing on Avery 5931 or compatible peel ‘n’ stick CD/DVD labels, but you can also print them on full- or half-page adhesive-backed mailing labels and cut them out with scissors. Or print them on plain paper and tape or glue them to the discs yourself.

Another option is to use black electrical tape, black duct tape, or some other IR-absorptive adhesive film that you cut out and apply to the surface of the disc as needed. This can be a fast, easy way to create simple “chopper” patterns where you’re only interested in maximum (full black) and minimum tremolo (full white) levels, rather than “in between” shades.

The easiest way to create original tremolo patterns is just to draw them! A Sharpie or other black permanent marker on a white-surfaced CD- or DVD-ROM works great. Some CDs take marker better than others; of course you can also apply a white paper label and draw on that. The area of the disc read by the sensor head is a band about ¾” wide, centered about 3/8″ in from the outer edge.


Once you have a tremolo disc ready to go, just pop it onto the hub. Remember the pattern facing down is the one read by the sensor head. Then plug your instrument into one of the phone jacks (it doesn't matter which), and your amplifier into the other. Turn on your amp and adjust it as you like, then hit the rocker switch to turn on your tremolo box. Adjust the motor speed and tremolo level as you like and jam out!


If you've followed the testing procedures recommended in the steps above, you can build with confidence — you won't end up with a nonfunctional project that you don't know how to test or repair. If you find yourself stuck on a technical problem, the first rule is "divide and conquer." Isolate each system in the build — the motor, the motor controller, the opto-isolator, the sensor head — and verify that each one is working as it should.

  • If you have a hard time soldering to the potentiometer body in Step 2, be sure your iron is hot enough and you're using good solder. I recommend 0.022" diameter 62/36/2 silver-bearing rosin-core solder (RadioShack #64-813) and a temperature-controlled digital soldering station (such as RadioShack #64-053) set to 680ºF.
  • If you're used to working with LEDs, the IR detector (a photodiode wired in photoconductive orientation) may seem "backwards," because it is wired with the long lead to ground, not the short lead as is common with LEDs. The emitter, on the other hand, is just an IR LED and should be wired the normal way, with the short lead to ground.
  • If the IR LED is working correctly, you should be able to see a very faint red glow when the device is turned on. If you have a hard time seeing this glow, try looking at the LED through a digital camera. Digital image sensors are more sensitive to IR light than the human eye, and an active IR emitter will appear clearly illuminated in a bright purple color.


As is, the motor may have a hard time getting started at lower speeds. A little push with your finger will get it going, but it would be nice to add an automatic "kick-start" circuit that gives the motor 1–2 seconds of uninterrupted power at 9V every time the device is switched on before turning control over to the Dial-a-Speed. This little nudge should be enough to get the motor "over the hump" and start it spinning without the manual push.