Crystal Clear Electronics Curriculum
An innovative electronics curriculum with real-world examples and step-by-step instructions from basic mathematics to programming microcontrollers and basic control applications.
Recommended for students and hobbyists, ideal for extracurricular courses or self study.
The course material is also available via a mobile application called „Kristálytiszta Elektronika” or „Crystal Clear Electronics” - depending on the language and region settings of the Android device - on Google Play. It also contains the data sheets related to the free course material in an organized manner! The application will be updated in parallel with the publication of new parts of the curriculum.
The mastermind of the curriculum briefly describes the path that led him into the world of electronics. Partly because of the trials he experinced, raised the need for this curriculum, therefore it is worth reading for everyone interested in electronics. "When I asked my friends, I have made throughout my journey, to make this curriculum together, everyone was eager to share their knowledge and experience so that your ride of learning electronics will be faster and less bumpy than mine was."
01 Revision of Basic Mathematics
The author(s) of the chapter: Zsolt Verasztó
Technical Science and therefore Electronics is based on Mathematics. In order to make it easier for everyone in the recommended age group of 15-18 to understand the later chapters of the curriculum, it is worth repeating and overviewing the necessary mathematical studies. The first chapter helps to accomplish this.
02 Revision of Basic Physics
The author(s) of the chapter: Szabolcs Veréb
"All beginnings are difficult!" - every new profession requires preliminary studies. While Mathematics is the foundation of Technical Sciences, Physics is the means of describing and understanding the natural phenomena around us, so understanding the fundamentals of Physics is essential to understanding electronics and the following chapters.
03 Electronic Symbols
The author(s) of the chapter: Károly Póka
"New life, new language, new symbols!" - a road to the world of circuit diagrams. Our circuits are complex working systems with many different components. To describe these, a symbol system has been defined, so that complex circuitries can be represented on unified drawings for everyone. Learn about the most basic parts, their symbol, other properties and constraints of wiring diagrams!
04 Laboratory Power Supply and Breadboard
The author(s) of the chapter: Botond Csathó
"Paves the way for electronic circuits" - the tools that give life and seat for the parts are introduced. Components are rarely connected directly to each other, usually using a carrier/board that creates the connections described in our circuit diagrams. In this section, you will learn what a breadboard is and how to use it to assemble the examples in the curriculum. And when a circuit is ready, it is a good idea to try it out, and the laboratory power supply will help you with this. You will also learn about its functions and operation.
05 Multimeter, Ohm’s Law in Practice
The author(s) of the chapter: Péter Nagy
During our adventures in electronics, the multimeter will be one of our best friends, our greatest help in examining our circuits and components. It allows us to measure the physical quantities we have encountered so far only in theory, and to verify the laws of Physics such as the Ohm's Law. In the fifth chapter, we present in detail the functions of multimeters and their use, and examine how our measurement results relate to our expectations from our theoretical knowledge.
06 Linear Power Supplies and Diodes
The author(s) of the chapter: Balázs Ancsa
This chapter covers the basic features of power supplies and the construction of a 5-volt power supply that will be the building block of our future circuits. The second half of this section introduces the diodes, which are the simplest and perhaps most important semiconductor components.
07 Switching Devices
The author(s) of the chapter: Dávid Kulcsár
In order to move on to increasingly complex circuits, we need a variety of switching devices. These help us change the state of our circuitry, creating dynamic, interactive devices. In addition to simple mechanical switches (e.g. light switches), you can immerse yourself in the world of semiconductor switches (BJT, MOSFET) and learn how they work.
08 Astable Circuit
The author(s) of the chapter: Szabolcs Veréb
Building on previous chapters, we will now become familiar with a small but still complex circuit: we will be flashing LED light sources. As a result, we get more into the world of transistors and integrated circuits (ICs) and introduce time-varying systems. We will look more closely at how a transistor can act as a switch, and show how simple timing can be accomplished with simple components.
09 Microcontrollers I.
In this chapter we create a foundation for our knowledge about the structure, operation, and programming of microcontrollers which we will heavily rely on from now on. Microcontrollers are immensely complex circuits comprising several million transistors, and yet their inner workings are easily explained today as they are all around us and have become part of our everyday lives. At the end of the chapter we try out a simple program written for a microcontroller for the first time.
10 IT Basics
Before diving in deep into the world of microcontroller programming let’s do a quick review of the basics of programming itself. In this chapter we talk about number systems, logic operations, and introduce the basic building blocks of the C language. You will need this knowledge later! :)
11 Microcontrollers II.
The author(s) of the chapter: János Tóth
Building on the previous two chapters we can begin some serious microcontroller programming with a simple example. At first, we introduce the development environment, and in our example, we even talk about overflow and software timing.
12 Debugging - Troubleshooting in the Program
The author(s) of the chapter: Dávid Kiss
In this chapter we showcase how to easily find errors in your code. The development environment enables us to step trough our program line-by-line and check the outcome of each statement, and the internal state of the microcontroller. This way we can easily find unexpected, hidden errors.
13 DC Motors
The author(s) of the chapter: Dániel Csapó
In this chapter we will talk about the underlying physics that make DC motors rotate. While we are at it, we go over the main parts of DC motors as well in detail such as the rotor, the stator, and one of the most important parts: the commutator. Finally, we introduce two other types of motors as well, more commonly found in a typical household.
14 Twilight Switch, Simple Sensors and Comparator
In this chapter we review how FET-s work, and introduce the most basic sensors, with the help of which we can convert various physical quantities to electrical signals. With our sensors we build a few controlled analog circuits, such as a twilight switch. In the last section we will see how to compare different signals with simple electrical components, and with a microcontroller.
15 PWM or Pulse Width Modulation
The author(s) of the chapter: Gábor Baracsi
PWM, or Pulse-Width Modulation can be found in almost all our electronic devices in some form. In this chapter we show how can it be used to adjust the brightness of a light source, or even set the speed of a DC motor.
16 Accurate Timing - Timers
The author(s) of the chapter: László Treszkai
Accurate timing has a huge importance in our daily life. In this chapter you can learn about timers inside microcontrollers, and you can build your own digital clock. Meanwhile you can expand your software knowledge and find some practical advice for designing.
17 PWM with Microcontroller
The author(s) of the chapter: Endre Szesztay
In this chapter we will learn about how to create a pulse-width modulated signal utilizing our knowledge of PWM and timers from previous chapters. Of course, this will be done through practical examples such as creating a pulsating light, and sounding some familiar tunes.
18 USB Communication
The author(s) of the chapter: Gábor Kalmár
Today we can hardly imagine our life without USB, or Universal Serial Bus. In this chapter we will see how to communicate between our PC and microcontroller using the USB port. Not only can you learn about the communication on a serial port and the structure of the messages, but we also will show you how you can send text and commands to your device. At the end of the chapter we even make PC controlled light strip.
19 EEPROM, Non-Volatile Memory
The author(s) of the chapter: Szabolcs Veréb
After quickly summarizing the different types of memories available we dive into the world of EEPROM memories. There are many simple applications where we already need to use non-volatile memories, such as counting steps, or storing a configuration option (e.g. TV volume, channel list). The theory here is interesting by itself, but we added some thought experiments, practical advice, and examples as well.
20 Voltage Regulators, Current Limiters with Transistors
The author(s) of the chapter: Viktor Vincze
Most electronic circuits need a constant, stable voltage supply for correct operation, and limiting the current is also useful to protect against unexpected external conditions. In this chapter you can see several solutions to both problems, and you can try them out yourselves with example circuits or on your own.
21 Immediate Events in the Software, Interrupts
Interrupts make it possible to react to events immediately, and never miss anything. Unfortunately, it introduces some new problems as well. Through a basic example with a push button we showcase the workings of interrupts and their special properties. In embedded systems you will see a lot of interrupts in the future, so you better be prepared.
22 Processing Analog Signals, the ADC
The author(s) of the chapter: Erzsébet Szomorú-Ozsváth
Our world we live in is analog by nature, but our programmable circuits are digital. Our sensors can read the analog world and create an analog signal, but our microcontrollers only understand digital signals. To bridge the gap, we use analog-digital converters, or ADC-s. Through easy-to-understand examples we will show what to look out for while such a conversion, and how you can use the ADC peripheral of your microcontroller.
23 Additional Useful Sensors
The author(s) of the chapter: Tamás Pepó
Sensing is very important in todays automated world, as our machines have to get information about their surroundings somehow and react to them (be it a simple washing machine, or Optimus Prime himself). We have already learned about a few sensors before but that was only the tip of the iceberg. Now, we dig a little deeper, and learn about a ton of new sensors, and their classification. We talk about the most commonly used sensors in robotics, and their variants in detail.
24 Control and Regulation
This is the final chapter of our curriculum, and you will need all the knowledge from the previous ones. We only talk about control theory a little bit, as that would require more in-depth mathematical knowledge, but we will dive deep into regulation! In the example project we will make a digitally adjustable thermostat. The switching temperature is set via a USB connection, we measure the voltage of an NTC with the ADC of the microcontroller, calculate the temperature, and switch a 12V ventilator on or off trough a FET as necessary.
25 List of Tools and Components
You can find all the tools and components used in the curriculum in this list.
Currently recommended development tools and components
We have prepared a summary table in which you can find which STM32 development card (Nucleo / Discovery) and which additional elements you can use to try out what is described in the course material.
The example codes must be rewritten (ported) according to the given card, but you will find help for this in the first chapters of the course material.
For example, when creating a project in STM32CubeIDE, you select the available board, then in the hardware configurator you set the device according to the example code.
The project can then be compiled by copying the appropriate files of the example codes.
In the schools that test the curriculum, the students use a unique development card that can be seen in the curriculum, but we have not yet found a suitable opportunity to produce it. The suggestions in the table above offer cheap, full-featured, generally available solutions.