I can barely remember when I started this project… After I build Atari Punk Console I decided to build similar 2-knob device. The idea was very blurry – small music box, powered by 9V battery, easy to use and fun. This is how it started and how it is ended.
This is the story of OneBiter.
The project was started in the middle of the 2012. I had a bunch of Atmel ATMEGA8, so I’ve started with it. After fewnights with beer and software developement I have ended with something like this:
Short after that I moved to PCB and made an “enclosure” for this “synthesizer”. The PCB was really small to fit inside candy box. I named it “OneDog” as opposite to “TwoPig”, my clay piggybank project, a pig with two heads.
All cool synth projects are in Altoids tin can. We have no Altoids in Poland. This is the only small tin can I found.
Oh yes, I was very proud. So proud I have decided to tell the whole world what I have done. I have logged to electro-music and wrote something like this:
[…] Sound engine contains 3 square wave generators and 4 triangle/square wave LFOs. 3 LFOs modulate pulse width of 3 DCOs, while fourth LFO act as output volume modulator – its frequency goes to audio range. You can create 2 8-step sequences simultanously: sound pitch (note) sequence and note slide sequence. The interface is extremely reduced (only 2 knobs, 2 pushbuttons and 2 switches), but creating new sequences is quite easy. Device has also 8 memory slots, each holds 8 step note and slide sequence. Circuit uses no DAC, all waveforms are mixed analogue. Here’s some sound sample, hope You enjoy it.
– 3 DCOs, analog output & mixing,
– 3 triangle wave LFO, modulating DCOs pulse width, synchronized with sequence,
– 1 square wave “effect” LFO,
– 8-step sequencer with note/slide sequence.
– note selection (over 6 octaves),
– slide on/off,
– sequence transpose,
– sequencer speed,
– “effect” LFO speed,
– memory bank selection / read / write,
– “live” effects – double speed, reset sequence (not implemented yet).
– line out.
Demo was recorded in one take. No external effects, pure OneDog audio output. At 1:11 “effect” LFO comes into play.
I played a little with it and put it to the drawer, where it spent about a year. Then I looked at it. “I can do better” I said.
The interface was an dead end. It was just too simple to make sophisticaded and controlable sound engine I have imagined. I decided to add 4 push buttons and 4 LEDs and get rid of 2 toggle switches. I have divided synth into 4 logical sections: LEAD, DRUM, SYNTH and MEMO. I don’t want to dig to much into how exactly it works, just trust me, it is simple to use. This way “OneBiter v2” was born.
In LEAD you create melody with 8-step sequencer and make slides between chosen notes. Tempo change and sequence transpose knobs works as in previous version. With 4 buttons you can transpose the whole sequence up to 1 octave with 1 note step – this lets you create quite complex melodies (taking device size for consideration).
DRUM section lets you make a 2 simple 8-step drum tracks – 1 for bass drum and one for snare (which sounds a little hi-hatty). You can tune bass drum and snare sound – each have 8 settings, changing pitch and decay. You can also use 4 buttons to make live performances – drum mute, drum roll (all 8 steps temporary filled) and 2 breaks (an automatc variation of created drum track, made by simple algorithm).
SYNTH is my favourite one – you can tweak the main synth engine here. As you know, the synth uses 3 squarewave generators. You can detune them (unison and suboscillator settings are also there), sync, xor. There is a variable speed LFO for PWM modulation and another LFO for “fake” chord speed (generator outputs are multiplexed, it results in vintage, old computer style sound). I have also inplemented “pulse gap modulation” form Waldorf Pulse, which can make a lot of mess too.
MEMO is a place to menage your tracks. You have 16 slots of memory – each holds your sequences and synth settings, but you can choose to load only sequence track from a slot. The “delayed load” gives you an option to load a track in LEAD mode – very handy while playing live.
I moved to profesionally made PCB and made a demo (this is OneBiter v2).
In the next version I added an simple enlosure, changed knobs and switches to something more elegant, also clock signal output jack. The encoders were changed to 18 step Alps with “low force” button – qute hard to get, but with great feel. So, how the v3 revision looks?
The acrylic is so clear, you almost can not see it 🙂 Knobs are machined form aluminum, all switches and encoders are special “low push force” devices – they work really smooth. LEDs are low current (2 mA) versions; in connection with charlieplexing this gives extremely low current demand for whole device – about 10 mA.
Schematics (final version):
- sound generation engine:
- 3x digital squarewave generator with PWM (pulse width modulation) and PGM (pulse gap modulation), XOR and sync,
- 1x triangle / squarewave LFO for PWM / PGM/ “fake chord”,
- 1x snare drum generator (LFSR based) with decay and pitch control,
- 1x bass drum generator (squarewave based) with decay and pitch control,
- synth control engine:
- 8 step sequencer for lead melody with another sequencer for note slides, with transpose and speed options (transpose can be controlled via encoder or buton combinantion)
- 8 step trigger sequencer for snare and bass drum, with mute, “drum roll”, “break” (instant variation of created rythm), drum shift (shifts whole loop left or right) options
- 16 slots for melody and synth settings,
- “delayed load” option lets you load a track when in sequencer “screen”
- 8 LED multipurpose display (mainly for sequences and memory),
- 2x 24 step encoders with buttons,
- 4x separated buttons (3 black and 1 red for MEMO screen),
- 2 jacks – line output and clock output.
- microcontroller: Atmel ATMega8PA @ 8MHz, program size ~8 kB
- power supply: 3V (2x AAA), supply current – below 10 mA, battery life ~100h.
I had a plan to put it on Kickstarter, but this is one of my projects, that is never good enough :/