Let's be honest, starting to learning about electronics, microcontrollers and hardware can be very hard, especially with a lot of experience in Software- but none in Hardware development.
I personally never managed to get a grip on hardware topics at all, not till I started this challenge…
Actually, about 80% of people fail in the attempt to pickup a meaningful new habit (source). The main reasons are, lack of accountability, company and a clear path to success.
It's most often a lonely battle we fight, trying to keep ourselves accountable for achieving a not clearly defined goal. This makes it just too easy to slip.
To overcome the known pattern of self-deception, I created the #100DaysOfHardware challenge and this survival guide!
The guide is builds-up on my condensed learnings from my 100 days long journey into the fascinating world of hardware! I hope to encourage you to start your own journey and to provide enough resources and guidance to help you successfully complete it.
- How does the #100DaysOfHardware Challenge work?
- The Origin?
- Why join this public Challenge?
- Who should join the Challenge?
- How to find Time in your Daily Routine?
- How to join the Challenge?
- What hardware do I need to buy for the Challenge?
- How to Structure the Challenge?
- What to learning about Electronics? (Day 0–30)
- What to learning about Arduino? (Day 31–50)
- How to build your own Projects? (Day 51–100)
The rules of #100DaysOfHardware are very simple. Each Day for
100 Days, you do:
- Learn about electronics and hardware for at least one hour.
- Tweet your progress with the hashtag: #100DaysOfHardware.
- Reach out to someone from the maker community on Twitter.
The #100DaysOfHardware challenge originates from my personal desire to learn a lot about electronics and hardware, fast.
I got the opportunity to work for Microsoft at the intersection of software and hardware development. I knew taking the offer, would mean to enter a whole new world. Even though, being a software engineer by trade, I never touched any electronics or even an Arduino microcontroller before. I really had to start at zero.
So, to make myself stick to the plan, I went for the battle-proven "100 days of x" challenge format, hopping for the magic of a public commit to carry me on my journey.
The format is extremely popular, since it was invented in 2016 by Alexander Kallaway, thousands of people have successfully learned how to code, exercise or mediate.
To me, three main benefit of this kind of learning challenge stood out
Very quickly, when the number of my follows started to rise, I had a very strong feeling of being hold accountable. I wasn't only learning for myself anymore, there were other people being interested to watch me succeed. Very motivating!
During my journey, I got to know the maker community on twitter. When I got frustrated because some circuit didn't work or I couldn't wrap my head around a complex topics, there was someone more experienced I could ask for advice. Saved me at least twice from giving up.
The maker community on twitter is a global one. I drew a lot of inspiration from other people's projects and ideas. It really reassured me that, there isn't a right or wrong way to learn and apply electronics. The variety of projects is just stunning!
Besides these main benefits, I started to appreciate the long time commitment. It really helped me to take my time to build a habit of in-depth learning, instead of just binging some shallow tutorials whenever I could find some free time. If you are serious about starting something new, I really can recommend the format.
If you are unsure, if it makes sense for you to learn about hardware, electronics, Arduino and the Internet of Things, here are a couple of reasons people have to dive into this area:
- You are looking for an effective way to complement your education to land a job in an electronics oriented environment like a hardware startup, wearable manufacturer or industry 4.0 consultancy.
- You want to refresh your knowledge and get back the joy of hands-on tinkering, as you graduated from college quite some time ago.
- You are a college major in electrical-, software- or a related engineering field and want to get some hands-on experience besides all the theory. You are simply fascinated by electronics, circuits, hardware etc. and want to make tinkering with technology your new hobby.
- You have a dream hardware project, you feared to start building till now.
Finding the time is probably the toughest question to answer when considering to join the challenge. Especially, when you are working full time, plus you also have a family or other responsibilities.
As a general learning, it's most importantly to commit to a realistic amount of time you can put in learning on a daily bases.
Don't overcommit, e.g. making yourself spend 3h a day on the challenge , while you actually don't have as much time. Exploiting yourself and letting other responsibilities slip will likely lead to frustration and endanger reaching Day 100 . Remember, the challenge is about building a healthy habit of learning and personal growth.
In my case, my weekends are always pretty packed, so I had to limit my commitment to weekdays only.
However, I must warn you - currently there is a bit of a problem. Researching learning material, projects and hardware components that can keep up with your constantly increasing level of knowledge will take extra time, besides the time you spend actually tinkering and learning.
I hope to solve this problem soon by build-up 100DaysOfHardware.com as a learning hub, to get you the right resources at the right time, so you can successfully participate in the challenge with only an investment of one hour a day.
If you want to get notified about project updates, signup here:
Nothing is easier than this:
- Order your basic hardware kit.
- As soon as your kit arrives tweet out your commitment.
That's it, you are all set!
First of all, let me debunked the common belief that you need tons of expensive equipment to event start learning about electronics. This is simply not true.
You can get away with spending less than 100$ for all equipment and components you need for the whole challenge. It mostly depends on the complexity of your own projects and how much optional equipment you want to get.
In electronics equipment there is a very wide price range. You can get a basic version of a certain item for very cheap, while there is mostly also a standard and a high end version available for 10x the price of the basic version. Therefore, I will link you an option for all price ranges. In most cases, the the basic or medium version is totally sufficient for the challenge.
The following items are absolute must haves to get through the first 50 days of the challenge. Also in the later stages, they will be a solid foundation to build upon.
To kickoff your challenge, it makes sense to get a plain electronics starter kit. These kits include a variety of basic electronics components that will fuel your initial learning phase focused on pure electronics.
- Basic Electronics Basic Kit, 350pcs - 13.5$ (link)
- Medium Electronics Component Fun Kit, 500pcs - 16$ (link)
- High-end Electronic Component Assortment, 2000pcs - 99$ (link)
If possible, try to get a large breadboard, your circuits will outgrow the small once very quickly. Most of these kits come with 5V power supplies, however you probably need to get an additional power cord. Instead of spending another 5$ on one of these, it's a good idea to get your microcontroller directly and use it as a power source, as Arduinos almost always come with an USB cable to power it from your computer.
Latest when you reach the second section of the challenge covering digital electronics, you need to get a microcontroller. Arduino is the goto brand for microcontrollers. But there are also Arduino clones available which are fully compatible with other Arduino and ship for a cheaper price by still remaining a good product quality. If you have decided for a basic electronics kit initially, you should get a microcontroller from the get go to use it as your power source - saves you some bugs for another power cord.
- Basic Seeduino (Arduino Uno Clone) - 7$ (link)
- Medium Elegroo Uno R3 (Arduino Uno Clone) - 14$ (link)
- High-end Original Arduino Uno - $24(link)
During my own challenge I got to the point, where my projects required additional electronic components and sensors which where not included in my basic starter kit. Probably, when starting to fiddle with your own project you will get there too. I used three different options to get my parts. None of them is perfect, they all come with pros and cons.
You can get your components directly from Chinese suppliers. I tried out AliExpress, Wish and Ebay. They all allowed me to cut out the middle man and save 20–40% on some items. So it's definitely the cheapest source, unfortunately that's the only positive aspect of it. However, I had to wait very long for my orders, did not get any tracking ids and had to pay quite some shipping fees which mitigated the initial cost savings.
I was lucky to find some quality suppliers there, and got nice additional breadboards.
Looking back, I would definitely recommend it as a source for simple, non critical parts. For everything you need in time to continue your learning, I wouldn't use any of those sources. As it's not worth killing your learning routine for some cheap parts.
More complex (e.g. ICs) parts or tools (e.g. soldering iron, multimeter) I also wouldn't buy there at all. Especially since these suppliers do not have to comply to any of your local safety or quality standards. I personally don't want to risk soldering components which might include toxic raw materials or have a soldering Iron start doing funny things while I am using it.
Here you find the links
When I had a complete parts list for my own project, I tried out some well established online electronics shops, quite a good experience! They really offer a tremendously large selection of components. There is probably nothing you can't find in their inventories. However, you will need to know exactly what you are looking for, otherwise you drown in pages and pages of identically looking components, just differing in some technical detail.
These electronics retails are quite expensive, especially when only ordering small quantities, their shipping cost were ax expensive as ordering directly from China. However, the quality was up to the mark.
So, I'd recommend to get specific and complex components there. If possible batch order, to mitigate the high shipping cost.
The largest and globally operating shops are:
For some urgent needs I also checked out my local electronics store. Wasn't a bad experience at all. It is great to have someone you can talk to in person about your project and if in doubt about the component you need, you can definitely get some advice.
However, I had the experience that they had a very limited selection of components instantly available, even rather generic components like a simple IC holder wasn't available when I was there. Might have been a coincident, but clearly they can't compete with global online shops when it comes to range of available products.
Their big strength is personal service, instant availability and no shipping costs, so even picking up small quantities is makes sense.
There are also a couple of items which are nice to have, but definitely not required to successfully complete your challenge.
A basic electronics kit + extra Arduino will get you very far already. Alternatively, there are also a lot of dedicated Arduino Starter Kits, however I wouldn't recommend going for one of them. These come already with a microcontroller and many complex electronics components like sensors, motors, bluetooth remote controls etc. Even though all these toys are very tempting to play with, they will not help you grow as much has mastering a wide range of basic components first. Nevertheless, here are some good option if you want to go down that road:
- Basic Elegroo (Arduino Clone) Kit - 36$ (link)
- Medium Elegroo (Arduino Clone) Kit - 53$ (link)
- High-end original Arduino Kit - 90$ (link)
The multimeter is one of the more useful "nice to have" items. It allows you to measure current, voltage, resistance and continuity. I got mine probably during day 10–20 and it helped me big time to verify assumptions I made based on circuit theory I learned at that time.
Later on it also helped me to debug my own project, as unfortunately you can't see whats goes wrong with your circuit, only some times a component goes up in smoke, indicating that something is wrong.
A basic meter will definitely carry you though the challenge, however I recommend to pick the medium one, as it's still affordable and "auto ranging", meaning it finds the most suitable range to display your measured value automatically - very convenient.
- Basic digital Multimeter - 11.50$ (link)
- Medium digital Multimeter - 23$ (link)
- High-end digital Multimeter - 62$ (link))
Soldering is skill I did not expect to pickup myself. I believed I could stick to using solderless breadboards for all my 100 days. When I got to build my own more complex project though, I was struggling, as many issues were caused my wiring mistakes. Learning to solder allowed me to hardwire connections and be sure they will remain function correctly while moving on. For me it was a worthy invest of time and money.
The price range of soldering equipment is just crazy. You can get a full set with plenty of accessories for 9$, while you can also spend 50$ to just get a plain soldering iron. If you can afford it, I'd recommend to go with the one from the mid price range. The cheapest will just be a gamble on how long it lasts, while the expensive one is a good choice when you expect to use it excessively. Keep in mind will need some more accessories like Helping Hands, Desoldering Pump and a Roll of Solder.
- Basic Soldering Kit - 9$, (link)
- Medium Soldering Kit - 25$ (link)
- Medium+ Soldering Station + 5 Soldering Tips - 40$ (link)
A Oscilloscope is an advanced diagnostics tool that shows you a visual wave graph of an electronic signal. They have tons of sophisticated analysis applications, so you could use it for visualizing the time and voltage values of a signal or verify whether or not a malfunctioning component is distorting the signal.
Initially I believed, that I would need one, but to be honest, getting an oscilloscopes for tinkering with starter kits and smaller projects is a bit over the top. Especially, since proper once start at about 300$.
Long story short, get a good multimeter, that will be more than enough.
When I started my challenge run, the sheer width and depth of the hardware topic completely overwhelmed me. Hence, I recommend you to structure you challenge in the following three main sections, especially when you are completely new to the field.
The idea is, to first learn about electronics. This includes, components types, how to build circuits, and some other practical skills. A clear project-based learning path is very valuable here, as you can get lost in complexity very easily.
Next, you should transition into digital electronics by learning about the microcontrollers. the Arduino platform is a great starting point, as it's really user friends and there is plenty of simple projects out there which build upon the Arduino.
In the second half of the challenge, I recommend to use all the knowledge you acquired, to build projects you really care about. Thereby, it's much easier to keep up the motivation and you will learn much more than strictly following shallow tutorials.
I personally build a control board for an old mechanical flip-dot display as my project 50+ project. It was definitely the most valuable project I worked on during the whole time, as I really wanted it to work in the end.
As general advice, don't make to detailed plans for day 50+ in advance. Your growing knowledge will spawn new ideas and increase clarity on existing once. So give yourself plenty of room to adapt. Just note your current ideas and believes, to review when it's time to decide what project to start next.
I believe, it is crucial to give yourself plenty of time initially really dig into electronics to learn and digest the core principles. During my own challenge, I made the mistake to move into too complex topics too early. As a result, I got very frustrated later on and almost quit, as I couldn't comprehend what was going wrong.
There are some important concepts you should definitely cover:
- Voltage, Current, Resistance
- Direct Current (DC) and Alternating Current (AC)
- Parallel vs. Serial Circuits
- Ohm's Law
- Kirchhoff's circuit law
You will come across many very technical and math heavy tutorials and articles when researching these topics. Don't get hung up on it. It is helpful to get some basic skills of circuit analysis so you can understand, e.g. why you can measure a certain level of voltage at a specific component.
The theory beyond those basics, is helpful but not required at this point in time. Building real projects will teach you much more than studying all dry theory beforehand.
You should also get a good grasp of the following basic electronic components:
- mechanical Button
- RGB LED
While tinkering with these components, it will inevitably be helpful to pickup some additional skills:
- How to use a bread board
- How to read technical "data sheets" of components
- How to read circuit diagrams
- Learn how to use a multimeter
The most effective and fun way to consolidate your new knowledge is by building increasingly complex bread board projects.
A good starting point would be a simply blinking LED circuit which you then extend with every freshly mastered component
After you have a good grasp of basic electronics, there are some more advanced components called integrated circuits (ICs) which are worth exploring. Here are two very important once, used in many application contexts:
- 555 timer
- shift register
After you got a solid understanding of electronics in general, it's a good point in time leap into digital electronics. While so far, our power source was static, now we get to know micro controllers which allow us to programatically control the flow of current.
As a software engineer, it won't be hard to wrap your head around how to program the Arduino.
Thanks to the extensive Arduino libraries it, it feels like a simplified version of c. Even though, I have never written c before, I did struggle to achieve my goals.
The Arduino in general, is a very user friendly microcontroller and makes it easy to learn the basics of programming on the fly.
Nevertheless, I recommend you to start off with a course on Arduino, to get a feel for this technology.
Most importantly though, find yourself small projects to build. As with basic electronic components, this will make learning and understanding the Arduino technology much easier than just reading about theory or watching shallow tutorials.
When you are getting closer to the end of your microcontroller days , you will have learned quite a lot about digital electronics. That's when it gets really interesting!
You could for example start to control advanced electronics components like a shift register with an Arduino.
As mentioned before, In the second half of the challenge, I recommend to use all the knowledge you acquired, to build projects you really care about. Now, I'd like to extend that advice and say, even pick a project you consider to be very challenging, almost impossible to master at your current level of knowledge.
Why is such a bolt move is a good idea?
Let your curiosity drive you, only a project you deeply care about will motivate you to continue, thrive for perfection and let you outgrow all the initial unknowns.
You have a lot of time, so no reason to be afraid of the skills and knowledge the project needs and you don't have yet. You can gain all of them during the next weeks.
Keep in mind, this challenge is about personal growth, even if you couldn't fully complete the project in time, you are achieving your initial goal of establishing a daily routine of learning and personal growth.
My project of building a control board for my old mechanical flipdot display, eventually came together quite nicely. On the way there, I even learned to read complex schematics and how to solder. Did I believed, that I could fit this into my challenge? No of course not!
How to find your own passion project, that triggers your curiosity and keeps you moving?
Here is a small overview of real world use cases for DIY electronics and hardware:
- 8-bit Computer
- Retro gaming
- guitar paddels
- Plant watering system
- Remote Light control
- Security system
- connect home appliances to the web (ioT)
- LED cube
- LED walls
- Flipdot displays
- self-diving (toy) cars
- Kamera Slider
- Turntable display
To get a better idea about the different areas of application, you can use Youtube, Pinterest, Instagram or just plane google for your initial research.
You will find all kinds of projects other makers create in these fields. Unfortunately, it can be hard to find a detailed list of components and resources for the projects on these platforms.
As soon as you know which area you are interested in, it is time to check out some websites especially dedicated to makers. There, people share their projects in great detail often including a parts list.
My favourite makes websites are:
I also made the experience that you can easily approach creators on these platforms get some more details and open questions answered.
To conclude this guide, I believe the "100 days of x" challenge format is a great fit for getting started with electronics, Arduino and hardware projects in general. Personally, I had a great time, and learned more than I anticipated before I started.
However, it's still a big challenge to find suitable resources so if you are on a tight schedule it will be challenging to learn, research theory & projects every day.
To change this, I am building up 100DaysOfHardware.com as a learning hub, to allow everyone even with a tight schedule (max. 1h a day) to successfully complete the challenge!
Thanks to everyone from the community who supported, inspired and motivated me!
I'd be happy if I could give back, so don't hesitate to reach out to me, when you any questions about the challenge or you need more support to get it going!