Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Moderators: Kent, luketeaford, Joe.
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
A video is worth 10000 words.
[video][/video]
Currently the source code is closed but I will open source one day, when I feel it´s ready to do so. If you are raving to see/modify it, just tell me and I will send you the source in petit comitè
Edit: Open sourced code and schematics here:
https://github.com/spherical-sound-society/glitch-storm
PCBs, Kits and Build units at:
https://www.tindie.com/stores/jc2046/
[video][/video]
Currently the source code is closed but I will open source one day, when I feel it´s ready to do so. If you are raving to see/modify it, just tell me and I will send you the source in petit comitè
Edit: Open sourced code and schematics here:
https://github.com/spherical-sound-society/glitch-storm
PCBs, Kits and Build units at:
https://www.tindie.com/stores/jc2046/
Last edited by SphericalSound on Mon Jan 13, 2020 11:39 am, edited 5 times in total.
-
- Learning to Wiggle
- Posts: 31
- Joined: Tue Feb 19, 2019 9:02 am
- Location: Central Ohio
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Schematics, BOM and .hex added in the github:
https://github.com/spherical-sound-society/glitch-storm
Source will be available in hours.
https://github.com/spherical-sound-society/glitch-storm
Source will be available in hours.
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
So, code and schematics open sourced . Theres´s 1 or 2 empty slots equations in the code. If you find cool ones that you want to share, post it here and I will add it to the repository
https://github.com/spherical-sound-society/glitch-storm
https://github.com/spherical-sound-society/glitch-storm
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
very cool!
Just ordered a pcb. I'll be making a boutique version out of this funky synth!
Just ordered a pcb. I'll be making a boutique version out of this funky synth!
- soggybag
- Wiggling with Experience
- Posts: 371
- Joined: Thu Aug 10, 2017 2:57 pm
- Location: San Francisco
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
That’s a really neat idea I love chiptunes.
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
When will you have more kits in stock?
Gear List: Elektron Octatrack, Elektron A4,Microbrute, Bass Station, Rings Braids, Pitts Ring Mod, Pitts Osc, Echophon, Intillegel uFold / uMIDI, PNW2, Doepfer 138-c, 119, Tiptop Z4000, Maleko Fade / 8NU8R
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Cool!. I would love to see your built

r05c03:
A few full kits should be here in 2-4 working days approx. Plenty of stock later in 4 weeks approx
Last edited by SphericalSound on Sat Dec 28, 2019 4:33 pm, edited 1 time in total.
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
I'll post some pictures when I'm done !
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
got the PCB today. thanks.
just to mention:
the drawing on the solderside is pretty smudged. might be better to use 'permanent' ink and/or include the 'fix' in the BOM.
now i just have to figure out how to get the .hex file onto the nano. not as easy as i thought.
any help, or a arduino IDE compatible .ino file most welcome.
just to mention:
the drawing on the solderside is pretty smudged. might be better to use 'permanent' ink and/or include the 'fix' in the BOM.
now i just have to figure out how to get the .hex file onto the nano. not as easy as i thought.
any help, or a arduino IDE compatible .ino file most welcome.
Last edited by grm on Mon Aug 31, 2020 3:35 pm, edited 1 time in total.
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Cool!. I thought it was permanent marker. Probably the easiest way to program it is with xloadergrm wrote: ↑Mon Dec 30, 2019 11:23 amgot the PCB today. thanks.
just to mention:
the drawing on the solderside is pretty smudged. might be perter to use 'permanent' ink and/or include the 'fix' in the BOM.
now i just have to figure out how to get the .hex file onto the nano. not as easy as i thought.
any help, or a arduino IDE compatible .ino file most welcome.
http://www.hobbytronics.co.uk/download/XLoader.zip
http://www.hobbytronics.co.uk/arduino-xloader
The .hex and the .ino is in the repository:
https://github.com/spherical-sound-society/glitch-storm
If you have never used arduino before you probably need to install the ch340 driver too
https://learn.sparkfun.com/tutorials/ho ... rivers/all
Im uploading a photo of the bridges to the repo.
If you have some trouble, just ask. Im here to help
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
And it lives!
for now it looks like an octopus, I wired all pots to have some room for fitting it in a case.
A quick question: is it easy to add a tempo control potmeter, I mean like variable sampling rate?
My Arduino coding skills are a bit rusty.
I see some code about timestretch and sample rate settings on analogRead 3. Did you have some ideas about this too?
//long putin=analogRead(3);
//int d = map(analogRead(3), 0, 1023, 0, 1023);
// timestrech(d);
// Serial.println(analogRead(3));
//c = (cBottom + cTop) >> 1;
// SAMPLE_RATE = map(analogRead(3), 0, 1023, 256, 32768);
// OCR1A = F_CPU / SAMPLE_RATE;
for now it looks like an octopus, I wired all pots to have some room for fitting it in a case.
A quick question: is it easy to add a tempo control potmeter, I mean like variable sampling rate?
My Arduino coding skills are a bit rusty.
I see some code about timestretch and sample rate settings on analogRead 3. Did you have some ideas about this too?
//long putin=analogRead(3);
//int d = map(analogRead(3), 0, 1023, 0, 1023);
// timestrech(d);
// Serial.println(analogRead(3));
//c = (cBottom + cTop) >> 1;
// SAMPLE_RATE = map(analogRead(3), 0, 1023, 256, 32768);
// OCR1A = F_CPU / SAMPLE_RATE;
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Yep, I had in in a experimental version
Just need to unccoment these two:
SAMPLE_RATE = map(analogRead(3), 0, 1023, 256, 32768);
OCR1A = F_CPU / SAMPLE_RATE;
It will respond to the voltage in A3 as general pich/speed
If you want to use a 4th pot, remember to feed 1 to gnd, wiper to A3 and 3 to +5. That´s it
Or you can do:
SAMPLE_RATE = map(analogRead( X ), 0, 1023, 256, 32768);
For using one of the common pots as pitch too. Where X is 0, 1 or 2
Edit:
I almost did a phaser/delay effect too. It ran a bit slow, but pretty sure it can be done, in case anyone know the guts of the atmega and wants to program it. Maybe running the general speed at
int SAMPLE_RATE = 16384;
At half or so, so you have more free cycles to run the effect
Just need to unccoment these two:
SAMPLE_RATE = map(analogRead(3), 0, 1023, 256, 32768);
OCR1A = F_CPU / SAMPLE_RATE;
It will respond to the voltage in A3 as general pich/speed

If you want to use a 4th pot, remember to feed 1 to gnd, wiper to A3 and 3 to +5. That´s it
Or you can do:
SAMPLE_RATE = map(analogRead( X ), 0, 1023, 256, 32768);
For using one of the common pots as pitch too. Where X is 0, 1 or 2
Edit:
I almost did a phaser/delay effect too. It ran a bit slow, but pretty sure it can be done, in case anyone know the guts of the atmega and wants to program it. Maybe running the general speed at
int SAMPLE_RATE = 16384;
At half or so, so you have more free cycles to run the effect
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
thanks for the tips! I'll try the MOD!
The glitch patterns are very detailed already. They sound wonderful!
I might add some effects to the case build, like a filter, EQ or a delay. We will see
/edit: this works great! A pitch knob adds a lot of sound possibilities! The highest setting gives cool glitches!
now I'm curious for what the timestrech(d) function does.
space events further apart?
These lines look promising, but I think more code is needed? I had no luck with it yet like this:
// long putin=analogRead(3);
// int d = map(analogRead(3), 0, 1023, 0, 1023);
// timestrech(d); <- do I need this line?
The glitch patterns are very detailed already. They sound wonderful!
I might add some effects to the case build, like a filter, EQ or a delay. We will see

/edit: this works great! A pitch knob adds a lot of sound possibilities! The highest setting gives cool glitches!
now I'm curious for what the timestrech(d) function does.
space events further apart?
These lines look promising, but I think more code is needed? I had no luck with it yet like this:
// long putin=analogRead(3);
// int d = map(analogRead(3), 0, 1023, 0, 1023);
// timestrech(d); <- do I need this line?
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
I wrote it quite time ago and Im not 100% sure, but I want to recall that timestrech was the very fuction that does the actual pitch shifting, so no needed as you uncomment the last 2 lines of F_CPU.
So redundant. Anyway, I will take a look tonite and confirm it, maybe it was another idea, not 100% sure without reviewing the code.
A new revision of the PCBs is available on Tindie and Ebay. I will post photos later
So redundant. Anyway, I will take a look tonite and confirm it, maybe it was another idea, not 100% sure without reviewing the code.
A new revision of the PCBs is available on Tindie and Ebay. I will post photos later
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
How to enter in an easteregg mode? And what schematic for trigger gate outs?
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
You enter by longpressing one of the buttoms (right in the newer version, left in the first version). Once in this mode, leds blinks in different multiples of the main clock, you can use the led signal itself as a gate/trigger to sync with exterior modules or gear
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
A multiturn pot for the speed settings is pretty nice.
next up: CV
next up: CV
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Hi! This looks great.
The Readme mentions a Rev 1.0, are schematics and code available for it?
The Readme mentions a Rev 1.0, are schematics and code available for it?
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Rev 1 is almost the same as rev 0, only a volume pot missing and some rework of the tracks. The code is the same.
FetidEye: This is the hertz of the main clock:
SAMPLE_RATE = map(analogRead( X ), 0, 1023, 256, 32768);
So it goes from 256 to 32768 divided by 2 (so 128hz to 16khz). Not exactly, but more or less. If you use, for example
SAMPLE_RATE = map(analogRead( X ), 0, 1023,256, 16384);
the trip of the pot is the half, so is the double of easy to dial the frequency that you want
Guys, has some of you found some cool equations?
FetidEye: This is the hertz of the main clock:
SAMPLE_RATE = map(analogRead( X ), 0, 1023, 256, 32768);
So it goes from 256 to 32768 divided by 2 (so 128hz to 16khz). Not exactly, but more or less. If you use, for example
SAMPLE_RATE = map(analogRead( X ), 0, 1023,256, 16384);
the trip of the pot is the half, so is the double of easy to dial the frequency that you want
Guys, has some of you found some cool equations?
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
Oh, I already got that. 
I use a multiturn to precisely tune the frequency. (to the whole possible range)
This works fantastic, much better than a normal pot. I had a few laying around so I could just use them
I wired all pots, so it was easy
I really recommend this pitch mod, it makes this whole synth way more usable in a musical sense.
I'll try to make a audio or video recording of it.
no equations yet, sorry. but I'd like so add more noisy stuff!

I use a multiturn to precisely tune the frequency. (to the whole possible range)
This works fantastic, much better than a normal pot. I had a few laying around so I could just use them

I wired all pots, so it was easy
I really recommend this pitch mod, it makes this whole synth way more usable in a musical sense.
I'll try to make a audio or video recording of it.
no equations yet, sorry. but I'd like so add more noisy stuff!
- FetidEye
- demonic space drone
- Posts: 2165
- Joined: Mon Dec 06, 2010 5:00 pm
- Location: Red Zone
- Contact:
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
if I create something on this site, is it easy to convert it to useful code for the arduino?
http://wurstcaptures.untergrund.net/music/
noise! (I'm randomly editing code)
t * ((t>>3|t>>6)-666*t>>4)
t * ((t>>3|t>>6)-666&t>>4)+sin(t)
repeating noisy stuff:
t * ((t>>13&t>>8)|666&t>>4)
I found this long one which is pretty sick.
http://wurstcaptures.untergrund.net/music/?oneliner=((t*(t%3E%3E8%7Ct%3E%3E9)%2646%26t%3E%3E12))%5E(t%26t%3E%3E13%7Ct%3E%3E6)&oneliner2=((t*(t%3E%3E9%7Ct%3E%3E8)%26144%26t%3E%3E12))%5E(t%26t%3E%3E13%7Ct%3E%3E6)&t0=0&tmod=0&duration=60&separation=100&rate=22050
http://wurstcaptures.untergrund.net/music/
noise! (I'm randomly editing code)
t * ((t>>3|t>>6)-666*t>>4)
t * ((t>>3|t>>6)-666&t>>4)+sin(t)
repeating noisy stuff:
t * ((t>>13&t>>8)|666&t>>4)
I found this long one which is pretty sick.
http://wurstcaptures.untergrund.net/music/?oneliner=((t*(t%3E%3E8%7Ct%3E%3E9)%2646%26t%3E%3E12))%5E(t%26t%3E%3E13%7Ct%3E%3E6)&oneliner2=((t*(t%3E%3E9%7Ct%3E%3E8)%26144%26t%3E%3E12))%5E(t%26t%3E%3E13%7Ct%3E%3E6)&t0=0&tmod=0&duration=60&separation=100&rate=22050
Last edited by FetidEye on Thu Feb 06, 2020 7:27 pm, edited 1 time in total.
- SphericalSound
- Wiggling with Experience
- Posts: 489
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Glitch Storm: A DIY Bitranger-Bytebeasque-Chiptunethingo
FetidEye wrote: ↑Thu Feb 06, 2020 6:55 pmif I create something on this site, is it easy to convert it to useful code for the arduino?
http://wurstcaptures.untergrund.net/music/
noise! (randomly editing code)
t * ((t>>3|t>>6)-666*t>>4)
t * ((t>>3|t>>6)-666&t>>4)+sin(t)
Yeah, you can pretty much use the equations that you find there. Just dont use trigonometric stuff (sin, cos) and better not use modulo % (modulo is very demanding on the arduino, it will only work at slow frequencies
