Every one of us has experienced this, you see a great project on the internet, but based on a few pictures and maybe a few comments in the source code it is simply not possible to rebuild this project. Besides the photos, a schematic drawing or schematic would be very helpful there. With many of AZ-Delivery's blog posts, you get these drawings delivered directly in the form of Fritzing images.
Therefore, in the first part of this series, I want to introduce you to the Fritzing tool and a few basic functions of this application. At the same time, as it is not only proper in programming, there are certain rules to make such a drawing more readable.
The second part is dedicated to the creation of circuit diagrams. Then, in the third part of this blog series, I explain in more detail how to add external parts to your fritzing parts, and where the best sources are to find them. Then, in the fourth and final part of the series, I'll cover how to create your own parts. This includes what Fritzing's rules are for doing this, and what tools you'll need to do it besides Fritzing.
What is Fritzing
If you go to Fritzing.org, you'll find the right answer right away.
"Fritzing is an open source hardware initiative that makes electronics as creative material accessible to everyone. We offer a software tool, community website, and services in the spirit of Processing and Arduino, fostering a creative ecosystem that allows users to document their prototypes, share them with others, teach electronics in the classroom, and design and make professional circuit boards."
Quote 1: Translation from Fritzing.org
To keep it simple, Fritzing is software for anyone to use to create, share and document electronics schematics. Open source hardware initiative goes back to the open source idea. The source code of Fritzing is available to everyone at https://github.com/fritzing/fritzing-app.
and in general anyone who can program C++ and QT can contribute to this project.
The application is available for Windows, macOS and Linux and for this Fritzing only wants a small donation. In addition to being available on all major operating systems, this application will also be translated into a variety of languages. The current version 0.9.4 includes a total of 21 languages!
Where do I get Fritzing from
For most operating systems, especially Windows and macOS, you should download the latest version from https://fritzing.org/download/ and install it according to the instructions for the respective operating system. The same applies to Linux, the most common representative on PCs here is Ubuntu, although there may well be older versions to install in the package administrations. I would recommend the installation of the current version from the homepage.
Sometimes you can also find so-called "portable versions" on the Internet, i.e. a version that is installed and executed on a USB stick without requiring admin rights on a PC. In this case, however, the version on which the program is based must be taken into account. I have not been able to find a portable version of Fritzing 0.9.4 yet.
The first start
Once you have installed Fritzing, you can start it directly. There is no registration or any other kind of licensing to use the application. I divide the structure of the software into four groups, see Figure 1.
At the top is the menu bar (1), which is present in all applications. It can be used to change the appearance and settings through the various submenus, as well as load and save projects.
Below it there is a quick selection (2) for the five views needed. These can also be selected via the menu bar -> View or the shortcuts Ctrl + 1 - 5, but clicking on the right view is faster. Right at the beginning I would like to briefly explain the different views.
|Welcome||A simple view that shows the latest drafts on the top left or gives us the option to open a new draft or existing draft. In addition, every now and then there is new info from the blog or additional info. Here you will probably spend little time.
||Strg + 1|
|Plugboard||In the plug-in board view, the projects are plugged together to the schematic drawings. The work in this view is explained in detail.||Strg + 2|
|Circuit diagram||The view Circuit diagram is rather intended for the (hobby) electronics engineers who want to have a proper circuit diagram. Here the structure on the plug-in board is converted into a DIN-compliant drawing. Whereby convert here is not quite correct, because also here you have to correct the traces. At a later time I will come back to the view.||Strg + 3|
|Circuit board||Especially when projects are not only to be immortalized on the plug-in board, but on a PCB, (hobby) electronics engineers will invest time here. The view is not as good as a program like Target 3001!, but it is enough to create simple PCBs.||Strg + 4|
|Code||Since Fritzing was popular for Arduino projects in the past, there is an editor to enter Arduino code right into Fritzing. You can only select and use Arduino modules. If you want to program an ESP32 for example, you have to switch to the Arduino IDE.||Strg + 5|
On the right side there is the window bar (3), which displays the component and the inspector window. Additionally, the course window and the layer window can be displayed. Theoretically I can place each window freely on my desktop, but in most cases the two most used windows remain in the window bar.
Finally, there is the main view (4), which differs depending on which view (2) is selected. This view, as you can see from the behavior of the window bar, is the only element that changes.
The small style guide of the schematic drawing
Before we start with the first drawings, I would like to clarify how important certain rules are when creating schematic drawings. Every programmer has heard of the style guide and such rules also exist for drawings. Don't worry, there won't be half a study from the field of "technical drawing" now, but it's about basic thoughts. Let's take a look at Figure 2.
Figure 2: Example blink not neatly drawn
This is a simple example, but already here it is noticeable that the traces and the components are arranged somewhat strangely, and it is unclear why the traces run across the Arduino Nano. If one now thinks of more complex projects, the chaos when reading the schematic drawing would be perfect and a reconstruction almost impossible. The situation is different in Figure 3.
Figure 3: Example Blink, no conductor tracks over the controller
The traces no longer cross the Arduino Nano and the assignment of the pins to the components has become clearer.
Compared to Figure 2, you can now clearly see that no other pins, except D13 and GND, are used by the Arduino Nano. However, the slanted traces are a bit disturbing. In this case, it would be enough to simply adjust the resistor and the LED a bit and set one or more bend points for the trace. The result can be seen in Figure 4.
So far everything looks logical and everyone can recreate this example, I think they will agree with me?
But what does it look like if I now show you Figure 5?
Figure 5: Example turn signal on a piping board and without a slot
Figure 5: Example turn signal on a piping board and without a slot
The first picture above is directly rebuildable even for an inexperienced hobbyist. The second picture would be enough, but the first one makes it directly clear what is required. At the same time, colors are used to make the drawing even more understandable. Only gray lines would lead to short circuits in larger projects, since one loses nevertheless times fast the overview. From the electrical engineering, the neutral conductor (ground) is shown in black and the phase (voltage) in red, but in principle the choice of color is free.
In summary, the following rules can be defined:
- Use components that are relevant for the project or use comparable components.
- The arrangement of the components should be done on a breadboard or chosen sensibly
- Traces must never cross components
- Traces always run at right angles and never at an angle
- Use of colors to better distinguish traces
- Traces should never cross other traces. If this is not possible, the traces should have different colors and the intersection angle should be as right-angled as possible.
- Use as much space as necessary and as little space as possible for a proper schematic drawing.
The first schematic drawing
Now that the basics and the style guide have been explained, let's turn our attention to the first schematic drawing. For this purpose, we will use components that Fritzing already brings along by default, since we will only deal with the import of components later on.
We want to obtain the following schematic drawing at the end, see Figure 6.
Figure 6: Finished schematic drawing
The exact function is a minor matter for now, just like the possible programming of the Arduino Uno with the used components. In order to create the schematic drawing, Fritzing must be started. After that you can switch directly to the plug-in board view. It doesn't matter if you use the shortcut Ctrl + 2 or the way via the menu bar or quick selection. You will immediately see that Fritzing displays the plug-in board by default, see Figure 7.
Figure 7: View of
If the plug-in board is not displayed, there is a first hurdle for you. Fritzing components have English names, so you will not find anything when searching (magnifying glass symbol in the component window) with the term "breadboard". Therefore we first search for "breadboard" and find a small list with different types, see Figure 8.
Figure 8: Find a board board (Breadboard)
Now you will be surprised why when searching for a plug-in board, suddenly other components are displayed like the ESP32-38Pin shown above on the left. Well, this is because Fritzing not only checks the component names when searching for terms, but also searches the descriptions for the search word. Therefore, you will often find more to a term than just the component you are now searching for.
To insert another plug-in board, we use the second hit, the second symbol from the left in the top row, from the results bar and, holding down the left mouse button, drag the object into the drawing plane, see Figure 9.
Figure 9: Create the plug -in board at the drawing level
You now see a pegboard, but it is not the pegboard that was wanted or is currently in your tinkering box? This is where the Inspector window comes into play. Some components, like the plug-in board, are grouped in a family and it is possible to change various parameters of the component via the properties. This has later also effects on the plug-in diagram! In the following you change the size of BB-301 to full+ and you get the result like in figure 10.
Figure 10: Change the piping board to size Full+
Admittedly, the second plug-in board is not necessary for the project right now, so it is marked and deleted from the drawing view with the Del key. I just wanted to illustrate how you can bring components onto the drawing layer and how you can modify the properties.
So let's continue the schematic drawing for our example project and drag the following components onto the drawing layer, already trying to arrange the components in a sensible way, see Figure 11.
- Resistor 220Ω, to be found under Core or in the search under "Resistor".
- Red LED, to be found under Core or in the search under "red LED".
- BME280 breakout board, to be found under SparkFun or in the search under "BME280"
- Arduino Uno (Rev3), can be found under the Arduino icon or in the search under "Arduino Uno".
The first thing to notice is that the resistor and also the BME280 are misaligned for connection. Both components should be rotated by 90° and the LED best by 180°. So that everything fits, we select the component and open the help menu with the right mouse button. In the Rotate category, we select the desired rotation, see Figure 12.
Figure 12: New orientation component
If all components are correctly oriented, the drawing area should look like in Figure 13.
Figure 13: Components correctly oriented
First, the LED and the resistor are connected to the Arduino Uno. To do this, we place the resistor on the plug-in board and reposition the resistor accordingly. As we did when inserting a component into the drawing area, we grab the component with the left mouse button and move it onto the plug-in board. You will notice that a small symbol appears directly next to the mouse button, telling you that the component has been aligned to the breadboard's hole grid, see Figure 14.
Figure 14: Resistance oriented towards the panel board
Now let go of the left mouse button, the rows turn green at the level of the resistance, see Figure 15.
Figure 15: Resistance on the cutboard set
Thus Fritzing gives us the feedback that now wiring in the corresponding row also has an effect on the resistor and the indicated plug holes. Especially with more complex circuits this is very helpful.
However, Fritzing does not give feedback if we accidentally build a short circuit; here you have to keep track. Finally, connect the anode of the LED to the resistor. Hover over a plug hole below the resistor and you will see a new symbol next to the mouse pointer, see Figure 16.
With this Fritzing gives us the feedback that we can start a wiring at this point. Since the LED is to be connected to the resistor, hold down the left mouse button and drag the new trace to the anode of the LED and release. The result will look like Figure 17.
Figure 17: Conductor between resistance and LED
With the current knowledge we connect the other side of the resistor to pin 0 on the Arduino Uno and connect the cathode of the LED to Ground of the LED. Since the board has a bus for the power supply on both sides, we connect Ground from the Arduino to the bus of the board and from there we connect the cathode of the LED to Ground. In Figure 18 you can now see the intermediate result of the corresponding plug-in connections.
At this stage, the same color and the oblique course of the two wirings are neglected, this will be corrected at a later stage.
Next, the BME280 is connected to the Arduino and also the power supply is established. As before with Ground, the phase of 3.3 volts should run through the bus. At the same time, the wiring for I2C communication between the BME280 and the Arduino Uno is drawn in. SCL is needed on pin 13 and SDA on pin 12 from the Arduino Uno. On the BME280 the corresponding pin is labeled.
If you now look at Figure 19, you will notice that some problems can arise when building the circuit. The wiring is partly skewed, the colors of the wiring are all blue and at the power row of the Arduino it is not obvious what exactly was wired.
Now we come to the style guide, which was explained before the project. In order for the project to be rebuildable for everyone, the fine-tuning of the drawing must now take place. First, all the wiring is drawn at right angles. If you move the mouse pointer over a wiring, Fritzing gives the option to insert a bend point, see Figure 20.
Figure 20: Insert bending point for wiring
By pressing the left mouse button, the symbol of the bend point appears, which can be placed at any position on the drawing area, see Figure 21.
Figure 21: New bending point for wiring
At the same time, when the left mouse button is released, another symbol is displayed next to the mouse pointer. The small black dot, see Figure 21, says that Fritzing has detected the bend point and thus it can be moved. We can also repeat the process to insert a second bend point. For our project, all the wiring is now arranged at right angles, see Figure 22.
Figure 22: Draw wiring right angles
You will probably wonder now why the wiring at pin 12 and 13 on the Arduino Uno is still not right-angled, although that is the aspiration. The answer lies in the position of the "Digital" header from the Arduino. This does not adhere to the grid spacing, which can be seen well in the distance between pin 7 and 8 compared to VIN to A0.
Therefore an Arduino Uno does not fit on a breadboard and the wiring cannot be drawn in right-angled. This could be fixed now, but it would require an adjustment of the complete component element and would be simply too cumbersome here.
For the clarity now still the color of the wirings disturbs, since these are all blue. So that the plan becomes still more understandable, the color is to be adapted now. For Phase and Ground it should be red and black, for SCL green, SDA yellow and the connection of the LED anode via the resistor should remain blue. Move the mouse pointer over a wiring until it is outlined in gray and then press the right mouse button. In the help menu, see Figure 23, you can select the desired color under Wire color.
Optionally, the wiring can also be selected and the color can be changed via the Inspector window, under the item Properties Color, see Figure 24.
Figure 24: Change the wiring color via inspector
Now edit all wiring colors with one of the two methods. The result should look something like Figure 25.
Figure 25: Finished schematic drawing
With this you have made a simple schematic drawing to a small project. Basically, the way up to here is not that difficult and easy to master for everyone. I hope you enjoyed it and look forward to part 2 when the schematic drawing becomes a schematic and a PCB.
You can find more projects for AZ-Delivery from me at https://github.com/M3taKn1ght/Blog-Repo.