the wondrous tales of a software guy in hardwareland

The Making Of monotrino, Part 4

Wow, that was a looong pause. I deserted my project and this blog for 2 months, but I’m finally back!

Not, however, in the best of moods :-/

You may think that I lost the initial kinetic energy thrust. Or that I lost interest in DIY, or that I lost my faith in St. Arduino. No, the reality is much, much more squallid than this. I simply lost my tools :-)

Namely, my monotron and my multimeter suddenly disappeared. My fault partially, I left them in my son’s room: he likes playing the monotron from time to time and we were testing the charge of some battery. Well, apparently my wife tidied up and they just went MIA. Of course she denied repeatedly ever having seen them, and also my son didn’t have the faintest idea. After a few weeks spent searching for them everywhere, I had to conclude that my lovely wife, not knowing what the boxes were for, disposed of them in the garbage can.

You can imagine how happy I was about the whole situation. Well, it’s not enough: imagine me happier. So, after some more weeks of eating my heart out, I was determined to hit the music shop and shell out 40€ for a new monotron. And start over from square one, more or less.

And suddenly, last week, up on the highest shelf of the tallest wardrobe we have, inside the box of some old toy that my kid doesn’t use since years, there I found them. I suppose this is my wife’s way of telling how much she dislikes my hobby.

Which brings us to the first hard-earned life lesson for today:

Don’t mix family life and Arduino.

Especially if your lovely wife is not a fan of electronics. Keep your stuff in a closet of which you only have the key. And put motion sensor activated spike traps before the closet, just for good measure.

En passant, I also definitely gave up trying to involve my son in Arduino things. He just doesn’t seem to be interested at the moment. So, the “Montessori factor” of my project has been a total failure.

But let’s get back to our making of installment. Yesterday evening I went to fix the analog pin assignment of my buttons, and I also wired up one knob, mainly to justify heating up the solder station. The knob works like a charm, the keyboard… almost :-(

My findings about analog pins on the Arduino Nano (see part 3) were definitely correct. Using pin A4 (eg. not A6 or A7) everything works. Except that one of my buttons doesn’t do anything. I noticed this already, so I kind of knew something wasn’t right. And if this isn’t enough, also another button displays a somewhat erratic behaviour. The readings are very irregular and they jump a lot before settling, and sometimes it doesn’t work at all.

I wanted to be 100% sure that it was the button’s fault, so I tried to use the multimeter on it… only to find out that the fuse in the probe is broken. 100% sure about it, I removed the fuse and tested a resistor touching directly the contact beyond the fuse… and it works. Dammit. I still had enough energy to setup a poor man’s testing device (a LED and a 9V battery on a breadboard) and could confirm that yes, the button is definitely broken.

Which brings us to the second hard-earned lesson for today:

Always test on a breadboard that the components you are going to use work, before soldering them!

Apparently, even innocent, little, cute 6x6mm pushbuttons may fail. Desoldering and rewiring is going to be as painful as a tooth extraction at this point in my project. Spare this yourself, test beforehand.

I spent 2 hours total, 30 minutes soldering and 90 minutes testing, cursing and not wanting to believe my eyes. For what? Basically, no progress. Thanks, life, next time keep your lemons for yourself :-)

Now, I realize all this may sound extremely bitter. To be honest, actually something marginally positive happened. During the last two months, for example, I learned some more. In particular, I learned that the problem with the limited number of pins on the Arduino is a non-problem. You can use I2C or SPI expander chips for pretty much everything, and shift register chips for everything else. I could use an analog shift register for up to 16 knobs using a single analog input pin. I could use I2C for the LCD, using only 2 pins. I could add 16 blinking LEDs for the sequencer steps, like a TR-808. Sure, all this means additional hardware (eg. money) and more complex circuitry. But hey, the end product is going to kick ass!

I also thought a lot about improving my building skills. I’m pretty sure that, should I ever do a second version of monotrino, it’s going to have a PCB. Once I have a design, ordering one from a PCB service shouldn’t cost that much. And thinking about the build time saved, it’s going to be a big win anyway.

Actually, I tried (although idly, with no real committment) drawing one in both KiCad and EAGLE, but… it was a rather unpleasant experience. I know that those programs are targeting electronics engineers and not laymen like me, but why on earth they can’t make a software that doesn’t suck, is beyond my understanding. Oh well, I’ll try harder :-)

Thanks for reading patiently my cranky rant. Here’s hoping for some good news in the next episode!



Comments are currently closed.