Introducing The SynthDIY Database

Here’s a site I’ve been working on.

For a long time I’ve wanted to make DIY synthesizer projects more discoverable. First I tried to make a “wiki” to catalog them, but writing pages by hand was a ridiculous amount of effort and would never have scaled to the amount of circuits that are out there. From trying that, I learned something more structured is needed, so I started working on this site with the focus of making it very little effort to add modules and making it searchable.

There are tons of awesome DIY synthesizer module schematics, gerbers, stripboard layouts and other resources out there, but they are scattered all around the internet in people’s blogs, videos, Git forges, forums etc. The SynthDIY Database intends to index all of them into a simple catalogue where you can search for links to modules based on what you’re looking for.

For example, if your preferred method of building is on stripboard, you could search for modules that have a stripboard layout available, or if you’re more into ordering PCBs and you’re building a Kosmo modular, you could search for modules that have a gerber available in the Kosmo format.

It’s still a work in progress: Every module in the universe still hasn’t been catalogged, there are some tags that are missing and the only recognized formats are Eurorack and Kosmo.

Any feedback would be greatly appreciated! Also if anyone wants to lend a hand catalogging modules, get in touch.

10 Likes

Thanks, this is interesting.

My first reaction is that the All Modules page is kind of useless: The modules are listed in no discernible order; there’s no description or picture or any information other than the module name and the source; and the layout is two lines (rather than one) of text for each module too widely spaced to be able to see more than 8 entries at a time.

I think you will need more tags. For module types, ModularGrid uses these: mgtypes (Dropbox). Again, the Tags page presents these in no obvious order, which makes it not very useful.

At https://synthdiydatabase.org/search:

  • Any search that doesn’t turn up any results doesn’t present any message to that effect so it seems like the search function doesn’t work.
  • It seems strange that you can’t select a Resource format if Resource type is Any, but you can for any Resource type that isn’t Any.
  • Again, dropdown selections are in apparently random order making it hard to find the selection of interest.
  • Under Resource type I would either replace or add to the jargon-ish “Gerber” an entry for “PCB layout”.
  • I find some results hard to understand; for instance, if Resource type is Schematic or Stripboard layout and Resource format is Eurorack or Kosmo, you get no results.

A warning: It’s clear there is a lot of work to be done. For instance, only one Mutable Instruments module is listed! And only one MFOS. (The Weird Sound Generator, which is a standalone noisemaker, not a module, but whatever.) And so on. To be really useful, a vast number of designs need to be added. And as the evidently moribund Kosmo Modules Wiki project shows, there’s no guarantee the huge effort is going to result in something people actually use. (Especially if they go there now, find it lacking, and dismiss it.)

One final thought: The usefulness of such a database I think depends on careful thought about what is presented and how. If it’s just a listing of every DIY project in the world, is that useful? I think that’s questionable — if you have a list of 179 different VCO schematics, but no way of distinguishing how well-designed or well-presented or up to date they are, it’s a real slog trying to make use of that information. But those are subjective points, hard to define, hard to obtain, and harder to maintain.

Added: Also, think about link rot. Once you have a massive list of links, you have a massive maintenance task. If a substantial percentage of the links go bad, people won’t want to use it. One piece of this is there needs to be a convenient way for users to report bad links, like a button on every module page.

3 Likes

Very cool, I’ll definitely want to help out on that when i can! I probably have a bunch of .md for personal use i’ll want to enter as data on there.

It’s the nature of those things to get spurts of activity and not too many contributors! But it’s not like is has no value when its database is already showing all the important entries.

4 Likes

Thank you for your feedback!

My first reaction is that the All Modules page is kind of useless: The modules are listed in no discernible order; there’s no description or picture or any information other than the module name and the source

The modules are ordered by the time they were added to the database, showing the newest stuff first. I shall change the page title to “Latest Modules” to reflect that.

There is no description or picture, because the database currently does not hold that information. I’ve been thinking about adding a description field, but I’m not yet sure if it would be worth the extra effort in adding modules. Showing the modules’ tags in the listing would probably make it a little clearer to see what they do at a glance. Would it make sense to also show the available resources in the list?

I think you will need more tags.

Yes I do. For now I’ve been adding them as I’ve been catalogging modules, based on what tags seem necessary for the modules I’m adding. Coming up with good tags is a big challenge for me. I don’t want them to be too specific, because a tag that only applies to one or 2 modules isn’t very useful, but I don’t want them to be so general that they apply to hundreds of modules and don’t bring much to the table (like “effect” or “signal source”) and I don’t want there to be too much overlap so one module doesn’t end up with 20 tags.

Any search that doesn’t turn up any results doesn’t present any message to that effect so it seems like the search function doesn’t work.

Thanks for bringing this up, I’ll add a “X results found” message to fix that.

  • It seems strange that you can’t select a Resource format if Resource type is Any, but you can for any Resource type that isn’t Any.
  • I find some results hard to understand; for instance, if Resource type is Schematic or Stripboard layout and Resource format is Eurorack or Kosmo, you get no results.

The idea behind this is that resource formats aren’t relevant for schematics, since a schematic is just a representation of a circuit, which you could build in any form factor. Of the current resource types the format is really only relevant for PCB files and panel templates. Technically any resource can have a format assigned to it though, so I haven’t done anything to prevent one from being added to any resource.

Probably I should make it so the resource format selector stays grayed-out for all resource types that formats aren’t relevant to. Or maybe even a more drastic change would make sense here, like moving the format from being an attribute of a resource to being an attribute of the module itself?

  • Under Resource type I would either replace or add to the jargon-ish “Gerber” an entry for “PCB layout”.

Thanks, I’ll make that change. I personally only build on stripboard and perfboard so I don’t have a great grasp on what is relevant for people who like to build on PCBs. Do you think it would be useful to have separate resource types for the PCB source files and the “gerber” files that you send to a manufacturer?

  • Again, dropdown selections are in apparently random order making it hard to find the selection of interest.

That’s right, they’re just in whatever order they have been added to the code. I’ll alphabetize them.

It’s clear there is a lot of work to be done. For instance, only one Mutable Instruments module is listed! And only one MFOS. (The Weird Sound Generator, which is a standalone noisemaker, not a module, but whatever.) And so on. To be really useful, a vast number of designs need to be added.

That’s right. Most of the time I’ve spent on this so far has went into coding, and only recently I’ve got it to the point where it works well enough that I’ve been able to spend more time on actually adding modules. Now I’ve got through all of Moritz Klein’s, Rene Schmitz’s, Benjie Jiao’s and my own modules and added a bunch of kinda random ones. The WSG is the only MFOS module in the database, because I added it as the parent of your Weirdness module. Also some makers have got accounts and added their own modules, which is nice.

The usefulness of such a database I think depends on careful thought about what is presented and how. If it’s just a listing of every DIY project in the world, is that useful? I think that’s questionable — if you have a list of 179 different VCO schematics, but no way of distinguishing how well-designed or well-presented or up to date they are, it’s a real slog trying to make use of that information. But those are subjective points, hard to define, hard to obtain, and harder to maintain.

The main selling points are the resource types, tags and search. If I want to build a sequencer on stripboard, I can find that in the database. I agree that it would be great to have some effective way of distinguishing what is good and what is not. My current requirements for adding a module to the database are that it needs to have been built by the author at some point and work, and I add little notes to the resources if I notice some obvious design issue. User ratings would be nice, but that would require a lot of users to be useful, which I don’t have.

2 Likes

Knowing what exists and having it in a central location is more useful than curation, honestly. There are a ton of interesting designs locked away in the vaults of modwiggler / electro-music / sdiy mailing lists / long-defunct blogs on the wayback machine – designs that search engines could never possibly find.

4 Likes

That’s… not true. Any Kosmo schematic should work for Eurorack, and most Eurorack schematics should work for Kosmo, but not all: Any schematic that uses +5 V or CV or gate from a 16 pin power header isn’t technically buildable without modification in Kosmo, since Kosmo specifies only 10 pin power headers. Once you get past Eurorack/Kosmo, other formats may use different power supply voltages or different signal conventions, potentially requiring changes to component values, at least, to be built in a different format.

Also, stripboard or protoboard layouts are not generally format-agnostic; besides reflecting a schematic with the above considerations, there is size — a Kosmo layout may be too large for Eurorack.

4 Likes

What a fun, complicated, and interesting project to keep one busy for a long time if one wanted!

1 Like

Any Kosmo schematic should work for Eurorack, and most Eurorack schematics should work for Kosmo, but not all: Any schematic that uses +5 V or CV or gate from a 16 pin power header isn’t technically buildable without modification in Kosmo, since Kosmo specifies only 10 pin power headers. Once you get past Eurorack/Kosmo, other formats may use different power supply voltages or different signal conventions, potentially requiring changes to component values, at least, to be built in a different format.

Yes you are right. Another example in favor of your point is Subject 44B. While the circuit is electronically 100% Eurorack compatible, you can’t physically fit a furby in an Eurorack module. (Without modifications anyways, I may or may not be working on an improved Eurorack version of that…) Circuits are not format agnostic, but specifying formats for circuit diagrams in the database is not really practical. As you mentioned, many formats have overlapping electrical specifications and like 80-90% of circuits will work perfectly in Eurorack, Kosmo, or a ±15V system, but adding support for having multiple formats per resource, and adding however many formats that are out there to nearly every single schematic would be a ton of work for very little benefit to someone who’s browsing the database for something to build.

Also, stripboard or protoboard layouts are not generally format-agnostic; besides reflecting a schematic with the above considerations, there is size — a Kosmo layout may be too large for Eurorack.

Also true and something I have thought about a little. The stripboard layouts of my 5equencer, and Kassutronics’ Avalance VCO for example are pretty Eurorack-specific, although you could put them behind a Kosmo panel. But then there are layouts like Eddy Bergman’s, most of which could be put behind a panel of pretty much any size since all the front panel components are connected with wires so you can use whatever connectors you want and space them out however you want.

Moving the format from being a property of a single resource to being a property of a module seems like it could be a good solution to all this though. Then you could search for Eurorack schematics and only end up with modules that are in the Eurorack format and have a schematic available without maintainers needing to manually tag schematics with formats. I’ll give some more thought to whether or not doing this change would have any downsides. Surely there must be some reason (which I have forgotten) why I put them on the resources in the first place…

Maybe decouple the format from the circuit tagging. :3

Tag the circuit, and tag the module. Different objects.

1 Like

Another thing that’s just occurred to me: A lot of this functionality already is sort of available, on ModularGrid: You can go for instance to Eurorack DIY oscillators and get a list of DIY Eurorack oscillators. It doesn’t generally show you what’s stripboard vs protoboard vs PCB, and other resource types, and of course ModularGrid doesn’t have Kosmo, and the entries are skewed toward commercially available kits and PCBs although scratch builds can be uploaded too (but rarely are). But there’s a lot of it there. (And it gives a sense of just how massive this database would need to be for it to be comprehensive.)

1 Like

Yes, to be useful this would be a lot of work, and you would need to consider things modularly. Not sure what backend is being used here but templates could be used to save time for a lot of the 80-90% the same schematics.

I’m not doin the project so I’m not saying someone should do it one way or another ofc. This is all just suggestions if it’s not been considered.

Sure would keep ya busy tho. :slight_smile:

Obligatory:

4 Likes

I’ve tried looking on ModularGrid, but a big chunk of the stuff that is considered “diy” by them, is commercial “solder by numbers” PCB kits that don’t have schematics or anything available. One user on Moritz Klein’s discord group used a crawler to try to find modules on modulargrid that would be relevant for the database and found around 350 modules. Going through that list and adding them to the database is on my to-do list.

A driving principle of the database is for it to be easy to add new modules, and currently it takes me around 1 minute per module, so while filling it will be a lot of work, I do feel it is feasible. At least a lot more feasible than my last attempt.

Personally, what I am missing is not a database. I can easily find modules, layouts and whatnot by searching Google and just following the links around. I am missing some sort of vouching system of people saying “I built this and works!” or “only works if you tweak a, b, c” or “this is a really bad design / incorrect-faulty PCB”. This is why this forum is a hit for me. I can come here and engage with the people who design the stuff, confident that if something goes wrong is probably my fault and not that I used a crap/wrong/faulty schematic/layout/PCB in my build. And that’s what separates designs like those of, say, Ray Wilson from the random schematic on the web. It’s not that Wilson’s are necessarily better. It’s just that they have been tried and tested by many people and make you confident that you are not going to waste your time and money. Putting a bunch of (okay, thousands) designs in database without a system to separate the wheat from the chaff, is going to be a waste of your time. I think.

Just my two cents!

By the way, if you have time to spend, I’d encourage you to keep putting stuff in your own website. I found some very useful stuff there, like your tracing of Doepfer A-199, which is exactly what I was looking for for something I am working on!

1 Like

Good point. Really what you’re going for here is not a database of modules but of module designs. Or at least modules for which the design is available.

Even if you’re doing “solder by numbers” this is important. Back when I was getting started in synth DIY and building Eurorack kits and PCB/panels, it didn’t take me long to figure out I didn’t want to bother with any that didn’t come with schematics — it’s just too hard to troubleshoot if you don’t have them. Unfortunately ModularGrid doesn’t tell you which ones have schematics available.

2 Likes

Really what you’re going for here is not a database of modules but of module designs. Or at least modules for which the design is available.

Yes exactly! I need to change the introduction on the front page to make this clear.

1 Like

Putting a bunch of (okay, thousands) designs in database without a system to separate the wheat from the chaff, is going to be a waste of your time.

I don’t intend to put absolutely anything in the database. I still haven’t written down an exact specification of what requirements need to be filled for a design to be included in the database, which I now see should be a high priority. Most (actually all, I think) modules in the database have a blog post, video or git repository containing documentation about them. There is no intention of including “unverified” stuff, everything should have been actually built and confirmed to work by the creators.

I am missing some sort of vouching system of people saying “I built this and works!” or “only works if you tweak a, b, c” or “this is a really bad design / incorrect-faulty PCB”.

I agree that something like a comment section, or ratings would be great and others have also suggested this feature before. But for it to be useful, the database would need to have a large base of users leaving ratings. Getting people to sign up is hard, and I do not have the resources to moderate a large user-base anyways so at least for now this sadly doesn’t seem feasible.

There is currently an optional “note” field on resources, where editors can include notes about the circuits. Here’s an example of a module with a note. Of course this isn’t perfect because there are few editors (at this point I’m the only one who’s not just adding their own modules), but it is a tool that is there.

By the way, if you have time to spend, I’d encourage you to keep putting stuff in your own website. I found some very useful stuff there

Thanks! This is off-topic, but I have a few module designs done that I need to share. A filter, an LFO and a bass drum. I’m working on videos about the filter and the drum, but my ADD is making those progress rather slowly. The LFO I should just write a post about on my website.

, like your tracing of Doepfer A-199

That one was a fun project. I’d love to reverse-engineer some other interesting modules, but I don’t have the money to buy stuff just to trace it. If anyone reading this wants to borrow me modules to trace, hit me up.:wink:

I’ve just done some changes on the frontend based on the feedback here.

  • The title of the modules page has been changed from “All Modules” to “Latest Modules”.
  • The search page now shows the amount of results found when you do a search.
  • Creators, tags and resource types are now sorted alphabetically in the search parameters.
  • The creators on the creators page are now sorted alphabetically.
  • Tags are now sorted to 2 categories: “Function” and “Component”
  • Gerber has been renamed to “PCB layout”
  • Modules are now sorted alphabetically in search results and creator pages.

Big thanks to everyone for their feedback! :heart:

Now I’m working on moving the “format” from being an attribute of individual resources to being an attribute of the module itself to make the search less confusing. After this, you can select the search options “Resource format = Eurorack” and “Resource type = Schematic” and you will get results including all the designs that have been tagged as Eurorack and have a schematic available, like for example the MiniBurst.

However this brings up the question of what modules to apply the Eurorack format to.
For example the EDU DIY VCO is an Eurorack module that you can buy, but the only public DIY resource it has is it’s schematic, which uses ±12V power, takes 1V/oct CV and outputs a 10Vpp signal, so as a DIYer using the database to find circuits to build, you could use that schematic to build a module in Eurorack, Kosmo, tin can, or whatever other formats are out there that use those electrical specs.

So does it make sense to categorize the EDU DIY VCO as “Eurorack” in the database or not?

As mentioned above, there needs to be a convenient way for users to report bad links. Yes, you can click on Sandelinos, and from there on Contact, and fill in the form. But that’s enough effort and indirection to discourage link rot reports. Maybe something like this:

  • “Report bad link” button on each module page
  • Clicking the button brings up a form saying “Do you want to report this link as bad?”, with an optional field to type in a better link, and “Yes”/“No” buttons
  • Clicking “Yes” sends the message

There also should be a contact link on every page. The Contact link on the Sandelinos page presumably works, but why have that level of indirection?

Not quite a bad link but I think it could be better: The CGS Burst Generator link is given as https://web.archive.org/web/20171020033706/http://www.cgs.synth.net/modules/burst_generator.html. I’d suggest instead using https://sdiy.info/wiki/CGS_burst_generator. For one thing it’s a lot faster than the Wayback Machine.

A “Report broken link” button has now been added to module pages. (Just a mailto: with pre-filled subject and body for now, maybe something more robust will be needed in the future.)

Not quite a bad link but I think it could be better: The CGS Burst Generator link is given as https://web.archive.org/web/20171020033706/http://www.cgs.synth.net/modules/burst_generator.html. I’d suggest instead using https://sdiy.info/wiki/CGS_burst_generator. For one thing it’s a lot faster than the Wayback Machine.

When adding that I figured it would be better to point to the original author rather than a third party. I’m not too familiar with Ken Stone’s stuff or the relationship between him and sdiy.info. If you think sdiy.info is a reliable source, I can change it to that and also use it for other Ken Stone modules as I add them.

1 Like