Arduino “Make Your Uno” Synth

As soon as I saw the Arduino “Make Your Uno” kit with the Synth Shield I wanted to get one and have a go.  Unfortunately it wasn’t available in the UK straight away and postage from overseas was pretty high on an already pretty high price, so I waited.  But as soon as I saw that Pimoroni were now stocking them, that was my cue!

This is the first in a series of posts where I take a look at it and see how hackable it is and which, if any, of my own projects can be bent to work on the kit!

Note, as this kit is aimed at beginners, I’ll be trying to keep my projects nearer to the beginner level on my blog too.

Disclaimer: I bought my kit as a regular user, paying the (somewhat steep) £66 (plus postage) to get it from Pimoroni.

Also be warned: I am fairly critical in this first post, as I document what I think are some of the short-comings in the kit itself.  But overall I’m a fan and as I move on to other projects, hopefully that will start to come out more!

As I add future projects, I’ll list them here and use it as an index.

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

These are the key Arduino tutorials for the main concepts used in this project:

If you are new to Arduino, see the Getting Started pages.

Parts list

  • Arduino “Make Your Uno” Kit
  • Optional: Extended pin headers – highly recommended (see below)

Building the Kit

IMG_6713

I basically followed the provided tutorials, which you can find here: https://makeyouruno.arduino.cc/

However there are a couple of things worth noting before you start (that aren’t mentioned).

  1. If you want to build the synth and put it in the box, then DON’T break out the different circuit boards from their carrier boards!  And you need to be careful that you don’t break them accidentally whist putting the thing together too.
  2. If you want to do anything more than just use the provided board “as is”, you’ll need some way to access the spare IO pins on the Arduino.  The easiest way is to use extended pin headers rather than the normal ones provided, but you can only do that if you think about it before soldering the provided headers on.  More on that below.

So, I built my Arduino and then the Synth Shield, following the provided instructions, but just using extended headers on the synth shield as shown in the photos below.

Building the Arduino Uno

IMG_6714IMG_6715

I personally wasn’t too fussed about the two “extra” boards (apparently for soldering practise), so I’ve just left those in for now.

IMG_6719

Building the Synth Shield

IMG_6724

Originally I planned to replace the provided pin headers with extended pin header sockets as used on other shields and as shown in the photo above, but there was a problem with that idea.  As you can see in the photo below, there are no solder pads on the underside of the board, so I had to have a change of plan…

IMG_6725

I dug out some extended pin headers as shown below and split them up into Arduino Uno Shield compatible chunks (a 10-way, two 8-way, and a 6-way) and adjusted the plastic part to mid-way as shown below.  The easiest way to do this was to move them part way and then actually insert them into the Arduino Uno itself to get the exact spacing just right and even.

IMG_6726IMG_6727

So this has given me access to the spare GPIO pins, but this is a very “non standard” way to do that on Arduino shields.  Still better than having no access at all.

IMG_6728

So what do I think?

First of all, let me say I really like this kit.  But I was very predisposed to like it even before receiving it.  A solder-yourself-Arduino?  With a synth shield?  With example tones and Mozzi code?  Sign me up!!

But actually there are a number of gripes that I have with the board that have taken the edge off it for me.  Nothing serious (well maybe one, but I’ll get to that in a moment), but more what I considered missed opportunities and a few annoyances that put a dent in the fun of building the board for me.

But now it’s built, I don’t think any of them will put a dent in the fun of using the board.

Value for Money

So the big one.  The price.  If you are looking for a synth shield and an Uno, this is pretty steep in my view.  When you think you can get a production, official Uno for around £25 (and clones for sub £10) and the shield is just six pots, a chip amp and speaker, and a few passives… £66 is a lot to pay.

HOWEVER.

To me (remember, I was talking myself into this anyway), I think you have to look at this not as a single thing to buy, but a combination of the following:

  • It is a fun learn-to-solder kit with some very fancily crafted 3D instructions and decent quality components.
  • It is an Arduino Uno.
  • It is a Synth add-on shield.
  • It is part compensation for the huge array of free tools, libraries and general knowledge that supports the Arduino ecosystem.

And in my case I can also consider it a suitable offset for all the cheap clones I use in my projects.  Lets face it, without official sponsorship, there is no way I could do a 12-Arduino Nano tone project unless I use cheap clone boards.  So this is a simple and fun way for me, personally, to put something back into the Arduino ecosystem in addition to things like free donations when downloading the code (which I do) or buying other official boards (which I also do).

So if you are looking for just one of the above, this might not be good value for you.  In fact if you want to learn to solder, I’d recommend buying a sub £10 soldering kit or two first, before you try to build an Arduino Uno.  The Uno isn’t hard in my view, but if this is your first kit and you get it wrong, that is £66 worth of kit you’re now struggling to be able to use…

But if you’re happy that the value is spread over all of the above then I think this is a reasonable purchase. It is, when all said and done, good fun.

My biggest gripe really is that for £66 it should have come with a programming cable.  Without it, it is just a fancy blue and white ornament…

Instructions and Guides

So, on to the detailed critique.  As I said there were a number of annoyances during the build that I found myself getting disappointed about.  You may or may not agree, but I’m logging them here in case this is useful for anyone considering creating a similar kit in the future.

The instructions are very flash, and arguably a highlight of the kit, leading the reader through each stage bit by bit.

However, I had a couple of issues here as a non-beginner:

  • There is no alternative that I could easily find to the 3D viewer. I guess I could have grabbed the schematic and worked off the board markings (I’ll come back to these), but given all the effort gone into the online instructions it was a shame there wasn’t a “see it all in a summary” type view.  I have an older laptop in my workshop (although it is still a Windows 10 laptop) and it really struggled with the 3D renders.  In fact, after a few steps, they started just showing up shadowed, having lost all their colour, making them somewhat useless to me.  So I was mostly just running off the descriptions instead anyway.
  • As already mentioned, there were a few “before you start” things that might have been worth pointing out.
  • It was almost possible to just work off the board silkscreen markings – some components were labelled by value (e.g. the resistors) but some weren’t (the capacitors).  Some had detail (e.g. the speaker wires), many didn’t.  It was just a little inconsistent I thought and again cut off an avenue of information which was a shame.  Ideally, I’d have liked a quick way to check the values of the components in some kind of summary or just off the board itself.  But yes, I should probably have just worked off the schematic I guess.
  • I might have missed it, but I don’t recall much by way of board-checks before just turning it on?  I have a range of things I always do – like check for obvious shorts between power/ground; verify by eye that everything has been soldered, etc; check for continuity between power lines and the chips, etc.  But I don’t recall seeing anything specific.  The first thing under “Testing your Uno” for example, is “connect it to your computer”… so I guess you’d better hope your soldering was correct!  Maybe use a USB hub eh?  Just in case? 🙂  And as for this final test… err… I don’t quite know how to say this… but if you’ve uploaded a sketch, blinked some LEDS and checked all the GPIO pins and then find that you don’t have power, I’d love to know what the troubleshooting guide recommends you do next..

“Now that we made sure all GPIO pins (A0-A5, D0-D13) are working, we can also make sure that our power supply is working correctly!”

The Kit of Parts

The kit of parts was very complete, great quality, and came with useful spares too.

So here is my critique of the provided parts.

  • The Uno “kit bag” included the parts for the two practice boards too and an odd spare too, which confused me to start with.  Especially as there was also an envelope labelled spare parts which had some more of the same parts again.
  • Because of the above, the resistors, for example, were grouped per kit, not per value.  This meant that (as I didn’t bother with the practice kit) I was squinting to see if the resistors at one end were different to those at the other.  Actually it turns out the left most three (for the practice kit) are the same values as the main Uno’s resistors (which incidentally also included a spare 1K resistor here too – so there were seven in the pack not five, with six grouped together and one separate).

Resistors

  • Ok – wow that tape!  Great idea to tape the components leads down, but that has to be the stickiest tape I’ve ever encountered on components!  At several points I thought I was going to pull a lead out of a capacitor before it pulled lose from the tape (I’m not exaggerating – I really did peel the tape off before pulling the components out as they weren’t budging)!
  • And as I said above, I think not coming with a programming USB-C cable was an oversight in my view.

The PCBs

The boards look great.  Distinctive Arduino colours and really nicely finished.  My comments:

  • I personally found the solder pads quite small and in many cases unnecessarily so.  I’ve done a lot of soldering, but I was often finding it more difficult than it should have been to get the iron just right to get the solder on the pad and wire.  That oval shape means there is very little pad in one dimension and whilst it looks neat, I thought that could have been much easier with circular pads throughout.
  • It would make a lot of sense to have labelled the pots on the synth shield.  They are linked to A0 to A4 but in an odd order (top to bottom, not left to right) and one is a volume pot, so not programmable at all.  So there is no reason not to have this on the silkscreen I’d say, especially when you consider that some of the pads of the USB-C comms module are labelled on the underside of the board.  I don’t see why you’d need that?
  • I would also have liked to have seen the GPIO labels on the synth shield PCB just to make future messing around easier.
  • I’m really not sure about the solder practice PCB.  That could have been something functional too – a real missed opportunity there in my view.  I hope to come back to mine and see if I can hack it into something useful 🙂

The Functionality

So onto the functionality of the kit itself.  The Uno is a full Arduino Uno, so that is great and does everything you’d expect of an Uno.

The biggest limitation with the Synth Shield is that it doesn’t give you any access to the spare IO pins.  As already mentioned, my plan to solve this was simple – I’ll just use extended headers, like many other shields do, which allows me to jumper wire to spare IO pins.  But there are no solder pads on the reverse of the board for the headers!  So I had to use pin headers which is less than ideal, but at least it is doable.

I get that not having solder pads on certain components to maybe help a beginner get the components on the right side of the board is a positive (I’ve seen this mentioned as a good design decision elsewhere in reviews), but as a key advantage of the Arduino ecosystem is hackability, on the IO pins, I’d say this is a limitation.

Other options I considered were:

  • Use some kind of sandwiched-in-between extender board to break out the additional IO pins.
  • Use the synth board with a clone Arduino that breaks out things like I2C and UART into extra pins.
  • Use a protoboard shield in-between to provide access to the IO lines.

In the end I went with extended pin headers as mentioned above, so I’ll get onto some ideas for what to do with that in future posts.  But obviously that isn’t much help if you’ve already built your board or only have what came with the kit.

I’m not sure what AUDIO IN is there for.  The implication is that, Arduino being what it is, this would allow some neat future way to get something into the board to do something code-wise with?  No.  From what I can see this just feeds directly into the input side of the amplifier, so I’m not quite sure what the point of that is really.  It isn’t mentioned in any of the tutorials that I can see. It might have been more useful to rig it up to A5 as an external control voltage input?

Finally, although having six potentiometers all the same makes the build simpler, the audio volume control really ought to have been a logarithmic pot to make for a good volume control.  Being a linear pot means the sensitivity isn’t that great beyond about a third of a turn.

The Code

So, the provided sketches.

As far as I can see they are just some existing sketches grabbed off the project areas with nothing specific about the Make Your Uno Synth in them at all.  Given all the effort on fancy hardware tutorials, surely this kit deserves a couple of proper demo sketches with comments and guides about what the code is actually doing?

The first sketch for the synth shield for example is a pretty fun four-step tone sequencer.  So far so good.

But if you look at the code – it has LEDs!?  I was reading the code and before actually receiving and making my board was trying to work out where the LEDs were?  Once I had the “oh yeah” moment of realising they are meant to be added to GPIO pins 4-7, it made a little more sense.  Until I picked up on the irony of the hardware not giving you any access to D4-D7…

But a beginner faced with the following, might rightfully be somewhat confused.  The comments even still include the typos!

Make Your Uno - Synth Sketch

It also doesn’t help that the tempo pot, if turned all the way down, seems to just play a single note which is confusing when you first try to work out what is going on – there is nothing in the tutorial (again that I can see) that actually says what the example code is going to do.  And someone really should have renumbered the order of the pots to match the board, which has them ordered A0, A2, A1, A3, A4.

I also think a more beginner friendly sketch would use discrete tones rather than raw frequencies.  As you can hear in the demo, most of the noises don’t sound great as it is hard to get a good harmonic relationship between the steps.  Using actual notes would perhaps give a more friendly, useful, first result.  It would certainly be a lot more “playable” as a first musical thing.

The Mozzi sketch, whilst a great idea – introduce users to actual digital synthesis – again is just suggesting how to hack one of the original Mozzi examples to sort of make it work?  It only uses A0, A1, A2, but if you were only going to use three pots, given the layout of the board, using A1, A3, A4 makes a lot more sense.  Again a real opportunity missed in my view, but I’ve already made one of my own Mozzi sketches that should support the synth shield, so more on that later.

So I think this should have started simpler, with more emphasis on the learning aspects of the code and board itself.  Starting with a simple tone maybe, then controlling it with a single pot – that kind of thing.

But maybe this could come in time, but I thought after all the great potential and hard work on the hardware tutorial side, this seemed like a bit of a throwaway part of the kit.

Anyway, I plan to do some of this myself now I’ve got my board up and running, so watch this space.

Closing Thoughts

Despite the above – let me repeat – I love this board!  I just wanted it to be flawless for new users so that they could love making music with an Arduino too.  I hope there is a V2 that can address some of these points.  And this board really deserves some nice tutorial sketches to get new users, who have taken the plunge with this kit, into Arduino music!

Anyway, now I’ve got this critique out of the way, I’m going to be spending a bit of time showing how anyone who has got this far can do a lot more than the suggested sketches.  Hopefully it will just be fun and noises from this point on 🙂

Watch this space!

Kevin

One thought on “Arduino “Make Your Uno” Synth

  1. Thanks for sharing this information and the projects you created for this kit. I wish I had seen it before I started soldering. I have ordered the Adafruit proto-shield to allow access to the unused GPIO. I totally agree that Arduino made excellent assembly instructions but “dropped the ball” on helping new users learn how to use it. You really filled in that gap! Kind Regards – Lori (@Lorisrobots)

    Like

Leave a comment