MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

The Tiny-TS, A DIY Touch Synth
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author The Tiny-TS, A DIY Touch Synth
janost
The Tiny TS is a credit card sized (100x65mm) fully open-sourced synthesizer with a capacitive touch keyboard.

It has a 1-octave capacitive keyboard.

Audio/CV/Gate outputs and 6 parameter dials.

If you don't like the onboard sound of the synth, the CV's output 1V/oct and Gate from the keyboard so teams well with my other oscillator chips.

This will be this christmas DIY kit to play with.
And it will be cheap as a kit. This is fun!



masterofstuff124
EPIC!!!!!! nanners


ive been curious how to add touch pads to designs!
sleepgardens
Yes. Please let it be completely open source! Let's hear some sounds also!
janost
The upside down multiplexer is not pretty.

But it was the only way to do it keeping the PCB small.
janost
sleepgardens wrote:
Yes. Please let it be completely open source! Let's hear some sounds also!


Yes, fully open-source.

The PCB is all that I want to get a charge back for.
daynehacks
Wow! definitely another thing I will have to order from you! hopefully I can get my girlfriend to build on with me!
janost
I have to redesign the PCB.

The CD4067 MUX isnt manufactured anymore in DIP24.
And something made as a kit shouldnt have SMD.

I'll redesign it using just the ATmega.

That will however mean that there will be less inputs.
Or that I have to use a 644 or 1284.
janost
masterofstuff124 wrote:
EPIC!!!!!! nanners


ive been curious how to add touch pads to designs!


Its really very easy.

Connect an isolated pad to an i/o pin.
Preferably with a grounded surface below it.

Make the pin an output and make it low to discharge the pad.
Change the pin to an input with the internal pullup enabled.

Count how long it takes for the input to go high.

If a finger is touching the pad the time will be longer because of added capacitance.
daynehacks
Having one SMD chip would make it a decent project for people wanting to try SMD soldering, especially if it wasn't too expensive. Or maybe offer with the SMD part pre soldered for a bit more? I definitely prefer SMD over cutting leads off through hole components, and this might be easier then a complete redesign.
janost
daynehacks wrote:
Having one SMD chip would make it a decent project for people wanting to try SMD soldering, especially if it wasn't too expensive. Or maybe offer with the SMD part pre soldered for a bit more? I definitely prefer SMD over cutting leads off through hole components, and this might be easier then a complete redesign.


There is no PCB area to put the SMD chip on.

I probably have to make the PCB larger.
jahreed
hey that's cute!

hows the progress?
janost
jahreed wrote:
hey that's cute!

hows the progress?


The progress is that it will be available for the christmas holidays.
mongrol
Looks great. Imagine this stuck to the Division 6 business card sequencer and a battery. smile
janost
I can redesign it without the MUX and still keep 6 potentiometers and a CV/Gate output.

The only thing lost is the Octave up/down pads.

But a pot can serve as a coarse pitch?
shiftr
janost wrote:

The only thing lost is the Octave up/down pads.

But a pot can serve as a coarse pitch?


octave/up down pads are really necessary on a one octave keyboard imho ..
I think one of the most interesting uses is as a small cv keyboard. It could for example me a very nice tool for programming the sequences in the MI Yarns and the MI Edges
janost
Pretty simple kit after the redesign.

Perfect for a novice.

daynehacks
Could one of the pots be used to select the octave that the keyboard is in? Quite the low parts count schematic!
janost
daynehacks wrote:
Could one of the pots be used to select the octave that the keyboard is in? Quite the low parts count schematic!


Yes, it can.
janost
I redesigned the PCB for a single chip solution.

One of the pots sets the coarse pitch for the oscillator and that is also reflected on the CV output.

Decoupling caps and a 5v regulator added.
Should run fine on a 9v battery.

It can run on just 2 AAA batteries and 3v but that would screw up the CV output.

janost
Dichstudios
Nice design Janost!

I'm really looking forward to this one.
I have a few questions if you don't mind.
Approximate pcb size?
What functions do the 6 knobs have?
When will they be ready/posted and where?

Hoping to pick up a few boards for my daughter and I for the holidays.

Keep up the good work!
janost
Dichstudios wrote:
Nice design Janost!

I'm really looking forward to this one.
I have a few questions if you don't mind.
Approximate pcb size?
What functions do the 6 knobs have?
When will they be ready/posted and where?

Hoping to pick up a few boards for my daughter and I for the holidays.

Keep up the good work!


The size was in the first post, 100x65mm.
About 4x2.5inches.

At the moment the PCB is still in my computer maturing but will probably be ordered in the next couple of days.

It's planned to be available from the 1st of December.

$20 for the PCB only.
$30 for PCB and a preprogrammed chip.
$50 for full kit with all the parts.
$60 prebuilt plug&play.

At the moment the knobs are:
DCO: Coarse pitch and detune. The CV out follows keyboard and coarse pitch.
DCF: Filter peak and ENVmod.
ENV: Attack and Release affecting amplitude.

It runs on any power larger than 6v.
It also runs on 3v batteries but the CV wont be 1v/oct.
Barcode
Is there a possibility of adding mounting holes? I'm thinking about making an acrylic case for it.
janost
Barcode wrote:
Is there a possibility of adding mounting holes? I'm thinking about making an acrylic case for it.


Yes, I have thought of that.

The back 2 corners but I rather not make any holes in the front corners.

Midway perhaps, before the keyboard starts?
Barcode
I think midway would work pretty good. It should give enough support.
janost
To get this kit available at 1st of december it goes to manufacturing tonight.

If anyone wants an LM386 amp and speaker it needs to be added on a separate PCB.
janost
Final board design sent to manufacturing.

The kit will be available on the 1st of December.



Top layer:



Bottom layer:



Both layers:



Silkscreen:

julien
What's the color of the pcb? Black and gold ( a la "Hyve") should be nice cool
daynehacks
Looks great. Mounting holes look good too! excited for this!
janost
julien wrote:
What's the color of the pcb? Black and gold ( a la "Hyve") should be nice cool


White soldermask and black silkscreen.
TitoCas
Do you will give also built information and BOM for the kit, or you'll leave people without that?..., giving us only the pcb, and never replying to our help request?
janost
TitoCas wrote:
Do you will give also built information and BOM for the kit, or you'll leave people without that?..., giving us only the pcb, and never replying to our help request?


The Zero Module is not a kit.
But I'll get you the BOM and schematics.
janost
Updated full circuit diagram of the Tiny-TS.

TitoCas
janost wrote:
TitoCas wrote:
Do you will give also built information and BOM for the kit, or you'll leave people without that?..., giving us only the pcb, and never replying to our help request?


The Zero Module is not a kit.
But I'll get you the BOM and schematics.


I was obviously provoking you... You know I payed your pcb on 21th october and since then I asked via e-mail for a complete BOM, but getting absolutely no kind of answer from you.
So now (even if I'm interested in this new project), I'm scared to face again this communication problems...

Hope this was only a temporary problem for you.
janost
You did not provoke me.

But there are lots of people that wants to buy my modules for DIY even if I dont sell them as kits.

I have only sold them to a handful of people that claimed they could build them.

Colorbars is one, yourself is another.

I dont sell my modules as kits because the support is to painful and time consuming.

You will get the BOM and schematics but not the support.

When I do sell something as a kit it will have full support.
janost
The TS is built for DIY and open-source.

My modules are not.
TitoCas
janost wrote:

I have only sold them to a handful of people that claimed they could build them.

I dont sell my modules as kits because the support is to painful and time consuming.

You will get the BOM and schematics but not the support.


I know this was not a kit, I'm able to DIY and I don't need support. I just need to have a BOM for the two PCB you sold me because by only looking at the silk screen with the notation like R1 or C6 and so on, it is impossible to know the value of the components or the type of mono jack and pots I have to buy and install there.
Also, could be very useful if you reply to my emails and not to speak here.
Thanks.

PS, sorry to the other fellows wigglers for bring this discussion here....
this is the last reply I do here.
GGW
Back to the TS.
That's beautiful janost!
I'm standing by for a kit and planning a small wood box for it.
janost
The reason for the large ground planes on the PCB is because of the capacitive touch.

When a touch is measured almost the entire board is grounded except the key measured.
bournio
I LOVE IT!

It's a brilliant stocking filler, if i could exchange all the stylophones I've got over the past years for one of these I'd be a happy man!
janost
The real reason for the CV/Gate outputs is that I intend to release a matching modular synth board.

Mate the two and you have a playable portable modular synth in your pockets.

Yes, both accepts modular levels. nanners
janost
There is an issue regarding Google and the name Tiny-TS.

But I hope that you google the full name or in combination with DSP Synthesizers.
astrosound
janost wrote:
The real reason for the CV/Gate outputs is that I intend to release a matching modular synth board.

Mate the two and you have a playable portable modular synth in your pockets.


Sounds cool! Is the modular board going to use the VCDM chip?
janost
astrosound wrote:
janost wrote:
The real reason for the CV/Gate outputs is that I intend to release a matching modular synth board.

Mate the two and you have a playable portable modular synth in your pockets.


Sounds cool! Is the modular board going to use the VCDM chip?


Yes, it could use the VCDM.

But it still needs LFO and ENV.
SoundPool
forgive my ignorance on how the programming end of this works but... I have a qu-nexus and sequencer I use already for keyboard type solutions, but I would be interested in this as an voltage source to have outside of my case for situations like transposition/offset of modules where I don't want to waste all the other capabilities of my keyboards. So is it possible to make basic code alterations if one wants to so that the different pads could just output reference voltages? I suppose this would also mean one could make the keyboard microtonal if they wanted too.
janost
SoundPool wrote:
forgive my ignorance on how the programming end of this works but... I have a qu-nexus and sequencer I use already for keyboard type solutions, but I would be interested in this as an voltage source to have outside of my case for situations like transposition/offset of modules where I don't want to waste all the other capabilities of my keyboards. So is it possible to make basic code alterations if one wants to so that the different pads could just output reference voltages? I suppose this would also mean one could make the keyboard microtonal if they wanted too.


With the source code and a ISP you can change the code to perform anyway you like.
janost
Will be available for order on Thursday Dec 1st.

http://www.synthtopia.com/content/2016/11/28/new-diy-touch-synthesizer -the-tiny-ts/

https://ask.audio/articles/this-diy-touch-synthesizer-tiny-ts-fits-in- your-wallet

http://www.factmag.com/2016/11/29/tiny-ts-synth-credit-card-sized/

https://www.gearnews.de/dsp-synthesizers-the-tiny-ts-diy-touch-synthes izer-in-kreditkartengroesse/

https://www.bonedo.de/artikel/einzelansicht/tiny-ts-neuer-diy-synthesi zer-im-kreditkartenformat.html

http://janostman.wordpress.com

http://www.dspsynth.eu
janost
As it looks now there is a risk that the first series will be sold out before sunday.

And it's not even released yet.

But there is another chance here:

http://igg.me/at/TinyTS
janost
There is a presale of 30pcs of the beta edition tomorrow 10:15 CET at http://janostman.wordpress.com

This is because I need beta testing before market on this one.

If you want one for christmas, this is your only chance.

seriously, i just don't get it
janost
All 30 sold out in half an hour. smile

The only place to order now is through the Indiegogo campaign:

http://igg.me/at/TinyTS
jensu
Did you manage to shoot some video before you sent them out?
janost
jensu wrote:
Did you manage to shoot some video before you sent them out?


Video is coming this weekend.
CeeJay
janost wrote:
This is because I need beta testing before market on this one.


Have you actually built and tested one of these by yourself?
You already marketed it and selling it. And now you need beta testers?
Shouldn't you have tested it before the big announcement?

Same happend to the revolutionary 3HP Zero drum module. Big announcement and then - nothing!
https://www.muffwiggler.com/forum/viewtopic.php?t=166287&highlight=
jensu
CeeJay wrote:
janost wrote:
This is because I need beta testing before market on this one.



You already marketed it and selling it. And now you need beta testers?


I hope the people who bought the first run was made aware that they were paying to beta test.
unclewoody
I keep seeing that these are "fully open-sourced" - where can we find those files? I'm curious to see how the capacitive touch was implemented.
BugBrand
Without jumping to conclusions on this particular project, Jan continues to move in strange ways. I wonder if I should have spoken up before because it certainly seemed from the outset that Jan was designing this in front of our eyes and jumping straight to release - only changing to calling it beta at the very last moment.

Witness the continued appearance of people receiving shoddy product, lack of documentation and/or communication. [Dig a bit if you need examples, but a recent one on the Zero Bassline]. Short sited business continually pushing for new customers while leaving a trail of miffed people.
CeeJay
janost wrote:
jensu wrote:
Did you manage to shoot some video before you sent them out?


Video is coming this weekend.


Any news on this? Have not even seen a picture of a built unit.
whoop_john
BugBrand wrote:
Without jumping to conclusions on this particular project, Jan continues to move in strange ways. I wonder if I should have spoken up before because it certainly seemed from the outset that Jan was designing this in front of our eyes and jumping straight to release - only changing to calling it beta at the very last moment.

Witness the continued appearance of people receiving shoddy product, lack of documentation and/or communication. [Dig a bit if you need examples, but a recent one on the Zero Bassline]. Short sited business continually pushing for new customers while leaving a trail of miffed people.


Oh fuck, I just bought some chips off this guy. No comms at all, but I suppose I'll get something, sometime. Maybe?
basicbasic
Dude seems to have a knack for undermining himself in a small, reputation based community like this. Slow down with the R&D for a bit and focus on some QA and customer relations FFS
BugBrand
whoop_john wrote:
BugBrand wrote:
Without jumping to conclusions on this particular project, Jan continues to move in strange ways. I wonder if I should have spoken up before because it certainly seemed from the outset that Jan was designing this in front of our eyes and jumping straight to release - only changing to calling it beta at the very last moment.

Witness the continued appearance of people receiving shoddy product, lack of documentation and/or communication. [Dig a bit if you need examples, but a recent one on the Zero Bassline]. Short sited business continually pushing for new customers while leaving a trail of miffed people.


Oh fuck, I just bought some chips off this guy. No comms at all, but I suppose I'll get something, sometime. Maybe?


I was not implying that - many people have ordered & received chips (myself included). I don't recall receiving any communication after order, but that is not exactly abnormal - the package just turned up a week or two later. However there have been cases where people emailing requests (order checking or technical etc) have not been replied to - leading to certain aired frustrations.
euromorcego
whoop_john wrote:

Oh fuck, I just bought some chips off this guy. No comms at all, but I suppose I'll get something, sometime. Maybe?

don't worry, the chips are usually ok (lofi, for sure, but ok and cheerful). And usually they show up eventually (I ordered a few and they all arrived).

The issues are with anything that involves a pcb. Janost doesn't have an eurorack system and doesn't seem to bother testing before selling, and he is busy putting out an erratic mess of ill-conceived modules whose "design" takes the term "cutting corners" to new heights. Add to that some volatile and unreliable communication, often also rapidly oscillating between euphoria and despair, and you get the picture (as aptly displayed in numerous threads).

I think people who want to buy should do a bit of research and then decide themselves (as I said, the chips are ok). What I am more worried about is when other places, such as sonicstate, report on these "announcements" without further comment or research. Readers there have no possibility to put things into context.
Starspawn
Yeah, Ive gotten all I ordered as well.
All had a couple A4 pages with instructions.
And they do work. The 6XEnvelope is usefull, K5 had a bit more noise than I liked, but was interesting enough, still got the "modular" IC to wire up ... I mean, it depends what you expect.
There was collaboration starting on several of the ICs to make them modular, but well, maybe not the best attitude.
There does seem to be a lack of insight, and Ill echo the others who think its to bad its come to this.
Theres certainly some good ideas.
m0d
CeeJay wrote:
janost wrote:
jensu wrote:
Did you manage to shoot some video before you sent them out?


Video is coming this weekend.


Any news on this? Have not even seen a picture of a built unit.


I'm not sure if he had a chance to make a video since the first 30 sold out so fast (in an hour?). After that was the beta release comment and I haven't heard anything about it since then.
m0d
euromorcego wrote:
Janost doesn't have an eurorack system

eek!

euromorcego wrote:
and doesn't seem to bother testing before selling

Testing is a stretch. In the case of this Tiny board, it sounds like he was taking orders and promised a ship date before he actually possessed the first run of PCBs.
jensu
m0d wrote:

Testing is a stretch. In the case of this Tiny board, it sounds like he was taking orders and promised a ship date before he actually possessed the first run of PCBs.


W44 people just paid 2230$ on indygogo for the thing, without a video or even a picture of the board existing.
Tiny-TS indygogo campaign.
janost
m0d wrote:

Testing is a stretch. In the case of this Tiny board, it sounds like he was taking orders and promised a ship date before he actually possessed the first run of PCBs.


Yes you are right.
The chinese messed up my first order of the Tiny-TS PCB's so I couldn't deliver at the 1st Dec.

But I got that fixed so here is the real thing:






poladark
It looks great! Really crazy idea (in a good way). I hope it turns out well.
TitoCas
a socket for the IC for reprogramming it?
TheSlowGrowth
Not necessary. The firmware is bug-free and feature complete by definition!
SoundPool
TheSlowGrowth wrote:
Not necessary. The firmware is bug-free and feature complete by definition!


I hope this is sarcasm? I know people have already put this out there and I'm saying this in hopes of offering suggestions for improvement/encouragement rather than just ganging up... but this is exactly the type of oversight everyone is complaining about over and over again that just doesn't get fixed. A socket is necessary for plenty of reasons. Why bother making the thing open source if you don't want the IC to be reprogrammable? What is the quality of the IC and chance you could get one with a bad write to it - are they each tested in a socketed board before shipping? How heat resistant is it? Chances are plenty of people might pick this up as their first kit- if they have never soldered a resistor in their life and struggle or accidentally heat those pins for too long are they going to fry it and have no idea what they did wrong? Or if they struggle to do it correctly in the first place what are the chances they can successfully de-solder 28 pins to replace it? What if I walk around in my dry apartment on a rug for half an hour and reach for this and zap the ground pin with static? There are also exposed power routings- what if someone doesn't think and puts this down on a metal table with the battery hooked up, or accidentally bridges the + and - power picking it up with their hands? I'm half drunk and jamming at 3am and accidentally send a 10v gate from my Beatstep to the CV out- will it survive? If not, can I fix it? Or we can save 2 cents and five minutes by assuming everything will work properly 100% of the time - and if it doesn't well then we have another nice piece of electronics trash that will probably not be recycled properly.
janost
SoundPool wrote:
TheSlowGrowth wrote:
Not necessary. The firmware is bug-free and feature complete by definition!


I hope this is sarcasm? I know people have already put this out there and I'm saying this in hopes of offering suggestions for improvement/encouragement rather than just ganging up... but this is exactly the type of oversight everyone is complaining about over and over again that just doesn't get fixed. A socket is necessary for plenty of reasons. Why bother making the thing open source if you don't want the IC to be reprogrammable? What is the quality of the IC and chance you could get one with a bad write to it - are they each tested in a socketed board before shipping? How heat resistant is it? Chances are plenty of people might pick this up as their first kit- if they have never soldered a resistor in their life and struggle or accidentally heat those pins for too long are they going to fry it and have no idea what they did wrong? Or if they struggle to do it correctly in the first place what are the chances they can successfully de-solder 28 pins to replace it? What if I walk around in my dry apartment on a rug for half an hour and reach for this and zap the ground pin with static? There are also exposed power routings- what if someone doesn't think and puts this down on a metal table with the battery hooked up, or accidentally bridges the + and - power picking it up with their hands? I'm half drunk and jamming at 3am and accidentally send a 10v gate from my Beatstep to the CV out- will it survive? If not, can I fix it? Or we can save 2 cents and five minutes by assuming everything will work properly 100% of the time - and if it doesn't well then we have another nice piece of electronics trash that will probably not be recycled properly.


What are you talking about?
There is a socket in the kit.

Just because there wasn't one in the picture?
Of coarse it needs to be reprogrammable.

If you look at the building instructions here:
https://janostman.wordpress.com/the-tiny-ts-diy-touch-synthesizer/
you'll see that there is a socket.

Why would you put it on a metal table?
SoundPool
If there is one then I apologize. But yes if you post a photo of the kit with everything minus that one part then yes, some people, myself included, will probably think there might not be one.

As for the metal table thing if you have to ask that I think you are missing my point.
janost
SoundPool wrote:
If there is one then I apologize. But yes if you post a photo of the kit with everything minus that one part then yes, some people, myself included, will probably think there might not be one.

As for the metal table thing if you have to ask that I think you are missing my point.


I think most people will box it.

And if not the Business card sequencer has the very same problem.

It is after all DIY.
m0d
SoundPool wrote:
As for the metal table thing if you have to ask that I think you are missing my point.


Speaking of the business card sequencer thread...
https://www.muffwiggler.com/forum/viewtopic.php?p=2406139#2406139
janost wrote:
What if someone accidently puts it on a metal table with the power connected?

That's the kind of stupid questions I get. d'oh!
janost
unclewoody wrote:
I keep seeing that these are "fully open-sourced" - where can we find those files? I'm curious to see how the capacitive touch was implemented.


Quote:


//---------- Capacitive Touch sensing -----------------------------

uint8_t capsensePORTD(uint8_t mask) {
PORTD = 0; //Ground the PCB surface
DDRD = 0xFF;
asm("nop");
cli();
DDRD &= ~(mask); //Turn selected pin to input
PORTD |= mask; //With pullup
uint8_t cycles = 0;
if (PIND & mask) { cycles = 0;}
else if (PIND & mask) { cycles = 1;}
else if (PIND & mask) { cycles = 2;}
else if (PIND & mask) { cycles = 3;}
else if (PIND & mask) { cycles = 4;}
else if (PIND & mask) { cycles = 5;}
else if (PIND & mask) { cycles = 6;}
else if (PIND & mask) { cycles = 7;}
else if (PIND & mask) { cycles = 8;}
else if (PIND & mask) { cycles = 9;}
else if (PIND & mask) { cycles = 10;}
else if (PIND & mask) { cycles = 11;}
else if (PIND & mask) { cycles = 12;}
else if (PIND & mask) { cycles = 13;}
else if (PIND & mask) { cycles = 14;}
else if (PIND & mask) { cycles = 15;}
else if (PIND & mask) { cycles = 16;}
sei();
PORTD = 0; //Ground the PCB surface
return cycles; //Return measured cycles
}

uint8_t capsensePORTB(uint8_t mask) {
if ((mask&2)||(mask&8)||(mask&32)) return 0; //Dont measure our Audio and CV pins
PORTB = 0; //Ground the PCB surface
DDRB = 0xFF;
asm("nop");
cli();
DDRB &= ~(mask); //Turn selected pin to input
PORTB |= mask; //With pullup
uint8_t cycles = 0;
if (PINB & mask) { cycles = 0;}
else if (PINB & mask) { cycles = 1;}
else if (PINB & mask) { cycles = 2;}
else if (PINB & mask) { cycles = 3;}
else if (PINB & mask) { cycles = 4;}
else if (PINB & mask) { cycles = 5;}
else if (PINB & mask) { cycles = 6;}
else if (PINB & mask) { cycles = 7;}
else if (PINB & mask) { cycles = 8;}
else if (PINB & mask) { cycles = 9;}
else if (PINB & mask) { cycles = 10;}
else if (PINB & mask) { cycles = 11;}
else if (PINB & mask) { cycles = 12;}
else if (PINB & mask) { cycles = 13;}
else if (PINB & mask) { cycles = 14;}
else if (PINB & mask) { cycles = 15;}
else if (PINB & mask) { cycles = 16;}
sei();
PORTB = 0; //Ground the PCB surface
return cycles; //Return measured cycles
}

//-----------------------------------------------------------------

m0d
(Edit: I missed the clear/set interrupt calls and should have written the first line as "isn't cycles always going to be 0?" I didn't mean to offend janost or anyone working on that code. More info in subsequent posts.)

cycles is always going to be 0 for a few reasons:
If (PIND & mask) is true, then you set it to 0 again immediately after doing it when it is declared, and all else statements will be ignored.
If (PIND & mask) is false, none of the conditionals will ever evaluate as true because they are all the same, therefore it will remain 0 as declared.
There are optimization issues, but they are less of a concern.

janost wrote:

uint8_t cycles = 0;
if (PIND & mask) { cycles = 0;}
else if (PIND & mask) { cycles = 1;}
else if (PIND & mask) { cycles = 2;}
else if (PIND & mask) { cycles = 3;}
else if (PIND & mask) { cycles = 4;}
else if (PIND & mask) { cycles = 5;}
else if (PIND & mask) { cycles = 6;}
else if (PIND & mask) { cycles = 7;}
else if (PIND & mask) { cycles = 8;}
else if (PIND & mask) { cycles = 9;}
else if (PIND & mask) { cycles = 10;}
else if (PIND & mask) { cycles = 11;}
else if (PIND & mask) { cycles = 12;}
else if (PIND & mask) { cycles = 13;}
else if (PIND & mask) { cycles = 14;}
else if (PIND & mask) { cycles = 15;}
else if (PIND & mask) { cycles = 16;}

....

uint8_t cycles = 0;
if (PINB & mask) { cycles = 0;}
else if (PINB & mask) { cycles = 1;}
else if (PINB & mask) { cycles = 2;}
else if (PINB & mask) { cycles = 3;}
else if (PINB & mask) { cycles = 4;}
else if (PINB & mask) { cycles = 5;}
else if (PINB & mask) { cycles = 6;}
else if (PINB & mask) { cycles = 7;}
else if (PINB & mask) { cycles = 8;}
else if (PINB & mask) { cycles = 9;}
else if (PINB & mask) { cycles = 10;}
else if (PINB & mask) { cycles = 11;}
else if (PINB & mask) { cycles = 12;}
else if (PINB & mask) { cycles = 13;}
else if (PINB & mask) { cycles = 14;}
else if (PINB & mask) { cycles = 15;}
else if (PINB & mask) { cycles = 16;}
janost
m0d wrote:
cycles is always going to be 0 for a few reasons:
If (PIND & mask) is true, then you set it to 0 again immediately after doing it when it is declared, and all else statements will be ignored.
If (PIND & mask) is false, none of the conditionals will ever evaluate as true because they are all the same, therefore it will remain 0 as declared.
There are optimization issues, but they are less of a concern.

janost wrote:

uint8_t cycles = 0;
if (PIND & mask) { cycles = 0;}
else if (PIND & mask) { cycles = 1;}
else if (PIND & mask) { cycles = 2;}
else if (PIND & mask) { cycles = 3;}
else if (PIND & mask) { cycles = 4;}
else if (PIND & mask) { cycles = 5;}
else if (PIND & mask) { cycles = 6;}
else if (PIND & mask) { cycles = 7;}
else if (PIND & mask) { cycles = 8;}
else if (PIND & mask) { cycles = 9;}
else if (PIND & mask) { cycles = 10;}
else if (PIND & mask) { cycles = 11;}
else if (PIND & mask) { cycles = 12;}
else if (PIND & mask) { cycles = 13;}
else if (PIND & mask) { cycles = 14;}
else if (PIND & mask) { cycles = 15;}
else if (PIND & mask) { cycles = 16;}

....

uint8_t cycles = 0;
if (PINB & mask) { cycles = 0;}
else if (PINB & mask) { cycles = 1;}
else if (PINB & mask) { cycles = 2;}
else if (PINB & mask) { cycles = 3;}
else if (PINB & mask) { cycles = 4;}
else if (PINB & mask) { cycles = 5;}
else if (PINB & mask) { cycles = 6;}
else if (PINB & mask) { cycles = 7;}
else if (PINB & mask) { cycles = 8;}
else if (PINB & mask) { cycles = 9;}
else if (PINB & mask) { cycles = 10;}
else if (PINB & mask) { cycles = 11;}
else if (PINB & mask) { cycles = 12;}
else if (PINB & mask) { cycles = 13;}
else if (PINB & mask) { cycles = 14;}
else if (PINB & mask) { cycles = 15;}
else if (PINB & mask) { cycles = 16;}


Your are wrong.

It works and the compiler does not optimize it.

If you are going to trash the code officially it it used in the open-sourced Ardutouch.

Then trash that aswell.

Admit that you plain dont know what is happening and how it works?
flts
janost wrote:
Your are wrong.

It works and the compiler does not optimize it.

If you are going to trash the code officially it it used in the open-sourced Ardutouch.

Then trash that aswell.

Admit that you plain dont know what is happening and how it works?


With all due respect, when someone points a perceived error, it isn't necessarily an attack on you or "trashing" the quality of your code. That someone may have simply thought to point out an actual bug, when with more careful examination, there isn't actually one.

If you don't specifically want a conflict, the right way would be to actually explain that someone why it works as is. It isn't supposed to be a competition of who's right and who's wrong, the person who pointed out the issue may just need some more information as it isn't obvious why the method works.

So, for example, explanation:

"The code that you refer to is based on the same method the open source ArduTouch project uses to measure capacitance. You can see the relevant part of source code and helpful comments at https://github.com/maltman23/ArduTouch/blob/master/Arduino/DuoPoly/Sys tem.cpp

As you can see, the code does work - it is a timing critical loop that has been manually unrolled because a single check will take less cycles that way and the measurement will be more sensitive. Interrupts are disabled during the operation as well. So the idea is to measure how long it takes for the pin to get pulled up - as the value of PIND may change during the unrolled loop, cycles will not always be 0."
janost
janost
flts wrote:
janost wrote:
Your are wrong.

It works and the compiler does not optimize it.

If you are going to trash the code officially it it used in the open-sourced Ardutouch.

Then trash that aswell.

Admit that you plain dont know what is happening and how it works?


With all due respect, when someone points a perceived error, it isn't necessarily an attack on you or "trashing" the quality of your code. That someone may have simply thought to point out an actual bug, when with more careful examination, there isn't actually one.

If you don't specifically want a conflict, the right way would be to actually explain that someone why it works as is. It isn't supposed to be a competition of who's right and who's wrong, the person who pointed out the issue may just need some more information as it isn't obvious why the method works.

So, for example, explanation:

"The code that you refer to is based on the same method the open source ArduTouch project uses to measure capacitance. You can see the relevant part of source code and helpful comments at https://github.com/maltman23/ArduTouch/blob/master/Arduino/DuoPoly/Sys tem.cpp

As you can see, the code does work - it is a timing critical loop that has been manually unrolled because a single check will take less cycles that way and the measurement will be more sensitive. Interrupts are disabled during the operation as well. So the idea is to measure how long it takes for the pin to get pulled up - as the value of PIND may change during the unrolled loop, cycles will not always be 0."


Thanks.

But he specifically wanted me to look bad.
Thats the reason for the response.
flts
janost wrote:
But he specifically wanted me to look bad.
Thats the reason for the response.


I guess it helps a lot if you can keep it cool and try to assume people aren't picking on you, especially when you are selling a commercial product and replying to someone about it in a public forum. It usually doesn't give a very good impression on potential customers and peers if you get mad at someone trying to find problems in your work, whether he's right or not.

Even if someone would want you to look bad, you'll only look worse if you get mad and get back at him. The best way IMHO is just to give a clear and informative reply showing why that someone was wrong.

However, I didn't intend to give a moral or PR lesson, not the best one at that and people are free to do what they will. Just wanted to point out that for someone without a context, it isn't obvious at all why that code does work in the first place, but there's a clear / easy explanation available that saves a lot of hassle.
m0d
janost wrote:

Thanks.

But he specifically wanted me to look bad.
Thats the reason for the response.


Janost, I apologize for the miscommunication on my end. I thought I phrased the first line as a question. I didn't feel well enough to read/edit what I wrote (or think due to an ocular headache) so I removed most of it before I posted it. I assumed I'd be corrected.

I actually spent a lot of time on that because I know I had to be missing something obvious – on the surface it looked like a simple logic bug (which didn't make sense because it would have already been caught when written or testing).

Apologies to janost, and thank you flts for this info. I completely understand what it going on now. In hindsight, this reminds me of some timing-critical low level game controller code from a very long time ago, almost a quarter of a century. The explanation below describes the exact same situation. flts, your comment made me smile. I miss having opportunities to work like that on some level and is part of the reason microcontrollers reignited my interest in coding.
flts wrote:
As you can see, the code does work - it is a timing critical loop that has been manually unrolled because a single check will take less cycles that way and the measurement will be more sensitive. Interrupts are disabled during the operation as well. So the idea is to measure how long it takes for the pin to get pulled up - as the value of PIND may change during the unrolled loop, cycles will not always be 0."
janost
m0d wrote:
janost wrote:

Thanks.

But he specifically wanted me to look bad.
Thats the reason for the response.


Janost, I apologize for the miscommunication on my end. I thought I phrased the first line as a question. I didn't feel well enough to read/edit what I wrote (or think due to an ocular headache) so I removed most of it before I posted it. I assumed I'd be corrected.

I actually spent a lot of time on that because I know I had to be missing something obvious – on the surface it looked like a simple logic bug (which didn't make sense because it would have already been caught when written or testing).

Apologies to janost, and thank you flts for this info. I completely understand what it going on now. In hindsight, this reminds me of some timing-critical low level game controller code from a very long time ago, almost a quarter of a century. It was the exact same situation.
flts wrote:
As you can see, the code does work - it is a timing critical loop that has been manually unrolled because a single check will take less cycles that way and the measurement will be more sensitive. Interrupts are disabled during the operation as well. So the idea is to measure how long it takes for the pin to get pulled up - as the value of PIND may change during the unrolled loop, cycles will not always be 0."


It's ok.
I jump to much sometimes to.

What it does is the following:
To begin with the circuit board has a special layout that enables it to be used as a moving capacitiv sensor (yes, you can drag your finger or do vibratos).

First it starts with all sensor plates grounded.
This discharges the capacitance in the PCB.

Then it makes the measured sensor an input with pullup eanabled.
This forms a capacitor between the measured key and the rest of the board.

Together the pullup and the capacitance form an RC time constant.
With a finger on the measured sensor the capacitance will be higher and without lower so the time constant will change.

The unrolled loop just measures the time returning the cycles.

If the cycles returned are higher than a threshold a finger (or capacitive stylus) is assumed to be over the sensor.
unclewoody
You can also avoid these issues by sharing and putting attribution to your code - especially since the original is under the Creative Commons Attribution-ShareAlike license.
janost
The Tiny-TS should have been built with surface mount components for a true credit card look.

But then it would not have been DIY.

Perhaps the next one.
2 octaves?

The crowdfunding has been funded and I was only able to get 30 of these out for christmas. The rest is shipping in February.

So if anyone is interested for some holiday fun, let me know and I'll release some more for holiday fun?
janost
unclewoody wrote:
You can also avoid these issues by sharing and putting attribution to your code - especially since the original is under the Creative Commons Attribution-ShareAlike license.


I just showed that code because he asked.

My intention is to use assembler for the capsense part.

It is too unstable coded in C.
Behaves like a WASP.
poladark
janost wrote:
2 octaves?

Or an optionally eurorackable stacked 2 octave version, 18HP in width? grin

Would one of those capacitive touch screen styluses you can use for ipads etc work for triggering the keys btw?
janost
poladark wrote:
janost wrote:
2 octaves?

Or an optionally eurorackable stacked 2 octave version, 18HP in width? grin

Would one of those capacitive touch screen styluses you can use for ipads etc work for triggering the keys btw?


Yes, they do work.
janost
SoundPool wrote:
TheSlowGrowth wrote:
Not necessary. The firmware is bug-free and feature complete by definition!


I hope this is sarcasm? I know people have already put this out there and I'm saying this in hopes of offering suggestions for improvement/encouragement rather than just ganging up... but this is exactly the type of oversight everyone is complaining about over and over again that just doesn't get fixed. A socket is necessary for plenty of reasons. Why bother making the thing open source if you don't want the IC to be reprogrammable? What is the quality of the IC and chance you could get one with a bad write to it - are they each tested in a socketed board before shipping? How heat resistant is it? Chances are plenty of people might pick this up as their first kit- if they have never soldered a resistor in their life and struggle or accidentally heat those pins for too long are they going to fry it and have no idea what they did wrong? Or if they struggle to do it correctly in the first place what are the chances they can successfully de-solder 28 pins to replace it? What if I walk around in my dry apartment on a rug for half an hour and reach for this and zap the ground pin with static? There are also exposed power routings- what if someone doesn't think and puts this down on a metal table with the battery hooked up, or accidentally bridges the + and - power picking it up with their hands? I'm half drunk and jamming at 3am and accidentally send a 10v gate from my Beatstep to the CV out- will it survive? If not, can I fix it? Or we can save 2 cents and five minutes by assuming everything will work properly 100% of the time - and if it doesn't well then we have another nice piece of electronics trash that will probably not be recycled properly.


Here is how I did mine.

janost
Starspawn
Looks like it works nicely.
m0d
That's very cool!
janost
For those of you interested in how it works the code is now posted.
masterofstuff124
the code huzzah!

but no boards available till february. sadness.

nanners
janost
masterofstuff124 wrote:
the code huzzah!

but no boards available till february. sadness.

nanners


Never mind.

Tried any all the ways I could to put a link in for the PCB but it does seem to work.
mongrol
Badly needs wooden sidecheeks.
janost


masterofstuff124
im unable to get the code available here https://gist.github.com/anonymous/b7b61b557dbb0983089a0736844be008#fil e-tinyts_v1-0-ino

to open in arduino. seems like an ino file so not sure what the issue is.

i get this error

"Arduino can only open its own sketches and other files ending in .ino or .pde"
janost
masterofstuff124 wrote:
im unable to get the code available here https://gist.github.com/anonymous/b7b61b557dbb0983089a0736844be008#fil e-tinyts_v1-0-ino

to open in arduino. seems like an ino file so not sure what the issue is.

i get this error

"Arduino can only open its own sketches and other files ending in .ino or .pde"


Click on the "Raw" link.
Copy and paste it into Notepad.
Save as an .INO file.

Did you know the touch keyboard is playable straight on the chip pins? smile
janost
You can get a PCB here:

The Tiny-TS PCB $20
daynehacks
Well you have blown me away. After all the speculation from some others this seems to be pretty great.

Nice work!
jensu
Anyone received and tried this yet?
BugBrand
History repeats itself.
Similar wonderings on the 808 thread.
He ran two funding campaigns alongside this MW TinyTS thread - Indiegogo and Kickstarter.
If you paid through Paypal you should probably consider a report/claim before time runs out..

Given this is well documented repeating behaviour, I feel the community needs to call out if he tries further projects.
jensu
BugBrand wrote:
History repeats itself.
Similar wonderings on the 808 thread.
He ran two funding campaigns alongside this MW TinyTS thread - Indiegogo and Kickstarter.
If you paid through Paypal you should probably consider a report/claim before time runs out..

Given this is well documented repeating behaviour, I feel the community needs to call out if he tries further projects.


I didn't back the project, but is interested in whether it lives up to the description. And whether the cv/gate out is stable and usable.

But yeah, it's alot of people not getting their stuff.
lombrose
Don't buy from this guy, once you paid he will ignore you, I bought from october, still nothing and he does not respond anything
flts
It seriously sounds like Jan needs to bring someone along to handle support and commercial side of the things. Maybe selling a number of finished products / kits through distributors, or simply having someone else on board to work on keeping up an online shop and customer service - and planning with the designer at which point the designs are mature enough (ie. verified to be working and in stock) that it's actually a good idea to accept money from customers.

No matter what the quality of the product is, or whether it's a one man cottage industry or a bigger business, it sounds like level of customer support and actually delivering the people who paid (or at very least keeping them on track about any delays) has failed in way way more than a couple of isolated cases during the past months. And that's not acceptable.

Naturally having a (part time) employee handling that side of things costs money and adds to overhead. Then again, there have been more than one or two examples of overpromising and underdelivering with too little communication even in these circles before, that it should be pretty clear to everyone selling things at this point that either you keep your promises and have at least some level of customer support and quality control, or you soon get bad reputation, few to no customers and financial issues with frustrated people wanting their money back. Which I guess would be worse option than getting someone to handle the business side and handing part of the income to him/her...
lombrose
He do not provide track number or date from post, And I asked for it several times, I would not care to pay more if the tracking is more expensive, he just not answer, he just ignore customers. I my opinion he is at least not honest. The last email I sent him today I asked if he would like to deal with somebody like him.
flts
It kind of seems he wouldn't really care much about customer facing stuff at all, just designing / programming digital sound chips and getting them out in some form alongside basic PCBs to use them. Which is kind of unfortunate when one is actually selling something and not just putting designs freely out there.

Most "customer support" replies I've seen so far have been on the lines of "you bought just a DIY PCB, do you expect support on top of that?" and "well there were delays with manufacturing, just wait a bit more" - and even that kind of "support" comes after someone calls him out on the public.

I don't want to seem like I'm picking on anyone but really, once you have advertised something and received someone's money, the least one can do is to at least give an update on status of the product in a reasonable time when requested, and be nice to the customer even if you can't deliver right now for reasons beyond your control (of course, some planning goes a long way, don't sell what you don't have in hand and/or haven't completely tested in actual environment yet)

Which is exactly why it sounds like he needs to hire someone to at least reply every paying customer personally with "I'm terribly sorry, but there's been a problem, you can either wait until new batch comes in a month or get a refund", "we're out of stock right now, you might want to wait a few weeks until we get more boards and panels" or "your package was shipped on this and this date, if you haven't received it yet wait a week more as postal service is slow / we'll send you a new package ASAP".

And perhaps, after that, to work on just a tiny bit of productisation so that the boards that are designed around his ICs would be well thought out, tested and steadily available, and the specifications / features would be more clearly laid out.

I know Jan often feels he's being singled out and picked on, but it seems to me most of the critique I've seen is either about nonexistent customer support and not delivering on promises - or suggestions on how to make the PCB designs more in line with what people expect from a DIY board they're paying actual money for these days. I'd really like him to be successful, but I don't know if it'll happen / last unless there's eventually someone to handle the "business side" for him.
flts
As it stands, as there's really zero communication and no delivery and this isn't obviously just a single isolated problem, I concur with mr. BugBrand - it's probably a good idea at the moment to file a claim with PayPal unless you want to risk waiting for undefined amount of time for the order to _maybe_ arrive.
erstlaub
The sad thing is that he's pretty much been behaving the same way for years which has earned him bans from Electro Music (scamming or some other questionable behaviour if I recall) and MI's forum (ridiculous assholery). Then there are the times that he's essentially farted out a half cocked 'module' marketed as eurorack (because there are idiots with money that haven't come across him before there) based on a vague idea on eurorack standards etc, being rude and obnoxious to people that have given him money and only ever responding to support things when publicly called out on it.

I always find it strange that places like synthtopia regurgitate his press releases and funding campaigns without recalling all the pissed off, ripped off and disappointed people with bits of crappy 3d printed plastic and absolute barest minimum effort circuits.
flts
erstlaub wrote:
The sad thing is that he's pretty much been behaving the same way for years which has earned him bans from Electro Music (scamming) and MI's forum (ridiculous assholery). Then there are the times that he's essentially farted out a half cocked 'module' marketed as eurorack (because there are idiots with money that haven't come across him before there) based on a vague idea on eurorack standards etc, being rude and obnoxious to people that have given him money and only ever responding to support things when publicly called out on it.


Oh dear, that does sound bad - I didn't know about the ban on EM. I remember a pointless debate about aliasing on MI forums (pointless as after some point of going round and round Olivier provided actual proof and simulations, and after that I couldn't see a counterargument that wasn't just repeating the same thing) and before that Jan trying to be pretty competitive and snarky with Olivier like "huh my synth is better than yours" with pretty much no substance for his claims.

I only recall he hasn't been very nice recently when someone is arguing with him or has called him out for nonexistent support, and now the past months of overall promising but not delivering (both overall product quality and actually shipping what has been bought), but if his history is like that (ie. actually scamming and not just being difficult and promising more than he can deliver in time) I guess people should be very careful of dealing with him.

I'm kind of sorry to have opened my mouth about this in the first place as I usually don't want to get involved with lynch mobs or public outrage, but it just seems his business is getting unacceptable by now.

Quote:
I always find it strange that places like synthtopia regurgitate his press releases and funding campaigns without recalling all the pissed off, ripped off and disappointed people with bits of crappy 3d printed plastic and absolute barest minimum effort circuits.


FWIW I suppose sites like Synthtopia work so that if people send them a press release / note and they think it's interesting, they publish it with not much background detective work. Not that the editors or owners would be oblivious to things going around in the synth biz, they don't seem to have a clear "grassroots" visibility on goings-on at the forums and communities.
Zymos
Kind of uncool to call his victims "idiots with money"...
erstlaub
I missed out quote marks there, sorry. I was commenting on his apparent business model and the way he seems to think about victims/customers rather than me thinking that about folks that have been ripped off. His shiny innovative devices definitely look apealling at first until you see the trail of disdain, usually long after writing off the investment while waiting for support.

You notice how he tapped into posting in the euro forum after being rumbled for being difficult in BST then back onto posting more in DIY. Perhaps these things will eventually turn up when he resurfaces with more new things to sell once the kickstarter/indiegogo/muffs money runs out.

I really feel for everyone thats got burned by him and it saddens me to see it's happened so much, particularly on here.
Zymos
Oh, gotcha.
I posted in the other thread- Error Instruments is selling a module of his now. I don't feel like he is worthy of support, but at least people buying his stuff through a retailer probably will not get burned.
brian.hainsworth
I emailed Jan yesterday asking if these had shipped yet, and got a reply this morning. Jan said the current batch is being shipped out this week.


I paid for mine about a month ago and this was the first email back that I've got. So not the best at replying which I think has been established and I suppose thats ok, but at least they look like they are on their way.

I will try to remember to post again when it arrives, but that said I am in New Zealand so that could be a while HAH! I got a bit nervous when I saw this thread yesterday, so lets hope it all pans out ok smile
janost
A week after I launched the Tiny-TS I got really sick.
I have spent christmas in hospital for cancer treatment.
For a while it was really bad.

Most of the people that ordered my modules have been refunded.

I don't intend to do the same with the Tiny-TS.
They have started to ship from last week.

I'm very sorry about this but my life comes first.

/Jan
daynehacks
Hopefully my orders from you will ship some time! I'm waiting it out still.
masterofstuff124
got my board! w00t

no bom? the schematic is inaccurate. three of the capacitors have a + sign so i assume all three are electrolytic and 10uf. 2/3 of those caps have the wrong silk screened part. then 2 100nfs and the rest 1k? plus 100k for the potentiometers. I think thats right?

and a 78l05
brian.hainsworth
My pcb arrived a couple days ago. Haven't had a chance to build it yet though. Maybe in a couple weeks. Pretty excited!![/img]
magneticstripper
Anybody got this thing working with a burn it yourself chip? i got the .ino to compile, bumped out a hex from the arduino ide. then uploaded it using atmel studio (so the fuse bits could be changed). it only reacts on 3 middle keys, and, those make high pitched digital noise sounds. anybody seen this before?
masterofstuff124
yah i have a similar issue. I suspect the fuses are wrong.
magneticstripper
"/Set Fuses to E2 DF FF for Internal 16MHz Clock" hmmm....... internal 16mhz clock, is that a real thing? (Edit: see latter post for proper Fuse settings. the internal clock is set to 8mhz, then bumped up to 16 in the code)
magneticstripper
(EDIT) yep, fuses were wrong. i have it up and running

(i used Ext: 0xFF High: 0xDF low: 0xE2)

except F (pin9) is stuck on. (EDIT) i fixed this by changing 3 to 4 in:
uint8_t capsensebase = 3; //Set capacitive touch sensitivity
dead3t3rn1ty
did anyone build it?

On mine I can't get the capacitive keyboard to work properly: I need to place 2 fingers on different keys and the notes out do not follow the keyboard intonation.

Am I the only one? did I messed up my PCB?

I'm not expecting much support, just want to hear how many other people had a similar issue.
Rocket_Salad
I started reading this thread because I want to include a capacitive keyboard in my newest design.

After reading all the comments, replies etc I am amazed people still entertain this guy. I started building synths last year, and have actually managed to sell a couple. Even I know the importance behind putting the hours in ito design and rigorous testing; not to mention customer support! I mean, this is a tiny (pun intended) community - why do people still buy product from him?

And his asshole-ish (at best) comments? What a joke.
euromorcego
Rocket_Salad wrote:
[...] I mean, this is a tiny (pun intended) community - why do people still buy product from him?
[...]

i guess that is because like sonicstate.com still advertise the products without any thought and qualification:

http://www.sonicstate.com/news/2017/04/05/mini-ts-2-octave-touch-synth -announced/
http://www.sonicstate.com/news/2017/09/13/the-breadboard-ts-a-synth-bu ilders-dream/

And, no, the latter is not a synth builders dream. It is a few lofi chips and a breadboard for a whopping $199. [and if anyone wants to actually learn about building small circuits, better look here: http://www.bastl-instruments.com/omsynth-assembly/]

And sites like modular addict continue to sell his "eurorack" pcbs:
https://modularaddict.com/manufacturer/dspsynth

Now, janost is a clever guy, and some of the drum chips are nice (even though less useful than what a bleepdrum has to offer, all open source), but most of his modules are fundamentally questionable. I guess not many people read forums and he found his business model.
mongrol
People, myself included, see the product from him and buy it before we find out about his past. Just to point out that I backed his TinyTS kickstarter and never got anything. He basically stole my money.

It's very weird since he clearly enjoys designing and building these things. Clearly has some mental issues.
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 6
Powered by phpBB © phpBB Group