Everyone knows about Arduino, which is a convenient, flexible, and easy-to-use open-source electronic prototyping platform.It includes hardware (various models of Arduino boards) and software (Arduino IDE).
The hardware of the Arduino board is relatively simple, and for most hardware engineers, it is not difficult to design an Arduino board. However, some engineers have made an Arduino UNO board using wire.
Below, we will introduce related content:

Before we start soldering, we need to understand the functions of each part of the Arduino UNO. Generally, it can be divided into four blocks:
ATmega328 MCU
-
ATmega328P PDIP
-
16MHz oscillator
-
Debouncing capacitor
Power circuit
-
7-12V to 5V voltage regulator
-
5V to 3.3V voltage regulator
-
USB/input jack auto-selection circuit
-
Reverse current protection
USB to UART circuit
-
USB connector
-
Serial converter chip (ATMEGA8U2-MU) with oscillator and debouncing capacitor
Indicator lights
-
Power indicator light
-
Default LED (D13)
-
TX/RX LED


First, we start with the MCU and the digital and analog I/O pin connectors. The Arduino UNO has a clever pin layout that matches the layout of the ATMEGA328 28-DIP package very well. Therefore, there is no need for cross wires.
The only external component that the ATmega328 relies on is the external 16MHz oscillator, which requires two 22pF capacitors. The hardware of the ATmega328P is minimal. It can now be tested for the first time with the AVR ISCP interface and the USBasp programmer.

I made a special fixture to hold the pin header in place, leaving enough space for soldering.
The ATmega328 is powered by 5V. The Arduino UNO has two power input sources—jack (7-12V) or USB connector (5V). It also provides 3.3V power for external components. This means that two voltage regulators are needed. First, convert 7-12V to 5V, then convert 5V to 3.3V. According to the recommendations in the datasheet, I used two AMS1117 5V and 3.3V voltage regulators along with some capacitors.
To simplify the operation, I soldered the power circuit to the outside of the board and then placed it on the data line. This actually created two layers of free-form circuits. I omitted the auto-selection and reverse current protection parts because they would make the whole process very complicated. Unless you are not satisfied with the board, you do not need them.


If you want to upload programs through the Arduino IDE without relying on a compiler, this is important. Well, it wouldn’t be as cool without it. The original Arduino UNO R3 uses ATMEGA8U2-MU, which is great but too small for free-form circuits. I decided to choose the CH340C chip. It has a suitable SOP-16 package and only requires four external components—a debouncing capacitor, a reset capacitor, and two Tx/Rx line resistors. The fact that no external capacitors are needed greatly simplifies the entire circuit.


I do not like those large THT LEDs, so I decided to use small SMD 1206 LEDs to emit power, L, Tx, and Rx communication signals. I regretted this. I first soldered an SMD resistor to them and then tried to solder it to the wire. This was tricky. I had to use a low-temperature soldering iron and solve the problem as quickly as possible, or the other side of the SMD component would be unsoldered.
Can Freeduino light up?
First, I connected the external power supply to check the power regulator.All voltage levels are good, so I continued with the connection and uploaded the bootstrap program to the chip via the USBasp programmer.Surprisingly, the chip communicated on the first try.That was a good sign.The external crystal oscillator worked normally, and all pins were correctly connected.The last step was to connect the USB cable and try to upload the blink program.Let’s see:
I am now encasing it in transparent resin to make it less fragile.