Using Arduino Mega.
What is the fastest way to communicate with an external computer. I am sending a decent amount of data to/from the Arduino to my computer and using serial is just not fast enough. There is the Ethernet shield but that is not really designed for the mega. I understand that with some hardware modifications it should work.
Any suggestions or directions in the right way are greatly appreciated.
If your ethernet shied has the 6 pin cluster for icsp connection, it should work equally well on uno or Mega. The shield you allude to is made for Mega and may only work on a Mega, but its principle feature is the prototyping area which has nothing to do with the ethernet function.
I don't know if the ethernet is any faster. You may find the increasing the serial speed to 115kb is sufficient
Are you sending the data as ASCII or are you using raw bytes?
If they are currently ASCII then sending as raw will reduce the amount of bits to send so you could send all 16 sensor values in 32 bytes with a bit of packing. Also as Nick says you could increase the serial speed.
You can send all the information for one sensor in 2 bytes (16 bits)
Bit packing could be something like bit 7 of first byte is set and clear for second byte so you don't get out of step with reading the raw data. The remaining 7 bits per byte are the 10 bit value (0-1020) + 4 bit sensor number (0-15) split across the 2 bytes
e.g. Sensor 7 has a value of 1020, 7 = 0111 and 1020 = 1111111100 in binary.
Shift the sensor value 4 positions left and put sensor number in first 4 bits = 11111111000111
Split into 2x seven bit fields and set bit 7 for first byte 11111111 and clear bit seven on second byte 01000111
Use Serial.write to send the 2x bytes.
The PC will know when it's reading the first/second byte because of bit 7. Just reverses the process to extract the sensor number and value.