Everyone knows about Arduino. Arduino is a convenient, flexible, and easy-to-use open-source electronic prototyping platform, including hardware (various models of Arduino boards) and software (Arduino IDE).
The hardware of the Arduino board is relatively simple. For most hardware engineers, drawing an Arduino board is not difficult. However, some engineers have made an Arduino UNO board using wire.
Now let’s introduce the relevant content:
Before we start soldering, we need to understand the functions of each part of the Arduino UNO. It can generally be divided into four blocks:
ATmega328 MCU
-
ATmega328P PDIP
-
16MHz Oscillator
-
Debounce Capacitor
Power Circuit
-
7-12V to 5V Voltage Regulator
-
5V to 3.3V Voltage Regulator
-
USB/Input Socket Auto-Selection Circuit
-
Reverse Current Protection
USB to UART Circuit
-
USB Connector
-
Serial Converter Chip with Oscillator and Debounce Capacitor (ATMEGA8U2-MU)
Indicator Lights
-
Power Indicator Light
-
Default LED (D13)
-
TX/RX LED
First, we start with the MCU and the digital and analog IO pin connectors. The Arduino UNO has a clever pin layout that matches very well with the ATMEGA328 28-DIP package layout, so there is no need for cross wires.
The only external component that the ATmega328 requires is an external 16MHz oscillator that needs two 22pF capacitors. The hardware of the ATmega328P is minimal. Now we can perform the first test with the AVR ISCP interface and USBasp programmer.
I made a special fixture to hold the pin socket in place, leaving enough space for soldering.
The ATmega328 is powered by 5V. The Arduino UNO has two power input sources—socket (7-12V) or USB connector (5V). It also provides 3.3V power for external components. This means two voltage regulators are required. First, convert 7-12V to 5V, and 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 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, as they would make the entire process very complicated. Unless you are dissatisfied with the board, you do not need them.
If you want to upload programs through Arduino IDE without relying on a compiler, this is important. Well, without it, it wouldn’t be that cool. The original Arduino UNO R3 uses the 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 debounce capacitor, a reset capacitor, and two Tx/Rx line resistors. The fact that no external capacitors are required greatly simplifies the entire circuit.
I don’t like those large THT LEDs, so I decided to use small SMD 1206 LEDs to emit power, L, Tx, and Rx communication signals. I regret it. I first soldered an SMD resistor to them and then tried to solder it to the wires. This was tricky. I had to use a low-temperature soldering iron and resolve the issue as quickly as possible, otherwise the other side of the SMD component would be unsoldered.
Can Freeduino Light Up?
First, I connected the external power to check the power regulator. All voltage levels were good, so I continued with the connections and uploaded the bootloader to the chip via the USBasp programmer. To my surprise, the chip communicated on the first attempt. 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:
Now, I encased it in transparent resin to make it less fragile.
Long press to go to the WeChat official account included in the image to follow
Leave a Comment
Your email address will not be published. Required fields are marked *