I've been reflecting on this a bit. I found it very useful to have a well-defined project and focus the learning time on things that are necessary for completing it. Having a background in coding was useful because I find you end up developing a knack for isolating parts of systems and figuring out how to work on small parts that end up fitting together.
I therefore focused initially on simply getting readings from a single potentiometer; if I could do that then I felt pretty confident I could read from four of them. If I could generate a midi message I was pretty confident I could send it to something that could read it etc.
When I started on the PCB design I had a simple circuit already so it was a case of translating that onto a board.
I didn't get too deep into any of the various parts but I found that it gave me a birds-eye view of the whole process and I now feel confident in isolating parts of them and 'zooming in' to them and refining them, building on the foundation I've developed.
Thanks for all the kind words and feedback. There are some comments expressing interest in supporting a Kickstarter etc. If you're interested in receiving updates you can leave your email here:
If I may submit an extremely pedantic music nerd bug report: at 46s in the video demo (https://www.youtube.com/watch?v=qboig3a0YS0&t=46s), the display should read Bb instead of A#, as the key of C minor is written with flats :)
(The precise rule is that a diatonic scale must use each letter name for exactly one note, e.g. you can't have both G and G# in the same key, and you can't skip B. This has many important properties that make music easier to read and reason about, such as allowing written music to specify "all the E's, A's, and B's are flat" once at the start of the piece instead of having to clutter the page with redundant sharps or flats everywhere.)
If only the users contributing chord charts to sites like Ultimate Guitar understood this; the number of times I've seen this wrong is astounding. For example, a progression like I-iii-IV in the key of E major will be written as E-Abmin-A but ought to be E-G#min-A for the reason you stated: pratically it's confusing, theoretically it's wrong, and there's simply no upside at all.
Using exclusively sharps (or flats, but that's not so common) is for piano technicians, frequency-to-note calculators, and similar utilitarian situations that aren't in a diatonic context.
Aside: this is also an easy way to explain double sharps and double flats. If you stumble upon one, and decide to see what would happen if you eliminate it in favor of an enharmonic equivalent (i.e., a natural), you'd end up with a scale that uses some letter twice and also skips a letter. The double sharp/flat achieves the use of each letter exactly once. A bit cumbersome on most instruments (keyed instruments especially), but it does make for easier sight reading (vocals especially) when stepwise movement uses each line/space of the staff, rather than skipping.
Regarding flats and sharps: one could ignore the Pythagorean stuff and go full well-tempered dodecaphonic, thinking purely in terms of semitones in the intervals. This toy sort of nudges towards this. It would be fun to add 12 small LEDs along the faders, and show the number of semitones with them, relative to the previous fader's position.
On one hand, the fact that the same sound can be named A# and Bb may be puzzling for a kid (they could differ on a violin, I suppose); OTOH if the kid later learns formal music notation, this becomes helpful, so your comment holds.
> On one hand, the fact that the same sound can be named A# and Bb may be puzzling for a kid
I think that, given the toy is (currently) diatonic, and doesn't really have any ability to visualize the chromatic scale (like a piano keyboard does), using the formally correct note names is more intuitive. That way, only the accidentals change when you change modes ("when I change it to C minor, the B becomes a Bb"). This naturally teaches a simple and correct mental model: "the slider chooses a letter and pushing the orange knob makes letters flat or sharp".
If you only ever use sharps instead of sticking to the correct notation, then the notes change inconsistently between different keys ("changing from C major to C minor turns the B into an A#, but changing from C# major to C# minor changes the F into an E"). This is incomprehensible unless you've already memorized the piano keyboard layout.
The OP's choice of restricting to the diatonic scale seems sensible to me -- it helps the kid learn the vocabulary of Western music (if that's your goal!) and it benefits the parents as well by making it hard to create something that sounds bad.
I'm pretty sure that NobodyNada knows this, but for pedants out there using Bb instead of A# is specifically a classical European music notation thing.
There's nothing wrong with using A# and plenty of other notations do. For a modern, hacker-y example, tracker notation only uses sharps).
That's one of the coolest parts of HN! This post was posted five days ago and went totally unnoticed by the community, probably, even OP has forgotten about it. Thankfully, HN had what is called Second Chance (https://news.ycombinator.com/item?id=26998308) and since this post is a masterclass in building a physical product, the mods decided to bring it back by featuring it on the front page, where it finally got the attention it deserved. A true masterpiece indeed!
One thing I haven't seen in the comments so far is any comment about the knobs and sliders. The young kids I know take perverse delight in pulling off knobs and throwing them. Make sure that they are glued down!
If you ever did this as a larger Kickstarter type project, I wonder if it'd be possible to get stepped faders so you could physically click-click-click-click through each semitone.
This is a cool idea, but you can switch between major, minor, chromatic and pentatonic scales so the interval between notes changes depending on how many there are so having fixed clicks wouldn't work in that case.
Before you have that working you'll have 3D printed a containerload of these ;)
Besides the lack of flexibility if you want to make changes. I've used soft tooling for some projects but I was (1) never really happy with the results and (2) ended up breaking the molds quite often resulting in a lot of wasted material and expense. 3D printing is the way to go for projects such as these.
This crosses such a rare line of being something that both children and adults would love to have around to play with. Even though I know you didn’t build it to be a product.
Do you have $800? I'm trying to get my daughter a full set of acoustic drums (though odds are her brother will use them more even though he plays clarinet and she does percussion). I've seen full sets for as little as $30 - but it doesn't take much checking to realize they are not worth it even at that price. Good sets quickly cost more, but $800 is a good starting point for a set that isn't unusable.
Keeping in mind that you can’t buy a new Stradivarius…
Maybe try Facebook Marketplace, Craigslist, etc. because drum sets take up space quality drum sets and other large instruments are often priced where moving the gear is part of the payment.