Finally, it was a great experience, and the most surprising thing was that Freeguino really worked. I want to share my experience with you.
What is Freeduino?
It is an Arduino UNO board without any circuit boards.
It uses a technology called freeform to interconnect components through wires or copper wires rather than circuit boards. It looks simple and beautiful!
Why am I doing this? I often find it difficult to explain what free form electrons are and what they look like. And Freeduino is just a good example of free form electronic art, which can easily be compared with the famous Arduino UNO, so I made it.
You can check the previous LED pendant to learn the basic knowledge of brass welding, the tools and materials required.
Understand Arduino UNO circuit
Before actually starting welding, we need to understand the functions of Arduino UNO. It can be roughly divided into 4 blocks:
ATmega328 MCU
ATmega328P PDIP
16MHz oscillator
Anti shake capacitor
Power circuit
7-12V to 5V voltage regulator
5V to 3.3V voltage regulator
USB/input jack automatic selection circuit
Reverse current protection
USB to UART circuit
USB connector
Serial converter chip with oscillator and dither capacitor (ATMEGA8U2-MU)
Signal lamp
Power indicator
Default LED (D13)
ATmega328 MCU
First, we start with MCU and digital and analog IO pin connectors. Arduino UNO has an ingenious pin layout, which matches the layout of ATMEGA328 28-DIP package very well. Therefore, no cross conductors are required.
The only external component that ATmega328 works on is an external 16MHz oscillator that requires two 22pF capacitors. The ATmega328P has the least hardware. Now you can conduct the first test with the USBasp programmer through the AVR ISCP interface.
Power circuit
I made a special clamp for myself to fix the needle seat in the proper position, so as to leave enough welding space.
ATmega328 is powered by 5V. 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 2 regulators are required. First convert 7-12V to 5V, and then convert 5V to 3.3V. According to the recommendations in the data manual, I used two AMS1117 5V and 3.3V regulators and 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 creates two layers of freeform circuitry. I omit the automatic selection and reverse current protection, because it will make all the processes very complicated. Unless you are not satisfied with the boards, they may not be needed.
USB to UART circuit
This is important if you want to upload programs through the Arduino IDE without relying on the compiler. Well, it wouldn’t be cool without it. The original Arduino UNO R3 uses ATMEGA8U2-MU. Although it is great, it is too small for free form circuits. I decided to choose CH340C chip. It has a suitable SOP-16 package and requires only four external components – a dither capacitor, a reset capacitor, and two Tx/Rx line resistors. The fact that no external capacitors are needed greatly simplifies the entire circuit.
LED indicator
I don’t like those large THT LEDs, so I decided to use small SMD 1206 LEDs to send power, L, Tx and Rx communication signals. I regret it. I first solder a SMD resistor to them, and then try to solder it to the wire. This is tricky. I must use a low temperature soldering iron and solve the problem as soon as possible, otherwise the other side of the SMD assembly will be desoldered.
Can Freeduino light up?
First, I connected the external power supply to check the power regulator. All the voltage levels are good, so I continue to connect and upload the bootstrap program to the chip through the USBasp programmer. Surprisingly, the chip communicated at the first attempt. That’s a good omen. The external crystal oscillator works normally and all pins are connected correctly. The last step is to connect the USB cable, and then try to upload the blink program. Let’s see:
Now, I put it in transparent resin to make it less fragile.