- Tuxie McPython – a LEGO bagpiper (or at least a noise machine)
- Learning with mistakes
- A whole week improving fingertips
- Oh yes… programming
- Hot fingers
So confination has been tough. One year at home, one year of remodeling and repairing on my building – a 9 floor building with 36 apartments and it seems many neighbors saw the major repairs as an opportunity to make their own remodeling.
So I almost went crazy (or maybe I already am) and found myself thinking on playing bagpipes on the roof, scaring the falcons that appear at spring near my village (one even made a nest on this building, some years ago). And of course, retaliating to all the noise.
Of course, I don’t know how to play bagpipes (or any other instrument). I don’t even own a bagpipe – just a toy bagpipe that we bought on Scotland on our honeymoon:
It’s not a proper bagpipe, the drones are false and the bag looses air but the chanter (the long tube at right with a reed inside that makes a hell of a noise when air passes through it) works and is also detachable so I use it as a sort of practice chanter (the reed inside is also replaceable).
Almost 2 years ago I already tried to fill this bagpipes with my brute-force LEGO air compressor:
but it needs a lot of air and it also needs somone to squeeze the bag. I am too lazy for that.
But I read a lot. And found people making their own bagpipes with plastic bags, rubber or latex gloves and even balloons… like these dudes that use a melodica and 2 human slaves to pump air into the balloon:
So I decided to try my own robotic LEGO bagpiper proof of concept. I just needed enough air, a balloon and a chanter so I ordered a practice chanter (more affordable than an usual bagpipes chanter and a bit easier to play because usally it requires less air pressure).
And the first attempt looked promising:
and then all the usual problems on a proof of concept project started 🙂
First thing I found was that LEGO pneumatic tubes aren’t large enough to supply enough air fast enough for the reed inside the chanter to play. So the last tube, connecting the balloon to the chanter’s mouth piece, had to be replaced by aquarium tube (1 or 2 mm wider than LEGO’s).
The same applies to LEGO pneumatic switches (valves). If I want to control the flow I need a custom valve. I can squeeze the tube or I can bend it (like Nico71 does on his “Lego Pneumatic Switchless Engine – New Valve Design“).
I also needed a larger balloon – softer than the first I used so less pressure needed from the air compressor side.
And finally a needed a better air compressor. 4 MINDSTORMS motors acting over 8 large Technic pneumatic pumps wasn’t enough (and also makes a lot of noise – I want most noise to be from the bagpipes).
Luckily I already had a LPEpower SYS Inline 3 engine I used on my last LUG event. It’s an air engine – you inject compressed air and get mechanic rotation – but it can be reverse used (probably with less efficiency).
So my first attempt evolved to this:
The SYS Inline 3 engine was using a LEGO Power Functions L motor but I felt that I could obtain better results if I applied more power… so I added a second motor and used gears to combine the power (and also rotate it a bit more faster). That resulted in almost a minute of “playing”, not bad. But also showed up a new problem: too much air pressure on the reed makes it block, not generating any sound and also making the balloon accumulate even more air. For now, as I am not yet controllong the flow, my only option is manually reducing the air flow from the air compressor.
With a powerful compressor I added the first “fingers” using stick tack to close the chanter holes:
Not good but it was a start.
So I searched my LEGO spare parts after something that could close the hole and I found 2 similar parts (images are from Bricklink site):
The microphone is a bit smaller than the towball so I used it for the smaller holes on the chanter (the higher pitch notes). Also used a motor to controlling the finger for the first time – so finally we have some Python to explain McPython’s name:
It seemed OK so I added the rest of the fingers (7 fingers upside, 1 thumb downside).
With 8 Large Powered Up motors (from Volvo set or SPIKE / Robotic Inventor sets) and 2 Control+ hubs running Pybricks Tuxie McPython has reached Proof of Concept level:
So for Alpha Release level this is the roadmap:
- coordinate the fingers – that requires me to control the 2 Control+ hubs so I will use Jupyter Notebook
- control the air flow – that requires a custom valve to squeeze the aquarium tube, a pressure sensor to check the balloon’s current state and some sort of relay to turn the compressor power ON or OFF (so a MINDSTORMS EV3 will join soon, explaining the Tuxie name)
- learn basic bagpipes music – by far the toughest part (but my wife already started helping me converting music scores to notes and temporizations)
Not sure if I deal with it now but also a stronger air compressor will be needed on the long run that allows Tuxie McPython to play for at least 2 minutes (time enough to drive everyone crazy before the police arrives)
Olá Jorge – I’m Scotus-49 who you tried to help last week with Pybricks/Linux/Bluetooth last Friday.
I’ve just read your blogpost, and maybe I can return your kind help from last week. Sou escocês!
I started to play the bagpipes when I was 10, and later in life I even designed and made my own. A few years ago I made a quite workable electrooiic bagpipe with the Arduino Uno, some screws, wire and a few small electrical components. I have started converting this to the Raspberry Pi, with the Picap touch sensor addon, but have paused this for now.
One more thing – I understand that you were the one who reverse engineered Lego Bluetooth for Boost. An article in the Raspberry Pi magazine showing how to run Boost with Python, based on your original work inspired me to get Boost. Thank you.
My email address is attached if you would like some help with your bagpipe project. One important piece of information – in Scotland we also have “smallpipes”, blown with bellows, and kinder to the ears than the Highland type.
Kind regards from Berlin
Slangevar!
What a coincidence… yesterday I also realized you are Scottish but thought “ah, not all scottish know how to play bagpipes!” 😀
Thanks for the tip with the smallpipes… I was already searching for information on bellows. In the north of Portugal we have “Gaita de Foles”, it’s essential the same as the Spanish (Galizia) “Gaita” but it’s not cheap, so I started my loony project with a Highland type chanter, for no particular reason except that it was cheap and available. But the goal is to real make some noise on the roof and release some of the pressure from these last 12 months so when/if ever this thing works, I’ll order a full kit to try it out.
Thanks for your words about Boost. Very important to me. But I was not “the one”, we were like 3 or 4 at the same time, I started perhaps a bit earlier and with previous background from the WeDo2, we shared our findings and then I let the others go on their own, they knew much more of programming and real life was calling me once again.