An alternative scheme for Gadgeteer Module Wiring [Part 1 of 2]

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.

[Part 2 of 2]

The second part of the idea is to use board-to-ribbon “transition” connectors rather than two-part ribbon connectors. These connectors would be supplied soldered to the mainboards and modules but would be assembled direct to bare ribbons by the customer (a simple pressure fit using IDC connectors). This significantly reduces the cost per module and per mainboard port because fewer connector parts are required. The transition connectors can be had for less than half the price even of just the board connector specified in the current system and are available at different price/quality points from multiple manufacturers. They also reduce the volume of the parts and produce a more permanent and robust assembly.

On the negative side, this system might be less suited to educational markets where assembly and disassembly is frequent. With care, disassembly and re-use is possible with these connectors, but the bare ribbon needs to be replaced with each use. On the positive side, this system would be better for prototyping and small batch production since the length of ribbon spans can be matched exactly to requirements and the result is more robust and permanent. And the cost saving is significant.

The figure below shows the same mainboard connector used for simple non-DaisyLink modules requiring up to three GPIO pins. “Ribbon Folding” can be used to assemble up to three modules to the same mainboard port. One and two port modules can use a 6-pin connector to save space and cost. A module that purely injects power into the system can use a 4-pin connector.

In the case of port-types that require more than three GPIO and/or specialist IO that is not multiplexed with GPIO on the mainboard, the port is simply widened by adding extra cores in pairs on the outside of the mainboard connector. In this way, the port can be used either as a GPIO port with an 8-way ribbon or as a specialist port with a wider ribbon.

Gadgeteer is about simplicity in prototyping. If more than one type of cable is required, or the user has to customize cables, then I feel it violates the spirit of Gadgeteer. :o

Exactly, one cable, one connector, a million possibility.

Well, my slogan is “One cable, no connectors, ten million possibilities, change in your pocket.” :wink:

no cable… no connectors… infinite possibilities ? :smiley:

Personally, I wish they would have built everything based on 8-pins using ethernet cables… Would have simplified sourcing the parts and reduced the cost.