Minimin Mk1

The world's smallest and simplest theremin

Similar projects worth following
This project is an attempt to build a theremin of an unprecedented size, and extremely low cost. This first prototype (if I had bought all the components) would have been under ten dollars at single-unit pricing. This is very much incomplete, this first hardware/software revision sounds HORRIBLE but is a decent proof of concept.

This project spawned from my desire to become a thereminist, and my discovery that all high-quality theremins cost hundreds of dollars. Even the digital theremins, requiring simpler circuitry are in the $200-$300 range phew, a bit too much for a high-school hacker! The Minimin is an attempt to bring a high quality theremin to everyone, and to enrich my own knowledge of embedded processing and RF circuitry.

The current functioning model (depending on how you define functioning) uses, at its heart an ATMega328 and a single LMC555 wired in astable mode for just about all functionality. The frequency of the 555 is varied by a 3.7" loop antenna soldered to the board, which acts as a parasitic capacitance on the trigger pin in parallel with the main timing capacitor. The 555 clocks the ATMega's internal timer/counter0 which is periodically read, by an interrupt on timer2. The 16 bit timer1 runs an output-compare vector which toggles the output pin on PORTD to achieve a square-wave output. The compare-match of the waveform generation timer is varied with the frequency read from the 555, which is set at about 5Mhz and is frequency-shifted lower as a hand (or other large, conductive object) is drawn towards, or away from the antenna.

Volume is varied by a volume potentiometer, and the MCU is protected from over-current through the output jack by a 1K resistor in series with it. Not having an appropriate LDO handy, Iam powering the device directly from a USB port on the board, or else through the ISP programming header. The firmware I wrote is very simplistic, and definately needs a rework for stability and a wider frequency range. I am doing the firmware development in C++ with the open-source AVR-GCC toolchain, although the first iterations used the Arduino IDE for simplicity, so that I could "test the waters" so to speak.

The Minimin Mk2 is scheduled to supercede Mk1 in just a few weeks after I get a new heting element for my soldering station and am able to complete the prototype. This next generation uses an XMega processor so that I can implement its extra timers for a true pitch-volume instrument, as well as the inbuilt 12 bit DAC from which I can get a lovely sine wave. The XMega will also give me a ready USB interface so that I can implement the theremin as a MIDI controller further down the line

  • 1 × ATMega328P PDIP
  • 1 × LMC555CN Clock and Timer ICs / Timer ICs
  • 1 × USB type B socket
  • 1 × 1/4" phono jack
  • 2 × 1K 1/4W resistors

View all 16 components

  • Back on track

    eagleisinsight04/14/2016 at 20:01 0 comments

    I just found my replacement soldering iron heater, so I can finally begin work again on the new theremin prototype! There is, however a severe design flaw I noticed while replacing the element. Here are some pictures, it is really ludicrus:

    Yep, the heating element needs to be SOLDERED in....... Please tell me how nobody in that company's sales or R&D discovered this case of the chicken or the egg. I had to solder it with an SMD heat gun, and the results were not pretty. HEat guns are not for through-hole soldering on a board full of wires.

View project log

Enjoy this project?



Cems wrote 04/28/2017 at 02:00 point

Been a year since the last update so I'm curious.  You said it sounds awful and I'm wondering why it sounds awful.  In what manner is it awful sounding?  Is it hard to control.  And why did you pick 5Mhz.  Even if you think this is a failure it's interesting and has other uses.  Could you give us some of the insights.

  Are you sure? yes | no

eagleisinsight wrote 04/28/2017 at 10:47 point

Well, the main reason it sounds awful is that it outputs square wave audio, the other being that it has a very narrow frequency range. I guess it has been a while since I worked on this, I should probably finish this as much as possible. I have been trying to get the project working on an AVR XMEGA so that I can have pitch and volume controls instead of just pitch, as well as a sine wave output. I have been having a bit of trouble with that though. I think the Mk1 can be improved by using a different oscillator, as the 555 is not super sensitive to changes in the antenna capacitance. The only problem is that whenever I try to build an oscillator other than one utilizing a 555, it generally either blows up or does not work. 5MHz was a mostly arbitrary frequency, and one that I should not have used, as it is outside the 2MHz frequency cap of the 555. If that frequency was brought down, perhaps it would work better. As far as the firmware, it is probably really inefficient. I meant to upload the files, I guess I forgot...

  Are you sure? yes | no

Cems wrote 04/28/2017 at 19:08 point

Have you seen this project?

It kinda resembles yours but they don't say what the chips are.  I was kind of guessing the "tick" chip is a double 555.  But whatever it is it seems to be the key to that project's strategy.  Most of THeremins I see tend to use a frequency around 250,000 to 500,000 hz.  I'd love to hear some notes about your design process, decisions, things that didn't work the way you calculated, etc...

  Are you sure? yes | no

eagleisinsight wrote 04/28/2017 at 20:59 point

Huh, looks like I have been out-developed... I thought I was finally original. It has been so long, I do not really remember specific issues I encountered, most of my development was just prototyping to see what would work. As far as design process, I pretty much just learned the basic operating principle of a theremin, and attempted to implement it in as little hardware as possible. I will see if I can find my firmware code and upload it. It is meant to be compiled with avr-gcc.

  Are you sure? yes | no

David Levi wrote 04/09/2017 at 03:33 point

Cool idea! I've been working on theremins too.

  Are you sure? yes | no

eagleisinsight wrote 04/28/2016 at 13:36 point

My code is on my broken laptop though, I need a new computer before I can recover it. I will have one by next Wednesday, and might have the Mk2 finished as well.

  Are you sure? yes | no

eagleisinsight wrote 04/28/2016 at 13:35 point

That would be great! I am not exactly an AVR-C expert :)

  Are you sure? yes | no

David "Paztek" Moreau wrote 04/28/2016 at 12:00 point

Waiting for the Mk2 to build one :) Need help on cleaning the firmware ?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates