- Building a DIY Arduino Clone (1): Introduction
- Building a DIY Arduino Clone (2): Choosing Parts
- Building a DIY Arduino Clone (3): Burning the Bootloader
- Building a DIY Arduino Clone (4): Assembly to Completion
Using the ATmega328P we flashed a bootloader onto last time, we're finally assembling the Arduino clone.
Here's the circuit diagram for the external-clock version.
It looks like a lot of parts, but HEADER-1 through HEADER-4 are just pin headers.
The FTDI USB-serial module just plugs into a pin header — no soldering needed for it.

And the internal-clock version. I left out the pin headers here to keep the diagram clean.

The external-clock version has a few extra parts for the crystal oscillator circuit, but otherwise the steps are the same for both.
Prototype on a Breadboard
Before committing anything to solder, verify everything works on a breadboard first.
Pin headers aren't needed at this stage.
Once assembled, connect to your PC via the FTDI USB-serial module and upload a sketch from the Arduino IDE.
Select the same board type you used when burning the bootloader in the previous step.
The classic first test is a blink sketch. Run the Blink example and the LED on D13 should flash.
Laying Out on the Perfboard
Once the breadboard build works, transfer everything to a perfboard (universal PCB).
Cut the breakable pin headers into four sections: 6-pin, 5-pin, 4-pin, and 14-pin.
Before soldering anything, do a dry-run with all components placed to figure out how to route wires without any awkward crossovers.
A few things worth paying attention to:
Pin 22 (GND) and Pin 20 (AVcc)
These should be tied to Pin 8 (GND) and Pin 7 (Vcc) respectively — this is recommended for noise suppression.
That said, it's only strictly necessary when driving noisy loads like motors; the circuit will work without it in quieter applications.
Running the connections from the back of the chip is easiest, but the 7–20 and 8–22 wires cross each other.
One of them will need to take a detour around the outside of the chip, or use an insulated jumper wire.
FTDI USB-Serial Module
As always with serial connections: ATmega328P's RX goes to the module's TX, and TX goes to RX. That's just how RX/TX works.
Orient the 6-pin header so that the module's pin 6 (GND) is on the ATmega328P's pin 1 (RESET) side.
It's a bit fiddly, but as shown in the diagram below, you can use resistors and capacitors as routing aids to avoid wire crossovers.
Red lines in the diagram are traces on the back of the board; green lines and components are on the front.

With the pin header placed this way, the USB-serial module's socket plugs straight onto the header — no jumper wires needed.
As mentioned before, this is why a dongle-style FTDI adapter (socket type, no cable) is recommended.
Soldering to the Perfboard
A few tips for soldering on perfboard — obvious to experienced builders, but worth noting:
- Use component leads for wiring.
Bend resistor and other component leads along the back of the board to make connections. Using as few loose wires as possible keeps things tidy. - Solder only at the ends and at bends.
For a straight run of bent lead, only solder the two endpoints and any corners — not along the entire length. It wastes solder and increases bridging risk. I solder at the corners to stop things shifting, but some people truly do only touch the two endpoints. - Use intentional solder bridges for adjacent connections.
When the destination is immediately next to the source, bridge them with solder on purpose. Bending a lead over one hole and back looks messy.
Snapping the Perfboard
Most people probably cut the board before soldering, but I wait until everything is soldered so I can rearrange if needed. The downside: a bad snap at the end wastes all the work.
To snap off the unwanted section:
- Score a straight cut along the top surface with a craft knife, running between the holes in a straight line.
- Place a ruler along the scored line and grip with pliers.
- Fold away from the ruler (valley fold toward the scored side) to snap it off.
If anyone knows a better method, I'd love to hear it.
And that's it — the finished Arduino clone.
Plug the USB-serial module into the 6-pin header at the bottom-left of the board and you're connected to your PC.
Tidying up the area around the blue capacitors might shave a bit more size off.

I'm still researching, but I'd love to eventually mount a MAX3521E USB host controller on this board to integrate a USB Host Shield, and add a motor driver too — making a self-contained Wii Remote RC controller module.
I'll write it up if I ever get the design working.
No comments:
Post a Comment