price : $95.00
listen to the demo.
four 1-bit sounds, to be played live or sequenced
step sequencer with 8 steps
what is 1-bit sound:
sound digitally stored in cd quality has 16-bit resolution. 16-bit number can express 2^16 values (65536). it means that audio waveform reconstructed from cd is defined by 65536 separate voltage levels.
1-bit number can have only 2 values: 0 or 1. because 2^1 = 2. therefore 1-bit sound can be defined by only two voltage levels – usually some voltage, and no voltage.
so 1-bit signal is simply square wave.
different sound colours are achieved by modulating frequency and pulse width of this square wave. lunchbeat generates four 1-bit waveforms at once. how each waveform will sound is determined by four separated
dropping frequency for bass drum
slow noise for snare drum
fast noise for hi-hat
steady frequency for bass wave
each algorithm’s input values are influenced with dedicated knob. what parameter and how much is it tweaked by knob is for every algorithm individual, to ensure that the modulation will be interesting and
sequencer has 8 steps playing in loop.tempo is controlled by internal clock or external clock pulses.
programming the sequencer is easy and intuitive and uses two levels of leds brightness. by pressing edit button you cycle thru all 8 steps. one bright led marks current step being edited. pair of half lited leds
is indicating enabled sound on current step. sound is switched on or off by pressing adequate sound button.
start/stop – runs or stops sequencer. when sequencer is started in external sync mode, it waits for first trig in pulse. in setup mode this button selects internal or external clock.
edit – cycles thru all sequencer steps from step 1 to step 8, i call this edit mode. selected step is marked with fully light led.
sound buttons – in edit mode you turn on/off sounds to be played on selected step. when not in edit mode, sounds can pe played by pressing sound button at any time. in setup sound buttons are used to enter trig
division value. in binary! :)
mod pots – each sound has dedicated potentiometer to tweak sound parameters in real time.
tempo pot – tempo of internal clock generator.
lunchbeat can be switched to internal clock, so sequencer advances in intervals given by internal clock generator, and so lunchbeat sends short 5v pulses to trig connector, serving as master. or lunchbeat can be
switched to external clock, to receive clock pulses via trig cable, and sequencer advances when rising edge of 5v pulse is received.
holding edit button for longer time gets lunchbeat to setup mode (tempo led flashes rapidly). in setup mode you can select internal or external clock and division factor of trig synchronization. with division
factor set lunchbeate is receiving (or sending) every x-th trig pulse. division factor “x” can be any number from 1 to 15. can be used for creating unequal floating beats. leave setup mode by holding edit button
for longer time again.
warning: there is no protection circuitry on trig in input! so be sure your trig signal does not exceed 5v! in other case you can fry your chip.
syncing video by daan:
mcu reset – mcu reset button is not usually implemented on music instrument. but my assumption is that user will be messing with firmware, so there we go. i am using rigid 2.5n pushutton for this, to prevent
reseting unit accidentaly.
isp6pin – hacker’s gate to unit’s microcontroller. tweak the sound algorithms. tweak the sequencer. change unit’s purpose completely. use the fact that lunchbeat is the same thing as arduino with 6 buttons, 5
pots, 8 leds on spi shift register and 3-bit digital to analog converter. you can run arduino sketches on it. from here it is up to you and your fantasy.
how it works:
microcontroller atmel atmega328p is running at freq 16mhz. 6 buttons is connected to digital input pins with enabled internal pullup resistors, and five potentiometers connected to analog input pins. audio is
outputed thru 3-bit resistor-2-resistor digital/analog converter with lm358n operational amplifier in voltage follower mode and dc blocking capacitor. 8 blue leds are controlled with 74595 shift register, to
which data is sended from mcu via spi bus.
internal sampling frequency is 15626hz. so there is interrupt routine firing 15626x per second. this routine checks if some sound should be playing, and if so, checks how long is that sound playing already and
than is computed value for output. sounds are 1 bit, so output value can be only 0 or 1, nothing else. after that all four sound values are summed together (mixed) and this final mix value is pushed to 3-bit
mcu change (since june 2014): i am now using atmega48pa microcontroller in lunchbeat. everything works the same as with atmega328p. only difference is smaller flash memory (only 4k of flash). atmega48pa also
does not support bootloaders, so do not try to burn arduino bootloader into it. to upload code use isp programmer (you can get usbasp or usbtiny on ebay for very cheap). do not forget to change mcu type in
compiler options. also you can use your arduino as isp programmer!
lunchbeat was designed for one of lunchmeat-neone workshops, to demonstrate how sound can be made with 8-bit microcontroller. but the machine eventually proved itself to be raised from breadboard domains to
upper – more solid – printed circuit board states.
original breadboard lunchbeat is in this video: