Modular Stackable Microcontroller System (lots of pics)

Thanks
The 3D renders, you are right, they are probably a bit big for alot of people.... I have a big screen so didnt even think twice about it...

Addressing. I understand, but again I am struggling to see how to put this into practice.
Have you used I2C before?

If all modules are 119 to start with, the master cannot say to one, have this address. They would all pick that up and they would all set themselves to the new address...
From then on I am struggling to see how it will work. With the method I have already, by plugging them in 1 by 1, only 1 module is ever 119 at any given time, so the master can address it individually. If they are all 119, then they would all be listening and its basically a broadcast then and they would all react.
By have a serial number on each device loaded in, it enables the main processor to destinguish between two modules that have the same address. If you have 2 modules at 119, then if you do an I2C scan, it will show there is a deivce on 119 but it doesnt know which one it is. If you know that 1 device is serial 12345, and one device is serial 54321, then you can say to address 119 "if you are serial 12345 then set your address to be 100", for example. Without that, if you said, address 119 change your address to be 100, then you will have 2 devices at address 100 and you will be no better off.

Again, If I havent interpreted you correctly, then let me know.

I did some testing with addresses being the same, as I do a I2C scan of the bus and request serial and model numbers of the boards that respond. If I get 2 boards on a single address, then the serial number and model that are returned are all junk as two devices are talking at the same time - so it seems. I can still assign them addresses if I do it via serial number, as I have code in each module which states their serial number and if they are a serial number when a request comes in, they know if they are being told to change or not.

So in effect, if I keep the serial number method, plug all in at once, then I could get the main processor to assign each with an address, it will have to know serial numbers though. So we are no better off...

Let me know if I have missed the mark with your proposal again.

Cheers
James