5-axis (8 digit) display unit for stage controller

First post here. I hope I provide enough information for getting sensible replies.

I am looking at a project to provide a stand-alone box to display positions for a 5-axis motor-controlled stage. I was thinking of using 2x 4-digit serial 7 segment displays (e.g. Sparkfun COM-11442) for each axis to give me 8 digits. So a total of 10 display modules. The box will receive data over wired Ethernet allowing it to be moved around the instrument.

First question: Is there a better solution that 10 seperate displays to drive? I really don't want to go down the route of a custom board and designing my own as it is not my area of expertise, and we will only ever be building 2 of these so there is no great economy of scale.

I intend driving these from an Arduino Mega 2560, though I may be able to get away with an UNO. Cost is really not an issue so I just feel happier using something with plenty of space.

Second question: what is the best way of controlling these to write the data? I had originally thought about using SPI and using a number of Output pins on the Mega to act as SS (i.e. 10 lines, one per board). While the refresh rates will not be super-fast (in fact a lot of the time there will be no values changing), when a stage is in motion I would like to be able to refresh each display pair in such a way as there is no obvious delay between the first and second 4 digits. SPI is clearly fast but I guess there are concerns about cable length and noise. Second thought was I2C since it is designed for multiple devices to be daisy-chained. I should not have problems of arbitration, because all of the communication will only be from the arduino to the displays. So any thoughts on this would be greatfully received. If there are any recommendations on special precautions on the serial lines (extra circuitry etc) please feel free to say. Don't assume I necessarily know that something is needed.

I think that covers the main questions.

I will also be considering adding some extras to the box to possibly allow the user to drive the stages. Maybe a selector to switch between axes (LED indicator for the active axis), and then buttons to jog the stage (maybe with a fast/slow switch too). This control will go back over Ethernet to the commercial stage controllers.

Hispeed serial busses should not be longer than about half a meter but that should be enough for your application. You can choose either the I2C or the SPI bus. I would prefer the I2C in this case because then you have the SPI free for the Ethernet interface and you don't need that much pins for the SS signal and the modules are built so that you can easily chain them together.
The only drawback is, that you have to program a new I2C into each module before you mount it into your box but that's quite an easy task and well documented.

Thanks for the reply. I had been leaning towards the I2C because I will also have the Ethernet shield running on SPI.

I had spotted that the displays will have to get programmed with an I2C address. Since I am only ever likely to make 2 of these boxes and only 8 modules in one and 10 in the other I don't think it is going to be a big problem.

Just waiting for my first bits to arrive and start playing.

Need to work out the power requirements for 10 of these boards to see how I distribute power.

Need to work out the power requirements for 10 of these boards to see how I distribute power.

As these displays are multiplexed (only one digit is lit at any single moment but in such a fast cadence that our eye won't notice) so the display needs about 40mA if all LEDs are lit, I would expect the ATmega328p on it to draw about 20mA for itself, resulting in roughly 60mA for one module or 600mA for all displays (without the controlling Arduino). A 5V power adapter with 1A or 1.5A is probably enough for the whole box.