Jan
27
2013

Groovesizer mk1: DIY 16-step sequencer and synth

 

***UPDATE***

This project has evolved substantially – follow developments regarding the Groovesizer DIY kit at groovesizer.com. To distinguish this project from the kit, this one has been rechristened Groovesizer mk1.

I’ve attached a 16-step sequencer to the original Auduino lo-fi synth and have added 8 LEDs and 5 buttons to the original design, and thus the Groovesizer is born. You can download the Arduino sketch here Groovesizer Arduino Sketch (v0.19). And here’s a breadboard schematic:

Groovesizer-mk1_2

You’ll see I’ve maxed out all the ins and outs of the Arduino. I feel I’ve pretty much reached the limit of features I can support with the buttons and knobs available. For a future version, I’ll get into multiplexing to add more buttons, maybe an LCD, and while I’m at it 8 more LEDs.

Here’s the current feature list:
– note entry for individual steps or groups of up to 4 steps at once
– rests & ties
– pattern length from 1 – 16 steps
– pattern retrigger
– tap tempo
– pattern reverse
– pattern transpose (up and down in semitones)
– variable note duration
– swing/shuffle
– MIDI out
PATTERN MODE
– save and recall up to 32 patterns
– trigger patterns quantised (Ableton live style) or immediately

Here’s the link to the MANUAL.

By the way, I wanted to reclaim my Arduino for future projects and make this one permanent, so I replaced the Arduino with a hackduino, following this recipe. It works a treat. I’m considering having Groovesizer PCBs made that incorporates the hackduino. Anyone besides me interested in something like that? Leave a comment.

Latest Firmware:
Groovesizer mk1 – v019 – incorporates DuaneB‘s volatile fix

UPDATE 2 (2013-12-08) – Frontpanel Design

Splendit bend it did a nice demo on his SoundCloud page and also designed this cool frontpanel. Thanks for sharing, Splendid!
GroovesizerMOSHANG
Frontpanel – png

48 Comments »

  • mike

    this is rad dude!

    does it do midi out? maybe CV? that could be sweeet!

    thanks for sharing

    Comment | February 12, 2013
  • […] New Year’s break – happy Year of the Snake to you! In this set, you’ll hear the Groovesizer featured twice. once in a supporting role in the Fattoush, and later more prominently in Eclair. […]

    Pingback | February 15, 2013
  • moshang

    Hey there Mike, I replied before, but apparently my message got eaten ;^/ The Groovesizer does indeed do MIDI out, but not CV out. That might be a plan for a future version, yum!

    Comment | February 15, 2013
  • Vinnie

    Hey! Really loving your project!

    I’m trying to build the groovesizer for a school project, but somehow my audio output is really, really low, i can barely hear it. Do you use any kind of amplification? Or do you go straight to a jack output?

    Cheers!

    Comment | February 21, 2013
  • moshang

    Hey Vinnie, yes I do use amplification – either an amplified speaker, or I go into my audio interface. I did tests with headphones though, so that should work.

    Also on booting, the groovesizer reads the position of the pots, so it’s possible that the current knob positions result in a quiet output. Twiddle the knobs and see!

    Finally, it’s possible that the output circuit isn’t wired properly. You can actually leave it out if you like, since the original auduino design doesn’t have it. So digital out pin 3 straight to your speaker’s +, and the speaker’s – to arduino’s ground, like so http://tinyurl.com/b5etm9y

    Comment | February 21, 2013
  • […] built a Groovesizer? Awesome! Here are the operating instructions for firmware […]

    Pingback | March 9, 2013
  • Tomi

    My name is Tom and I would first like to thank you on the project Groovesizer.
    I made a project and I have one problem and one question.
    Groovesizer no sound when the power Arduino with battery, but only when I plugged USB.
    My question is:
    Which one potentiometer is the better for this project linear or logarithmic, and whether one is better 10k or 50k.
    PS…your music is very interesting,go on…

    Comment | March 21, 2013
  • moshang

    Hey Tom,

    I’m glad you’re enjoying the Groovesizer and my music!

    I used 5k linear potentiometers – I couldn’t find 4.7k pots as suggested in the original. If you already have 10k pots, try those first.

    I haven’t tried running the Groovesizer off batteries yet, but I don’t see why it wouldn’t work. A fresh 9v should do the trick.

    Comment | March 24, 2013
  • Hi MoShang,

    You have really maxed out the Arduino hardware with this project using every single pin.

    One very simple modification that will be familiar to a lot of Arduino users would be to drive the 8 leds with a 74595 shift register – there is even a ready built Arduino function for this – shiftOut.

    This will allow you to drive the 8 leds using just 3 pins.

    An immediate benefit is to free up serial tx, rx, 2 other digital pins and an additional analog input for waveform selection or a filter.

    As for the users asking which pots to use, anything between 50K and 5K should be fine.

    Duane B

    Comment | April 16, 2013
  • moshang

    Hey Duane,

    Cheers for that – in fact I have a 74595 led setup on the breadboard right now ;^) I might just go one better and use two 74595s so that I can have 16 leds (one for each step) at no extra cost in terms of pins used.

    I’m also thinking to switch out the auduino synth engine for the illutron in a groovesizer mk2 – four voices are better than one. That’s based on the assumption that I can wrap my head around the code.

    Comment | April 17, 2013
  • Zach

    I am interested in something like that!

    Comment | April 18, 2013
  • Jaques

    Wow, what a great project!

    One stupid question (I´m a noob):
    Isn´t 0,1 µF = 100 nF?
    Why do you make a difference with the capacitors then?
    Why do you use one blue and one black capacitor?

    I have some yellow cylindric 0,1µF (50v) capacitors from an old mixer, can I use those for both needed capacitors?

    Cheers,
    Jaques

    Comment | April 18, 2013
  • moshang

    Hey Jaques, I’m just as big of a noob here ;^) I copied the design for the output circuit from Duane’s RCArduino who in turn got it from here. Either way, I’ve learnt so far that the 0.1mF capacitor is polarized, whereas the ceramic disk one is not. Sorry I can’t be of more help!

    Comment | April 19, 2013
  • Tre

    Ill take one

    Comment | April 21, 2013
  • Jaques

    Thanks anyway!

    Keep up the good work!

    Comment | April 24, 2013
  • Hi All,
    With capacitors its milli, micro, nano, pico so 0.1mf (0.1 milli farads) is 100uf (micro farads) not 0.1uf (100 nano farads).

    Larger capacitors are manufactured using different techniques and materials than smaller capacitors. The construction of the larger capacitors is why they tend to be polarised.

    To build audio projects I usually use a very simple low cost amplifier circuit. Its portable and protects my high end gear from any mistakes in my project circuits –

    http://rcarduino.blogspot.com/2012/08/adding-audio-to-arduino-projects.html

    Moshang,
    I plan to build your project groovesizer and put it in a box with one of these little amps and a PC speaker, it will be a cool addition to my modest collection of mini synths.

    Well done on a great project

    Duane B

    rcarduino.blogspot.com

    Comment | April 24, 2013
  • moshang

    Thanks for the great info here and on your site, Duane. I’ll be returning there often! I’m having lots of fun so far with the Illutron based version – I’ll have an update on it soon. Looking forward to seeing your version of the groovesizer. Please pardon my code – it’s very rough! After looking over your IllutronB code, I can just imagine you cringing at mine! Still, It works well enough.

    Comment | April 25, 2013
  • Eimer

    I love this project and will try to build it. I have two questions: can external gear be synched via MIDI, and can it be modified to run as a slave of other equipment via MIDI in, i know there’s no hardware for the MIDI in, but is it easy to change the code for sync? Thank you so much for this wonderful project!

    Comment | April 25, 2013
  • name

    brilliant post! so clean and easy to follow. Arduino//Fritzing post perfection!

    Comment | April 26, 2013
  • newvoodoo

    im trying to follow the fritzing schematic and its unclear where the on/off switch is ( i dont see it at all)-and what the output is and why there appear to be 2 outs (1/4″ and 1/8″ or 3.5mm) in the groovesizer in the video.
    Am i missing something?
    Ive enlarged the output-well what I think is it-and it looks like a black box with 3 connections and perhaps a 1/8″ (headphone 3.5mm) connection) that is on the left of the capacitors. Am I correct? If so, where is the second larger out?

    I cannot see the switch at all…

    Ive built this and gotten it to work but I would like to add the switch and a second out if possible-that would be cool, and then I could add a on/off led indicator as well..which would be an improvement aesthetically I think.

    Please let me know and I appreciate it either way because its damn cool and Im PSYCHED to have found it!! I cant wait to mess with it, change the code, add it in series to other projects, etc

    (sorry if I sound over-eager, Ive just gotten my first rasberry pi in the mail today as well and im just generally ramped up about device building this morning)

    thanks again!

    Comment | May 5, 2013
  • moshang

    Hey newvoodoo,

    Nope there’s just a single out. On the schematic (as on the version in the video) it’s a 1/8 inch jack output – to the left of the capacitor marked “2” in the schematic. It’s a stereo connector, but since the groovesizer outputs in mono only, I’ve sent the output to both left and right legs – this way you hear it in both ears if you’re listening on headphones. I think you’re mistaking the 9v DC connector for an audio output in the video.

    As for a power switch, I built my groovesizer with a perfboard hackduino, so I just put a power switch between the power connector and the hackduino’s power supply. Not so sure where you’d put it if you’re using a proper Arduino board – or just do without it.

    Comment | May 6, 2013
  • newvoodoo

    thank you for taking the time to address my questions. I greatly appreciate it !

    Comment | May 6, 2013
  • ratna

    Groovesizer is very interesting.
    It made from the mint package of Frisk.
    http://www.flickr.com/photos/phenakite/8711655889/in/photostream

    Comment | May 6, 2013
  • moshang

    Great job, ratna! It’s minty fresh – love it!

    Comment | May 6, 2013
  • deFred

    Hey great project, I’ve been looking for this a long time, built one in a VHS casing for prototyping, works as a charm, except maybe a 220 Ohm resistor for the midi OUT signal is better. Already thinking of upgrades. Do you plan to release this under a cool free licence ? GPL or CC -by -sa ? Next step for me is getting a midi clock out of the bugger !

    Comment | May 28, 2013
  • moshang

    Hey deFred – cool stuff, please post pictures. I’m a CC fan, so CC-BY-SA it will be. I’m waiting prototype pcb’s I’ve had made for a follow-up project. That one will definitely feature midi clock so it can play nice with other gear.

    Comment | May 29, 2013
  • Tomi

    hey,Tomi again.The Groovesynth works great now ,but i don’t have MIDI message on MIDI out.HELP

    Comment | June 1, 2013
  • deFred

    @Tomi I had the same issue, replace the 2.2 Kohms resistor on the midi out outlet by a 220 ohms one. Of course check the wiring of the midi outlet. It should be fine after that, the midi do work.

    Comment | June 3, 2013
  • deFred

    by the way a little post on my personal blog (with a lame picture 😉 ) : http://defred.fr/index.php?article3/synthe-sequenceur-a-base-d-arduino

    Comment | June 3, 2013
  • moshang

    @deFred I like the picture ;^) Thanks for helping out – that resistor on the midi out should definitely be 220 Ohm. I’ll update the Friting picture as soon as I find a moment.
    ***UPDATE***
    That Fritzing breadboard schematic is fixed now.

    Comment | June 5, 2013
  • Boguz

    hi. this is a really great project!
    Thank you for sharing it! It great for newbies like me to be able to build so cool projects that other people are generous enough to share! =)

    I have one question though…
    i have built the Groovesizer on breadboard. It seems to be working ok (byt my sounds are uglier than the ones on your video =( ) but i think there is something wrong with my POTS.
    i have used 4.7K Pots. When i turn the pots completly clockwise (higher values) something strange happens. For instance, with POT 3 i start listening strange noise and Pot 4 make the Arduino shut down completly. No more sound, no more LEDS, nothing. Even the ON led on the arduino board goes down.
    when i turn it again a bit anti-clockwise the Groovesizer restarts (reseted).

    Any ideas on what is going on? Thanks, i really appreciate your help! =)

    Comment | June 6, 2013
  • moshang

    Hey there Boguz,

    Thanks, and you’re welcome ;^) Hmmm, sounds like the values you’re reading from the pots are going out of range somehow. I thought I had constrained it to values between 0 and 1023, but I don’t have the code in front of me to check. In the meantime, do you have other pots you can try?

    Comment | June 7, 2013
  • Boguz

    hi. thank you for your answer.
    i tried now with 1M Ohm pots (it’s what i have here).
    it happens like this: the last 1/4 of a turn both clock and anti-clockwise don’t seem to be working.
    The Groovesizer seems to be working better. it doesn’t crash anymore when i turn pot3 completely clockwise.

    Yesterday (still with the 4.7K Pots) i made a video to show what the problem is:
    https://vimeo.com/67806169

    Thank you!

    Comment | June 7, 2013
  • moshang

    Hey again, Bogus – thanks for the video. Unfortunately I’m stumped, and I’m hoping someone else will have an answer for you. I definitely recall my Groovesizer making that noise in the second example while I was working on the code, but not with the latest version of the firmware – I’m wagering it’s a dodgy potentiometer.

    Comment | June 7, 2013
  • Boguz

    ok, thanks! I’ll try to figure something out… 😉

    Comment | June 8, 2013
  • […] the meantime, have a look at the original Groovesizer Arduino project and build one for yourself: Info & Schematics Manual (firmware […]

    Pingback | June 8, 2013
  • Hi, Im chilean , congratulations very interesting!!! 😉
    Check my synths https://www.facebook.com/PabloPalomoSintetizadoresArtesaniaElectronica

    Bye!!

    Comment | July 6, 2013
  • thats a dope project!!

    i started to build an arduino based drum machine a few weeks ago, and i had all your questions on my mind too, uplike using a second arduino for timing..

    for now i use three 8 to1 mux and two 1to8 demux ics and use 9 digital pins for reading 20 buttons and switch 16 LEDs

    the muxs fill two 8bit arrays that represent one 16 step sequence, all mux and demux ICs share the adress pins (A0,A1,A2) and the clocks

    my plan is to build a standalone analog drummachine with one dedicated kick, one snare, and three different noise generators

    i wanted to build the sequencer analog but found out about arduino four weeks ago so i changed the design

    the arduino just sends gate signals via optocouplers, till the sound modules are finished i use two monotrons as test devices, because of the optocouplers i can even use the monotrons own battery while the arduino is powered by usb

    as interface, i use the classic roland tr stepsequencer, a play/stop button up/down for selecting the voice, a bpm button in combination with 6 sequencer buttons for tempo (+-10/+-1/+-0.1) and a shift button, in case i need additional functions (together with the 16 seq buttons)

    about timing, i thought its probably the best way if i would use a second arduino that does the “step management” so one is the input arduino and one is the trigger/timing arduino

    but i will try to make it happen on just one 🙂

    Comment | August 8, 2013
  • I just finished one of these using an Arduino UNO and perf board. But I dont have any sound output! even connected directly to pin 3…

    Ideas?

    Comment | August 18, 2013
  • moshang

    Hey Dayne,
    If everything is on the breadboard exactly as on the schematic but there’s still no sound, it’s possible your potentiometers are currently dialed to a silent setting. Play with the pots a bit and check if you hear anything.

    Comment | August 18, 2013
  • Thanks, I figured it out, actually all my switches were wired wrong so they were always on! it was doing wild thing but looked fine. It was still very quiet though so for headphone use and small speakers I removed the resistor going to the output. A pot could be used as a “volume”.

    Also, in you schematic, I know its been said before about the 0.1mF capacitor, but it should be labeled 100uf to make things less confusing.

    Next thing, what is saved in the banks in the code? when I try and recall a bank I havent already saved to it makes some scary sounds and almost seems to freeze.

    Otherwise, this is AMAZING, I cant wait for your kit. keep up the great work!

    Comment | August 18, 2013
  • moshang

    I’m glad you figured it out. I’ve finally updated the schematic so it now reads 100uF.

    Ha, yeah – in this firmware it doesn’t check whether something has been saved to a memory location before loading, so you may well load gibberish. And it doesn’t always sound very pleasant. On the new machines (at least with the Alpha firmware) I use a simple index page to keep track of memory locations that have been used, so it won’t let you load a location that hasn’t been saved to yet, and won’t let you overwrite an existing save location without confirming.

    Comment | August 19, 2013
  • Skinner

    Looving the groovesizer, nice work, have you got any further with multiplexing the leds and buttons ? i have the mega adk so i have plenty of pins spare lol. I am in the process of adding the groovesizer into an old keyboard that i had lying around, its gonna look funky when its complete. i will send you some photos when it is all back together..

    Keep up the good work, if anyone is struggling getting this project or the auduino running on the mega give me a shout and ill help you get it going.

    Again nice work, hope to see more in the future..

    Comment | September 6, 2013
  • moshang

    Thanks Skinner. As for multiplexing, I did make progress. I’m a couple of weeks away from releasing the new Groovesizer kit. Have a look at groovesizer.com. Thanks for the offer of help. I’ll send question re. the mega your way. And please send those pics when you’re done.

    Comment | September 6, 2013
  • Mathy

    Hello Moshang,
    thank you for making this version public and open source. I’m looking for ward to build this! However, I’ve got a question. What are the dimensions of the box you have used? Thanks a lot!

    Mathy.

    Comment | February 11, 2014
  • moshang

    Heya Mathy,
    You’re welcome. The box I used is 150mm x 90mm x 50mm. Please do post pictures once you’ve finished your build ;^)
    All the best,
    MS

    Comment | February 12, 2014
  • how well does the midi work?
    what can you do with it?

    Comment | June 19, 2014
  • moshang

    Hey Marco, it works well enough, but it’s very basic – just note number and note length out at a constant velocity. For a more complete MIDI implementation, see the RED http://groovesizer.com/red/

    Comment | June 22, 2014

RSS feed for comments on this post. TrackBack URL

Leave a comment

 

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes