Creating a Freeduino: A Skeleton Arduino Project

【Click the blue text above to follow DF and become a tech aesthetics enthusiast!】

Creating a Freeduino: A Skeleton Arduino Project

Total words:1672 words14 images

Estimated reading time:5 minutes

Creating a Freeduino: A Skeleton Arduino Project
“Skeleton” Arduino Uno

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

Creating a Freeduino: A Skeleton Arduino Project

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.

Creating a Freeduino: A Skeleton Arduino Project
Arduino UNO Pin Diagram
Creating a Freeduino: A Skeleton Arduino Project

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.

Creating a Freeduino: A Skeleton Arduino Project

Power Circuit

I made a special fixture to hold the pin headers in place, leaving enough space for soldering.

Creating a Freeduino: A Skeleton Arduino Project
Custom fixture holds the pin headers in place

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.

Creating a Freeduino: A Skeleton Arduino Project

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

Creating a Freeduino: A Skeleton Arduino Project
CH340C USB to UART converter

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.

Creating a Freeduino: A Skeleton Arduino Project

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.

Creating a Freeduino: A Skeleton Arduino Project

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.

Creating a Freeduino: A Skeleton Arduino Project
A photo with the original Arduino UNO
Creating a Freeduino: A Skeleton Arduino Project
View from below
Creating a Freeduino: A Skeleton Arduino Project
Top view

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

...

Leave a Comment

×