let me count loud :) by the way, i guess the GND pin on the arduino allows more than the 40mA? So i could connect all the GNDs to this?
There is only (likely) going to be a single ground path, so your number will really be as follows (along with my comments):
4x brushless motor:
-4x signal (I/O)
-1x 5V (to power the arduino)
Usually you use r/c motors for such a beast, running at 7.2 or 9.6 volts; you must mean the motor controllers. The controllers would run off one or more BEC(s); so you really only have one servo signal wire to each controller, for four signal wires needed to control the motors.
I would actually use a small servo controller board to take the load off the Arduino; distributed processing, in other words.
1x 10 DoF Board
Ok - so some kind of an SPI imu or something - if you can get your GPS and ultrasonic devices set up for SPI - all the better, since SPI is a bus, and you only need those lines for all devices.
Negligible - you only need a single line for an LED (remember the current-limiting resistor!)...
-actually no idea, since i do not know the actual module yet,
As noted, SPI on this part would be nice, but if not, it likely has some kind of logic-level serial interface - so one or two lines.
-im not sure if there are pass through pins, but it uses 14 pins
You might want to look into this further before committing to something - if you can find an XBee interface that offers serial or SPI, you'll be much better off. You might also want to look into using something other than XBee for communication (just a thought), something that is "lighter weight" in the "number of pins needed" department, unless you have a specific reason for XBee.
Again, SPI here would be nice; alternatively, you could wire a single trigger line up to all of the modules, then fire all of them, and monitor the echo individually (you didn't say if the echo was a digital high signal, or an analog voltage?). The problem there, of course, will be timing and such. You might actually want to build and dedicate a "standalone" Arduino to this function, and communicate with it via SPI or serial.
Note that on everything I noted regarding SPI, that the parts, if they support SPI (or you implement it in some manner), have to have the capability to set the address on the bus, or not have any conflicting addresses, otherwise it won't work.
soo? is this even possible? :)
In theory, it may be possible, if I've counted things correctly (especially if you use a servo controller for the motors, and get everything else as SPI and/or serial, and set up the ultrasonics using a standalone Arduino controller).
But you might be more comfortable using some minified form of the Mega (they exist, you'll have to look for 'em), just for the extra code and RAM space you'll need for all the libraries you'll be using. But I would still use a distributed approach for the design; you'll have a more modular system with fewer wires to debug (and/or come loose during flight), plus you can offload the processing and make your code potentially simpler (from a maintenance and debugging standpoint, you'll want that). For any "complete" Arduinos, use standalone versions, or miniature "bare" versions where ever you can (you can dev on standard boards, but you shouldn't use those for the flight packaged version). Remember, the less you carry on-board the machine, the longer the flight duration, and the more you can carry of other stuff (camera, sensors, telemetry, etc).