My standalone arduino, quick overview

I don't see that you have ground planes/pours/fills, whatever you want to call it, implemented in the latest iteration; you had it in earlier posts. Do that and it will make a lot of traces go away.

For the buffer chip, you have SCK going to 2 pins, one output goes to the card and other goes to an LED.
You have SS going to 1 pin, the output goes to the LED and to the SD card. What I am suggesting is to use 2 pins like you did for SCK, with the 2nd one driving the LED only and Not the card; thus SCK being active will not introduce noise into the CS line.

So this means that I should disconnect for example pin 6A from the ground and connect the SS pin to it, so I could connect R5 to pin 6Y.

Besides, could anyone explain me the difference between the Atmega328-AU and the Atmega328p-AU, can't find any difference between them.

Regards,
Niels

I tried to find it online but couldn't the exact solution but I guess, you meant to connect the LED and the SS pin as following.

Yes on the new LED connections.

Atmega328-AU and the Atmega328p-AU

The extra p means it is Pico-power.
Functionally no difference, if you read the data sheet you can find some small difference in power consumed.
If you look at table 29-8 and 29-9 in the May 11 datasheet for
ATmega48A/ATmega48PA/ATmega88A/ATmega88PA/ATmega168A/ATmega168PA/ATmega328/ATmega328P
(Atmel document 8271D–AVR–05/11)
you can see the current consumption differences.

Programming-wise, the parts have different signature bytes that the programmers read & use.
Table 28-10 show the signature byte differences
ATmega328 0x1E 0x95 0x14
ATmega328P 0x1E 0x95 0x0F

You can find other small differences too.
For example, in section 10.1 on sleep modes:

When enabled, the Brown-out Detector (BOD) actively monitors the power supply voltage during
the sleep periods. To further save power, it is possible to disable the BOD in some sleep modes.
See ”BOD Disable(1)” on page 41 for more details.

Note: 1. BOD disable is only available for ATmega48PA/88PA/168PA/328P. <<< The PicoPower parts

Oké, thanks a lot for all the help and support, I guess I can fine tune my board design with my current schematic as in my previous post and send it to my board house!

since the difference between those two versions (328-au & 328p-au) doesnt affect the functionality at all thus I will check the small differences as referred and base my choice on those facts.

Again, thanks and if there are any suggestions I am happy to hear them.

Niels,

One more.
You don't need R7. All the pins have internal pullup resistors:

pinMode(pinX, INPUT);
digitalWrite(pinX,  HIGH);  // turns on the pullup

Put 100nF caps from Vcc/Vdd and to Gnd on all devices (and some would suggest at the SD card also).

Put a 100nF in series from X2-4 to the reset line, will allow DTR on an FTDI Basic or similar to create a reset during programming.
Put a diode across the pullup resistor, somehow there is some noise generated or something when reset is toggled that can interfere with smooth programming, see the latest arduino designs.

Add one pin to X2 and change the order to:
GND-GND-5V-Rx-Tx-DTR
so an FTDI Basic or equivalent cable can be plugged right on.

Same with you ICSP, you seem to have room, make it a 2x3 header with pins:
MISO - 5V
SCK - MOSI
Reset - GND
to accept a standard 6-pin ICSP programming cable.

Having to come with adapter cables is a pain in the butt.

With 150 ohm resistor your power LED will be Really bright - maybe tone that one down some?
(5 - Vf-led)/150 = mA.
Vf-led - 2V?
(5-2)/150 = 20mA

ITG-3200 is not wired like the Typical application in the data sheet
http://invensense.com/mems/gyro/documents/PS-ITG-3200-00-01.4.pdf
Check your capacitor connections.

"The LSB of the of the I2C slave address is set by pin 9 (AD0)."
I would connect this pin hi or low, not leave it floating.

You are not monitoring the Interrupt line?
"Items that can trigger an interrupt are (1) Clock generator locked to new reference oscillator (used when switching clock sources); and (2) new data is available to be read from the Data registers. The interrupt status can be read from the Interrupt Status register."
I would think #2 would be important. You have IO pins free, connect it up, you can always ignore it.

Check the wiring for Vss on ADXL345.
"A 1 ?F tantalum capacitor (CS) at VS and a 0.1 ?F ceramic capacitor (CI/O) at VDD I/O placed close to the ADXL345 supply pins is recommended to adequately decouple the accelerometer from noise on the power supply."
"It is recommended that VS and VDD I/O be separate supplies to minimize digital clocking noise on the VS supply. If this is not possible, additional filtering of the supplies, as previously mentioned, may be necessary."
Wire up the INT pins - same logic, you can always ignore them. Hard to add in after the fact.

I'm almost getting ashamed asking but it's so helpful. :blush: :stuck_out_tongue:

Hopefully the last schematic and board I post. Any advice is welcome again, though, hopefully not necessary.
This my (end)result i've come up with, taking all advices into account. :grin:

Regards,
Niels

I'm good with that.

CrossRoads:
I'm good with that.

Just ordered the pcb. The waiting starts.
Thanks for your expertise and useful feedback, I will post the finished pcb on the forum.

Kind regards
Niels,

Where did you order from?

They are capable to produce prototype pcb's for an acceptable price and relatively fast (7 days), though I still need to solder the smd components myself which will probably be a challenge.
Don't have experience with them, though a friend of mine advised them.

Do you have any suggestions for the future maybe?

Niels,

No suggestions for Europe. VAT over there always seems to put the damper on anything I could suggest.