I wanted to present some ideas for a better (or anyway cheeper and more flexible) Module scheme for Gadgeteer. This may be largely an academic excercise since the ship has already sailed, but for what it is worth here goes!
The first part of the idea is to reduce the number of connectors required on a DaisyLink module from two down to one using a ribbon cable bus:
The two outer cores of the ribbon are dedicated to the DaisyLink Neighbor Bus. As shown in the picture, the outer most core is simply snipped away in the span between Modules alternately on one side and the other. This scheme requires a simple modification of the protocol as described in the NET Gadgeteer Module Builder’s Guide. An additional state “power-up” is defined and is the initial state when a module transitions from unpowered to powered. In this state the module monitors BOTH its Neighbor Bus pins and when either of them goes low it defines that pin as Upstream and the other as Downstream and enters Reset state. This allows the pin assignments (and hence the ribbon core) to alternate depending on whether the module is at an odd or even address.