User Tools

Site Tools


This is an old revision of the document!

Server time for Countdown plugin is: 2020-03-28 10:02

CBUS - A universal layout control system


CBUS is a Layout Control System running on the CAN (Controller Area Network). A description of the system can be found on our public webpages. cbus.php and cbus2.php


  • FCU: Windows based FLiM Configuration Utility for configuration of nodes and events.
  • JMRI: Java Model Railroad Interface for configuration, monitoring and operating.
  • ROCRAIL: A complete package for layout and loco operation.
  • SSI (Solid State Interlocker) from GPPSOFT: A complete layout control system following British signalling and control practice.

Implementation Notes

  • CBUS operates over CAN at 125kbps.
  • CAN is bidirectional and has built-in error correction and message re-send.
  • CBUS CAN frames have an 11-bit header and an 8-byte data-part.
    • The data-part carries the CBUS message.
    • The header must be unique, and this is ensured by including the 1 byte CAN-ID assigned to the sending node.
  • The CAN-ID is retained by the node, moving it to a new layout may cause a CAN-ID conflict.
  • In SLiM mode, the node-id is set by switches, and the CAN-ID is set equal to the low-byte of the node-id.
  • In FLiM mode, if the node does not have a CAN-ID, one is automatically obtained by self-enumeration: the node asks all other active nodes for their CAN-ID, and then assigns itself one that is not in use.
    • NB: New modules must be introduced to the bus one at a time.
  • The CAN-ID may be re-assigned: manually by a double push of the node's pushbutton; or by using the FCU.
  • CBUS uses 29-bit header CAN messages for bootloading.
  • A complete description of CBUS including the full specification and implementation notes is contained in the 'Developer's Guide' which can be downloaded from developer_6b.pdf See also the 'documentation' link at the top of this page.
public/cbuspublic/start.1579707095.txt.gz · Last modified: 2020/01/22 15:31 by grovenor