MorBus Specification

Version 0.10, 19 January 2015

Index

Introduction

MorBus is a digital interconnect scheme for model railroads defined by Olin's Depot.  The name MorBus stands for Model Railroad Bus.  The purpose of the MorBus is to connect all actuators and sensors of a model railroad that are fixed (not rolling stock).  DCC is used to communicate with rolling stock, with the DCC generators themselves being controlled from the MorBus.  The MorBus therefore provides a single computer interface to a entire model railroad layout. 

Open Specification

Although Olin's Depot retains control of the MorBus specification at this point, it guarantees to make that specification freely available to all.  That is the purpose of this document.  Olin's Depot further guarantees there will never be undocumented MorBus features.  All Olin's Depot products will be 100% compliant to the published MorBus specification.  Updates to the specification will be made in a timely manner, generally as soon as new features are conceived and tested and well before they are incorporated into new products. 

Olin's Depot retains control over the MorBus specification only to guarantee a single coherent architecture and vision for the design.  If you would like to create a compatible product that the MorBus does not currently support, call Olin's Depot at (978) 742-9014 to discuss possible enhancements to the specification. 

Olin's Depot believes strongly that a well thought out and open specification is in the best interest of the model railroad community, including Olin's Depot itself. 

Version History

A new major version indicates major or incompatible changes from the previous version.  A new minor version indicates clarifications, text fixes, and minor compatible changes.  All versions 0 are drafts that should not be relied on by application developers.  There can be significant differences between minor versions of major version 0. 

0.1, 1 Nov 2012

First draft, only sparsely implemented. 

0.2, 19 Mar 2013

Changed first parameter of DCC broacast frame, is now called ctrl

0.3, 9 Dec 2013

Defined high bit of ctrl parameter to DCC broadcast frame.  This bit was previously reserved. 

0.4, 11 Dec 2013

Added DCCRES broadcast frame and DCCINIT node-specific extended frame. 

0.5, 11 Sep 2014

Restructured document so that each major section is a separate file.  Added master clickable index, and separate index at the top of each file.  Added forward and backward links and a link to the main page at the top and bottom of each file. 

Added section on how the EmCan port function IDs are used within the MorBus.  Now requires EmCan 3.2 or later. 

Added signal parameter to DCCINIT node-specific extended frame.  Added DCC and DCCRES node-specific extended frames. 

0.6, 15 Oct 2014

Changed the DCC node-specific extended frame.  Previously the signal number was encoded in unused bits of the ctrl byte.  All the data bytes, including the ctrl byte, are now the same format as in the DCC broadcast frame.  The signal number is now identified in the SEQUENCE field in the frame ID. 

0.7, 23 Oct 2014

Added the DCC command to the stream protocol.  This version has two function codes specified, SPEED and TURNOUT. 

0.8, 31 Oct 2014

Fixed description of turnout number mapping to decoder address and output number in the DCC stream command description.  Turnout numbers are in the range 1-2040, not 1-2044 as described in verion 0.7. 

0.9, 12 Jan 2015

Added turnout broadcast frame.  Added port function 2, which pertains to turnouts. 

0.10, 22 Jan 2015

Added more port function IDs for ports related to turnouts.  Added TOUT byte stream command and TOUT byte stream response.