Page 001 Arduino Cbus® Overview - johnmholmes/Arduino-CBUS--Introduction-Series GitHub Wiki

Last update 30/9/24

Arduino CBUS® Overview

This repository serves as a comprehensive record of my Arduino Nano exploration, specifically in conjunction with the MCP2515 module and the CBUS® protocol. Developed in 2007 and registered by Doctor Mike Bolton, the CBUS® protocol is freely available for both personal and commercial use. Henceforth, I will refer to it simply as CBUS in my documentation.

The CBUS protocol has gained widespread adoption among MERG (Model Electronic Railway Group) members, particularly when used in conjunction with kits featuring PIC micro-controllers. These kits come preloaded with firmware on the PIC, and users can employ programs like FCU (FLiM Configuration Utility) or JMRI (Java model railroad interface) node manager to teach these units to respond to specific events transmitted along the Can bus. The first generation of kits used dip switches to teach the units.

Enthusiastic Arduino micro-controller users have been actively working on adopting the CBUS protocol for various Arduino devices. MERG has released an Arduino shield kit 110 intended for use as a development platform, enabling the creation of diverse future kits. This shield provides a more robust connection for the Can interface chip and is compatible with other sensor shields, offering expanded peripheral connectivity. The team has also released basic sketches for testing the kits. It's important to note that this project is in its early stages and utilizes a variety of libraries that interlink with each other.

I initially delved into CBUS around two to three years ago but found it too complicated for adoption at that time. While I enjoy building kits, I felt limited by the available kit range and was more accustomed to crafting my own modules using Arduino and programming them to achieve precise functionalities. This decision was influenced by my passion for programming and the desire to achieve specific results.

Why my change of plans.

After a visit to Chester Cathedral to see Peter Waterman’s layout 'Making Tracks 2' and engaging in conversations with various members operating the layout, I experienced a transformative shift in my perspective. It came to my attention that a significant portion of the layout was being efficiently controlled using Arduino's running the Can bus system. This revelation reignited my interest in exploring the use of the CBUS protocol using Arduino's, a topic that had been discussed within MERG groups.

This newfound insight prompted a reconsideration of my initial decision to steer away from CBUS. The practical application of Arduino's in a complex layout like 'Making Tracks 2' showcased the protocol's capabilities. Intrigued by the seamless integration of Arduino's and the Can bus system in controlling diverse aspects of the layout, I decided to revisit and delve deeper into the Arduino CBUS libraries, opening up new possibilities for my own projects.

This change of thought was driven by the first hand experience of witnessing the success and efficiency of Arduino-based control systems, ultimately inspiring a revaluation of my earlier reservations about the CBUS protocol."

YouTube Channel

  • If you take a look at Part 1 video here. I give a brief overview.

  • In part 2 I show the libraries we will be using here. But I will also be creating sketches not using them.

While my current layout has a two wire RS485 bus using the CMRI protocol, this can be swapped over very easily if I want to.

Start of a beginners journey