Using Atmega328p

By Dan Chen, November 22, 2015

Using Atmega328p

I would like to make 2 servos with 2 degree of freedom that moves up and down and side to side based on the finger gestures. I require more pins than the Attiny 44. I decided to go with Atmega328p and make my own version of Arduino ( same as Arduino pro mini board).

It took me a few trials to get the basic board running, but once it’s working I added the reset button, the USB external power jack (unregulated) and I added several servo pins.
I limited my self to design the board under 4″ by 2″, I also broke out several Analog and Digital pins.

I used the following charts to help me map out the  board.

atmega328-pinout-datasheet-32TQFP-28-PDIPatmega328-tqfp-arduino-pinout copy

hello-1.arduino.328P

IMG_0529

Tip: To make the milling and stuffing easier you will want to make the pads that only comes from inside of the IC longer, extend the out a bit more. Also deleting the unused pin traces also helps with the stuffing. (The IC has enough pins to hold itself in place)

# Keep Vacuum on when it’s milling the IC / or clean the board dust once a while
# Reduce the speed from 4 to 3 or 2
# Delete unused traces with photoshop
# Make the trace that you really want longer, and center the wired trace to the ic pad (you can also off set them if they are at the corner)
# make sure the lines are 90 degree going into the IC

Example: I deleted the unused USB data pins, only leave the GND and VCC

dan823.v5.trace Screen Shot 2014-11-16 at 12.12.15 PM

Download All Eagle Files

Tips for getting Arduino IDE working on your own board

#1. Here are the json URLs for all Mega & Attiny board with all sorts of processor speed (1, 8, 16, 20 mHz)

Open up your Arduino preferences window,
Paste The following URLs into the Additional board section.
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json,https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json,https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_atmega8_series_index.json
Screen Shot 2015-11-23 at 10.59.25 AM
Go to board manager (tool> board) to install
Install these 2 items under board manager (you might need to restart to see them)
Screen Shot 2015-11-24 at 12.49.03 AM

#2. Burn Boot Loader using your FabISP from previous class or AVR MII

Just make sure you pick the right processor speed, especially internal vs external.

#3. Done!
All you need to program now is the FTDI cable, you can also use ISP pins to do all your programing and take out the FTDI cable all together (you might want to break out the TX/RX if yo wanna do serial tutorialcommunication)