A brief summary of BiDiB


The protocol BiDiB covers exactly the requirements that model railroaders had called particularly important during a survey: Secure, simple configuration and easy modification (in this order, security was by far the most frequently mentioned point).

Here, the basic functionality of BiDiB will be summarized.

Where it works?

BiDiB is designed to work via serial connections, USB and Ethernet and as well as wireless links. For simple layout wiring, there is a robust railway bus-system existing, called BiDiBus This bus system is insensitive against interference effects and easy to wire.


From the users point of view, one of the key features of BiDiB is the simple address configuration which is quite similar to USB on personal computers. Each bus subscriber (e.g. occupancy detectors or any other functionality) has a own explicit unique-ID. During an automatic registration process, the BiDiB hardware assigns internal addresses to each bus subscriber and provides the mapping and the current availability of this unique-ID to the interface. Along with the unique-ID, the bus subscriber also reports it's basic functionality to the bus master (e.g. command station, input device, repeater, booster and so on).

The host program must get the assigned table on each new session and furthermore, the host gets an automatic notification about bus subscribers – whether if they are new connected or removed from the bus. All desired functions will be addressed via this allocation table.

The initial assignment is done via the 'Identify' button on the detector. If this button is pressed, the assigned function or detector comes up at the computer screen immediately and finally there is no need for the user to deal with addresses, DIP switches or CVs any more.

BiDiB supports a heterogeneous structure of nodes with different functions and capabilities – e.g. 8-channel occupancy detectors, 16-channel BiDi-occupancy detectors, control panels, booster etc. can be freely mixed and controlled. This heterogeneity is represented by defined configurations on each bus subscriber.

BiDiB supports extensible structures, this means multiple BiDiB systems can be connected via bus bridges (hubs), which is quite similar to an USB hub. The installation of a hub is completely transparent to the user.


  • BiDiB is plug&play. New modules will be detected automatically, no address programming, no DIP-switches or similar.
  • Different manufacturers and different assemblies can be mixed freely.
  • BiDiB can be wired freely, the assignment between modules and layout sections is ensured. This is a huge advantage for modular layouts.
  • Nothing is happening after layout modifications, finally there will be a reference through the Unique-ID. This can be used to copy interlocking systems together or build them up from scratch on computer side as well as on hardware side. Extensions and changes in existing layout installations are quite easy.
  • The addressing scheme and the bus access methods of BiDiB are designed in a way, that the node itself needs just "a little intelligence" and therefore could be implemented in an easy and economic way.
  • There is a great freedom in the possible wiring topologies due to the ability of BiDiB to work over hubs. In addition to U-shape or ring-layouts, also huge L-layouts can be managed.
  • BiDiB can be transported over any media. This can be Ethernet, wireless, CAN, or RS485.

Through the hierarchical structure of BiDiB, existing networks can be integrated into BiDiB very smart (the existing network just simply forms a BiDiB bus segment). On the other hand there is a very large number of possible nodes, much more than would be possible with a flat bus structure.


BiDiB is particularly safe. Messages are protected by CRC and an message sequence index. Optionally, a full acknowledgement can be activated. The problem of lost messages or commands is solved with BiDiB. BiDiB is introducing an operational safety that has not been seen on the model railway before.

Application support

A support area with examples and reference codes has been set up in order to facilitate implementations.