Total words:1672 words14 images
Estimated reading time:5 minutes

Yes, I did it. It was hard, took me several days, but I did it.
In the end, it was a great experience, and the most surprising thing is that the Freeduino actually works. I want to share my experience with you.
What is Freeduino?
It is an Arduino UNO board without any circuit board.
It interconnects components using a technique called freeform, using wires or copper instead of a circuit board. It looks minimalistic and beautiful!
Why did I do this? I often find it hard to explain what freeform electronics are and how they look. And Freeduino is a great example of the combination of freeform electronics and art, easily comparable to the famous Arduino UNO, so I made it.
You can check out the previous article on LED jewelry to learn the basics of brass welding, the tools, and materials needed.
Understanding the Arduino UNO Circuit

Before we start soldering, we need to understand the functions of each part of the Arduino UNO. Generally, it can be divided into 4 blocks:
ATmega328 MCU
-
ATmega328P PDIP
-
16MHz oscillator
-
Debounce capacitor
Power Circuit
-
7-12V to 5V regulator
-
5V to 3.3V regulator
-
USB/input jack auto-select circuit
-
Reverse current protection
USB to UART Circuit
-
USB connector
-
Serial converter chip (ATMEGA8U2-MU) with oscillator and debounce capacitor
Indicator Lights
-
Power indicator light
-
Default LED (D13)
-
TX/RX LED
ATmega328 MCU
First, we start with the MCU and the digital and analog IO pin connections. The Arduino UNO has a clever pin layout that matches very well with the ATMEGA328 28-DIP package layout, so no cross wiring is needed.


The only external component that the ATmega328 requires is an external 16MHz oscillator with two 22pF capacitors. The hardware for the ATmega328P is minimal. Now we can perform the first test with the AVR ISCP interface and the USBasp programmer.

Power Circuit
I made a special fixture to hold the pin headers 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 two regulators are needed. First, we convert 7-12V to 5V, then convert 5V to 3.3V. Following the recommendations in the datasheet, I used two AMS1117 5V and 3.3V regulators along with some capacitors.

To simplify operations, I soldered the power circuit to the outside of the board and then placed it on the data line. This effectively created two layers of freeform circuit. I omitted the auto-select and reverse current protection parts, as they would complicate the entire process. Unless you are dissatisfied with the board, they are not necessary.
USB to UART Circuit

If you want to upload programs through the Arduino IDE without relying on a compiler, this point is crucial. Well, it wouldn’t be as cool without it. The original Arduino UNO R3 uses ATMEGA8U2-MU, which is great but too small for freeform circuits. I decided to go with 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 needed greatly simplifies the entire circuit.

LED Indicators
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 regretted it. I first soldered an SMD resistor to them and then tried to solder it to the wires. It was tricky. I had to use a low-temperature soldering iron and resolve the issue quickly, or the other side of the SMD component would come off.

Can Freeduino Light Up?
First, I connected the external power to check the power regulator. All voltage levels were good, so I continued the connections and uploaded the bootstrap program 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 correctly, and all pins were connected properly. The final step was to connect the USB cable and try to upload the blink program. Let’s see:
Now, I am ready to encase it in transparent resin to make it less fragile.



I am Jiri Praus. Welcome to my website www.jiripraus.cz
———————————————
Project Author:Jiří Praus
Editor:Roy
References:
A Skeleton Arduino Uno
https://www.hackster.io/jiripraus/a-skeleton-arduino-uno-89bdd6
High-definition files of the Arduino UNO R3 schematic and pin diagram, click “Read Original” to download
...