How to Structure the Challenge?
When getting into the hardware space, the sheer width and depth of different technologies, protocols, use cases etc. is completely overwhelming. Hence, it's a good idea to follow this guide on how to layout your journey to take on all the different areas at the right time. Divide and conquer!
1. Learn Electronics (Day 1–30)
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.
2. Learn Arduino (Day 31–50)
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.
3. Build your own Projects (Day 51–100)
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.
What to learning about Electronics?(Day 0–30)
It is crucial to give yourself plenty of time initially really dig into electronics to learn and digest the core principles. Many make the mistake to move into too complex topics too early. As a result, they got very frustrated later on and consider to quit, as they struggle to 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
What to learning about Arduino?(Day 31-50)
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 programmatically control the flow of current. Even if you don’t have previous programming experience, this isn’t a problem. The Arduino is a very user friendly microcontroller and makes it easy to learn the basics of programming on the fly. That's why it's recommended to start off with a course on Arduino, to get a feel for this technology.
Here are some core concepts you should feels confident about:
- Basic math operations
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.
How to build your own Projects?(Day 51–100)
As mentioned before, In the second half of the challenge, it is recommend to use all the knowledge you acquired, to build projects you really care about. Best you 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.
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
Sound / music production
- guitar paddles
- 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
- Camera Slider
- Turntable display