ATmega1284P: End to End using 1.0 IDE

Working on a thru hole, single sided, DIY etch, 1284p in a small form factor if anyone is interested.

SS1284a_R2.pdf (19.2 KB)

Are you going to populate both sides of the board?
You should connect pin 1 of the FTDI header to the reset line through a 100nF capacitor for "automatic" reset (rather than manual).

Your schematic could use a few more signal names added, make it more clear what is connected to what: Vcc, Gnd, Reset, etc.
The board could use more pin names. As is, can't tell what is what. For example, the right hand of PortC is actually a pinfrom Port D.
How did you pick the pin for the activity LED?
I have always used the SCK pin to be consistent with Arduino boards.

The board will apparently have components mounted on both sides (unless you have a tall socket for the 40 pin DIP).
How about some mounting holes so some standoffs could be attached to hold it off a table, whatever? Or to attach it to something.
2nd the recommendation on DTR cap.

Thanks for the input but here is more information just to clarify. As stated "working on" it's a single sided board so all parts go on top side and soldering is done on the bottom, 0.1uF / 100nF / 100000pF whatever value you wish to call it is already on the reset /DTR pin (see C2). Pin assignment is just as maniacbug has laid out in the first post of this thread as not to confuse things and to keep from wasting a PWM pin on a blinky light which in my opinion a particularly bad move on Arduinos part but I'm in the process of adding a second design with the ACT LED on the SCK pin so you can have a choice. After properly labeling the pins, D7 will be noted but nothing can be done about it's placement just having to do with Atmels placement of pins using this single sided design. All components were carefully picked to insure that they fit nicely under the IC with the socket I have chosen. I've designed and produced plenty of DIY etched and have even written a how to article or two on the process and all in all I have had great success and just wanted to share, it was good enough to put more than one quadcopter in the air and still flying great after a little over a year. :smiley:

How about this - route pin 21 up around the power connector, the FTDI connector, between Reset & the 2nd pin, to a pad on Port D connector (where the S in reset is).
Most Crystals are ~4mm tall - that is low enough to fit under a DIP part in a socket? I wouldn't have imagined that would fit.

CrossRoads:
How about this - route pin 21 up around the power connector, the FTDI connector, between Reset & the 2nd pin, to a pad on Port D connector (where the S in reset is).
Most Crystals are ~4mm tall - that is low enough to fit under a DIP part in a socket? I wouldn't have imagined that would fit.

That was my first move but it crosses over the reset signal and kills the ground pour. I've fit a HC-49 under a socket for a 328p but it has to be the right socket and done carefully, then there is always the ECS HC-46X that's 1.8mm and still thru hole but I haven't tried them yet.

@theloon
You are using MCP1702 regulator. Data sheet says 250 mA Output Current for Output Voltages >= 2.5V
So wont that be a problem when say output pins starts providing more current? Please correct me if I am wrong.. :slight_smile:

Run the pin 21 trace between the FTDI's DTR and TX pin.

Caps also seem oddly sized - C2 & C6 are both 0.1uF, yet have different footprints.

C5 & C7 are physically smaller 22pF caps, yet also have large footprints.

C1 & C4 are 1uF and typically physically larger, yet have small footprints too.

I also know parts are available in all kinds of shapes & sizes tho, so these are just observations and not something that is necessary to change.

000:
@theloon
You are using MCP1702 regulator. Data sheet says 250 mA Output Current for Output Voltages >= 2.5V
So wont that be a problem when say output pins starts providing more current? Please correct me if I am wrong.. :slight_smile:

I'm drawing on a tried and true regulator used on the JeeNode although I haven't used it yet.

CrossRoads:
Run the pin 21 trace between the FTDI's DTR and TX pin.

Caps also seem oddly sized - C2 & C6 are both 0.1uF, yet have different footprints.

C5 & C7 are physically smaller 22pF caps, yet also have large footprints.

C1 & C4 are 1uF and typically physically larger, yet have small footprints too.

I also know parts are available in all kinds of shapes & sizes tho, so these are just observations and not something that is necessary to change.

If you study the .png long enough I'm shure you'll understand. :smiley: For example the physically larger cap @C2 is for ground pour and each size and type has it's own purpose. Ground pour issue still stands without increasing the overall size of the board.

Have any of you guys noticed when you set pinMode(4, input) the 1284p wont run? For me its only pin 4. Seriously strange, I have buttons going in to multiple pins, and pin 4 is the only one with this issue.

Here is the weird part:

When I set pin 4 as input and have the button/resistor hooked up - program wont run.
When I don't set pin 4 as input, but have the button/resistor hooked up - it works.
When I set pin 4 as input, and remove the resistor - it works.

I have absolutely no idea as to why this is. Ive tested many different resistors, multiple buttons, multiple PCBs that I have made, and also my DIP setup. Same thing everytime. Is it something with the button layout?

bamboosam, not enough info provided.
All we know is 1284.
What IDE? What board type are you using for pin assignments?

1284p "Mighty 1284p 16MHz Optiboot"

I am using arduino to compile the script, then I use AVRstudio to program it

I have tried it with my PCB / smd 1284p and also with my DIP package on a breadboard. They both have the same issue

So that's like physical pin5 on the chip? The SPI default SS pin?
You don't have SPI enabled after you set the pin as an input, do you?
That would set it back to an Output as far as I know, and odd things could happen.

Hmm... My setup is running an led strip which the library to control it uses SPI, pins SCK and MOSI...

but yes physical pin 5

hmm... Ok so it still doesn't work even if I set is as OUTPUT.

If I just dont set it to anything it does work...lol

Read the data sheet - SS pin has to be set to Output for SPI operations when the device is the Master.
Set it to OUTPUT before SPI.begin() is called.
I've never seen problems when using it that way.