2012 OSHW New Year’s Resolutions

Pt 374

First of all, Happy New Year to everyone in the OSHW community! 2011 has been an amazing year, and I look forward to everything 2012 has to offer as the community continues to mature and develop.

One of my main resolutions for 2012 was to improve the way that I design, test and document most of the boards I work on, particularly where sensitive analog and high-speed parts are concerned (op-amps, high-resolution ADC inputs, SDRAM, etc.).

This desire to improve in these areas is the result of a number of things, but one of the main reasons is the unique challenges and constraints of OSHW. Unlike the traditional HW development models, OSHW implies working with or for a larger community in a relatively transparent way.  Your audience isn’t just a consumer base purchasing a functional black box, but a wide spectrum of people with varying skills and experience who need to understand not just what a product does, but how the inner workings of it fit together to make it all tick.

OSHW puts a certain obligation on the developer to not just create products that work well, but to detail and document how they work, setting the bar a lot higher in certain areas.  Publishing an open source project can be nerve racking for anyone.  It’s akin to opening your kimono in front of the whole world, but one positive result is the pressure to do things the right way, simply because you know hundreds or thousands of eyeballs will be looking at it.  My own code and design work has actually improved enormously over the years due to this self-inflicted pressure as well as the valuable feedback of others who took the time to (often graciously) point out some things that can be improved in the messy innards of my own code or PCBs.  It’s at times been awkward, and sometimes embarrassing, but and I’m a much better engineer today because of it.

Looking around at the expanding OSHW landscape, I can see a number of tutorials on areas like basic board design, PCB manufacturing, basic coding, etc., but I haven’t seen a lot of articles explaining the hows and whys that go into making products well, or that get into a lot of detail on the messy ‘process’ details that make it possible to get from concept to finished product in a relatively sane and productive manner.  OSHW has done a great job of establishing some ground rules of how things should work and some clear business models are taking shape around OSHW, but there hasn’t (in my opinion) been nearly enough effort in defining how to get there in an intentional, productive way.  There’s a gap between what people want to do, and empowering more people to be able to do it in a productive, meaningful way.

At this point, you’re probably expecting a 10-point list of things that need to be followed to make you a better or more intentional engineer, but as much as I love a good, well-thought out list, this is actually a drum I’d like to beat on throughout the year rather than one big (naively authoritative sounding) article all at once.

I’d like to drag this one out across a number of blog posts, since being a good engineer (or being good at anything you take pride in!) is an endless and highly iterative process where you constantly need to examine (an re-examine) your work, your conception of things, and your methodologies, endlessly asking yourself — and others! — how you could do things better.

I have a number of hard won suggestions I’ve learned the hard way (that I’m happy to pass on to other people to try to shorten their own journey in embedded development), but it all comes down to a single question I often find myself asking to people who express an interest to me in embedded systems or engineering.  Whenever I had to interview a 20-something intern or candidate at a company for a potential position (often their first real engineering job or experience), I’m always sure to ask them the same question: “Do you like learning?  Like, really like learning!?”  Inevitably, I don’t really care what school they went to or how well they can answer that tricky technical trap question.  If I have the impression that they are independent, sufficiently intelligent and genuinely inquisitive, I know that all the technical gaps will naturally fill themselves in.

I always make a point on explaining why I ask that question, though.  The honest answer to it is what will determine whether they will be wonderfully happy or terribly miserable working as an engineer in the embedded world.  Good engineering is a constant learning process, and if you have the right kind of brain that experience will be either the most fulfilling career option you can possibly chose, or the most dreadful.  I’m convinced there isn’t anything in between.  If you like learning, constantly improving and never settling for where you are, you’ll excel.  If you just want the status quo and good enough, you should probably find a different area to work in.

Without getting too far off topic, though, there are a lot of improvements we can all make in the OSHW community whether in design, documentation, development, or  a dozen other Ds.  I have a few articles in the works offering concrete suggestions on some of those things (mostly from looking in the mirror myself), and I hope it will inspire other people in the OSHW community to make more of an effort themselves, and also to offer back some lessons from their own experience.

In any case, I’m looking forward to a great and productive 2012 with Adafruit Industries, as well as with the broader OSHW community!  The whole community has matured a lot this past year, and I’m looking forward to see what everyone else comes up with as that bar is continually being raised higher and higher!

I’m committed to being a better engineering, specifically in a couple areas this year, and I’m happy to try to propose some changes in a concrete way that I hope others can benefit from as well – but what would you like to be better at this year, and what are you going to do to improve on it?  What’s on your engineering reading and ToDo list for 2012?  It’s an important question we should be asking ourselves every day, and not just once a year!


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.