"A year of falling back in love with Making/Electronics on Raspberry Pi and Arduino"
The 80sAs I have mentioned many many times, my adventure with computers began properly in late 1982 with my parents getting me a ZX Spectrum. I went from BASIC to Forth to Z80 Assembler over a few years and loved it all. Ok, to be fair, 90% of that time was spent playing Jet Set Willy.
But I also had a strong interest in electronics. I'd tried a few times to learn from books in the local library but most of them were still about valves! I got (and still have) "20 Simple Electronics Projects for the ZX81 and ZX Spectrum" around '84/'85 but I still struggled.
MaplinThen I discovered the Maplin catalogue in the local newsagent and was entranced. I ordered various bits plus a multimeter and soldering iron from them and tried to build a Kempston-compatible joystick interface. That never worked. In fact the only real things I succeeded in doing were to upgrade the 16K Spectrum to 48K, to move it into a new keyboard case and to replace the power jack and add a reset button.
Electronics in CollegeWhen it came time to pick my college course in '86, I initially looked into Computer Science in UCD/DCU/UL but the syllabuses back then were still full of Cobol, RPG (not the cool version of this acronym) and mainframes. Yuck! The Electronic Engineering syllabuses, in contrast, looked amazing. Analogue and digital electronics, programming, microwaves, bio-medical engineering, physics, chemistry, maths. Yum!
First PrinciplesSo I enjoyed my 4 year degree in UCD and 2 year DSP Masters. Loved some subjects. Hated others. And sadly, electronics in general was one of the hates. I could blame the all-time worst lecturer on the planet for my detestation of analogue electronics. But it was really the entire UCD attitude of teaching the core principles without any practical understanding/feel/intuition that never worked for me. Our "practicals" were a joke of rushed setups and even more rushed reports. Zero actual understanding. If you want to freak out any ex-UCD Elec Engineer, just show them a circuit diagram with a transistor and inductor or ask them to turn on an oscilloscope.
I still think that way of teaching is wrong. The standard response from lecturers of the time was that if you wanted to do practical hands-on stuff, you should go to DIT, which they looked down their noses at. Or become a technician. Perhaps if they looked at Irish Universities pathetic record at being the source of great engineering innovations/patents/products, they'd think again about their sense of superiority. Metrics.
Solving ProblemsOn a positive note, the main benefit you get from an Engineering degree of this type is a strong approach to problem solving. You find yourself automatically breaking big challenges into smaller ones, you accept nothing at face value, you come up with models of how things work and then you validate them. If they don't validate, the model is wrong, not the real world.
So the fact that the vast majority of UCD Engineers don't end up working in engineering is possibly a good thing. That mindset is invaluable in most walks of life. Unfortunately Irish politics is the one area that could really benefit from it and has almost no engineering presence.
By the time I'd finished UCD, I was a software guy through and through. I'd learned C in 4th year and did all of my Masters using it. I was far more interested in the software development than any of the mathematical algorithms it was implementing. I never wanted to touch anything to do with electronics again.
The 90sI spent the next 11 years as an Embedded Software developer working very closely with IC designers and board designers. Whilst I loved being near the hardware, I never wanted to do anything with implementing it. And as for analogue electronics. Shudder.
In parallel to that, I loved anything to do with the internet and was doing a huge amount of stuff there at home and as a sideline in my real job. I ended up switching to that career-wise with the great Embedded Collapse of 2001-2003 (aka the tech crash). I've had enormous fun over the past 10 years building Enterprise and non-Enterprise software. There has never been a dull day. In fact I haven't been bored a working day in my life since my first job in 1992.
The WebTools/Languages/Platforms/OSes like Python, Linux, Django, JS, Node, Android, and PhoneGap are not just insanely powerful, they enable you to be shockingly efficient. It still amazes now that I can come up with a vague idea one morning and have it built, deployed and live on the web that afternoon.
Whilst I loved the past few years of Twitter/Facebook/SoLoMo/etc, nothing really new seemed to be happening there. The world of purely-online had become stale and repetitive. However the online+realworld was only just beginning.
SugruThe first hint to me that I was getting into a Making mindset was Sugru. Not only is it an utterly brilliant product but the culture that Jane and James have built around it is really something special. Sugru could easily have been another DIY shop staple beside the epoxy resin that the odd person might buy. Instead it's something I can mention to a group of my wife's old school friends in a pub in Wicklow and they know exactly what it is and how useful it is.
I still find myself every day looking for things that could do with a bit of Sugru to improve/fix them. I live by The Fixer's Manifesto. Check out my patent-pending Sugru Wall Fingers.
ArduinoIt was April 2012 when the Raspberry Pi went up for pre-order that I started reading and thinking and realising I had tons of things I wanted to do which only made sense when you did online+hardware. Over April and May I had some sort of Damascene conversion and got completely buzzed about making things. I subscribed to MAKE magazine. I got my old electronics books out of the attic and then, exactly 12 months ago, I ordered an Arduino Starter Kit.
And wow, what a 12 months that Starter Kit kicked-off. I've gone from a simple kit along with a soldering iron and multimeter to a desk covered in modules, wires, interfaces, sensors and microcontrollers.
In fact I still use the kit every day. Here's something I put together in 10 mins before I went to bed the other night. It's an 8 DHT22 Temperature and Humidity Sensor with a cloned 4 Nokia 5110 mobile phone screen. The code is just a quick hack of two Adafruit examples from their libraries. Two modules, one resistor and an Arduino. That's all.
Open Source HardwareAnd this is the huge difference from my college days - modules. In the past year I have put together idea after idea, project after project and I've only needed to use Ohm's Law once. I've also used a circuit simulator once for old times sake. The flood of cheap parts available online from China with a worldwide community of Open Source and Open Hardware enthusiasts means that you can prototype almost anything with a minimum of electronics knowledge. The only things you need are inquisitiveness, patience and a basic ability to think things through logically.
The real heroes for me are companies like Sparkfun, Adafruit and of course the amazing Arduino group. They blend learning, fun, Open Source and a commercial sensibility brilliantly. Long may they prosper.
Raspberry PiAs for the Raspberry Pi, I think its most important impact has been to mainstream all of this. I'm pretty sure a lot of people are starting with RPi, getting into the whole Making community and then learning about Arduino and all of the other OSH projects out there. Heck, even most of the people who just use them for XBMC have to install a Linux based OS on an SD card to get started. That in itself may trigger further interest.
Whilst we can all criticise many aspects of the RPi design (USB, SD card location etc), it doesn't matter. The fact that it exists and enables people to be creative is what matters. Every day I see new wonderfully crazy projects built using the Raspberry Pi. These would never have happened without it. Sure there are other cheap single board computers out there that people could have used, but they just didn't know about them. Awareness + Ideas is leading to incredible ingenuity.
One of my big challenges has been working out the best approach to reporting data online. The device that does this will need Wifi, not wired Ethernet and the numbers just never add up when I do it with Arduino. The obvious solution is a Raspberry Pi Model-A with a cheap USB Wifi dongle.
This gives me plenty of welly for running Node or Python and can interface easily with an Arduino. But I'm still worried about that SD card dangling off the end. Most of the problems we've had with RPi (apart from the USB horrors) have been related to either the SD card refusing to stay well-seated or it getting corrupted by reboots (usually caused by the aforementioned USB horror). The Beaglebone Black's use of on-board eMMC looks a lot more stable by comparison but the Google Group doesn't give me confidence that it is ready for primetime quite yet.
RC CarsWe're also just getting into RC cars in our house. After years of the kids getting generic toy-shop RC cars which see one day's use and are then discarded when the batteries run out, we now come up with ideas all the time and give them a lash on the iRacer or the ZL-4.
HalloweenMy 9yo daughter came up with a completely insane idea for her halloween costume last week (this child thinks ahead!). It will involve wearables, servos and lots of arts/crafts. It will also scare the living daylights out of children and adults alike.
Her 7yo brother announced he wants to do a hockey mask and chainsaw. I'm still trying to figure out how Jason got so into mainstream culture that a 7yo knows about him. We immediately came up with a way of doing it that won't offend too many people.
WearablesI love seeing all of the activity around wearables from the likes of Adafruit and it really catches the kids' eyes too. I need to put in an order for a Flora or Lilypad soon and try some things out.
Health and The Internet of ThingsThe whole area of Health and the Internet of Things (IoT or IOT) is where my head is at a lot of the time in the past few months. Everything I have been doing around sensors obviously falls into the IOT category. I'm also making a simple set of devices that fit into the home automation category but will also have a web-site and API involved.
In a far-too-long-term project I'm working on, I tried to reverse engineer a commercial product's wireless communications protocol. Of course I failed. So I ripped out the electronics from the device, soldered together an Arduino-compatible board, added a wireless module, loaded up the VirtualWire library and had my own protocol running perfectly with an hour or two of work.
Finally I have just ordered a board for health sensing that should be great fun and provide me with some useful Quantified Self (QS) data too.