Why Layout Command Control for Modules


NOTE: LCCM is still under development.

The idea for LCCM came from a basic need of controlling a large number of items on a model railroad, but with limited funds. As a FREMO module builder, the natural choice would be LocoNet based. LocoNet is already used for driving the trains, but LocoNet is proprietary and would cost more to implement that my current hobby budget allows.

Using LCC would remove the vendor lock-in but not the price issue. To lower the cost, I started investigating ways to extend the number of input and output pins you could connect to a LCC node. The problem was that I needed the I/O pins on a lot of separate modules, and then the idea of LCCM was born – a low cost version of LCC that could be used stand alone or together with LCC.

LCCM uses many of the design ideas from LCC, it contains controllers on a straight line noice tolerant bus, terminated in each end and options to place power providers at any place in the bus.

LCCM also use module configuration like LCC, so you do not need to be a programmer and perform any programming of the nodes.

Unlike LCC, the LCCM uses a master / client protocol, which greatly simplifies the implementation, so modules can be build on ultra low cost controllers like Arduino Nano. This setup also allows the use of low cost RS485 for the communication, and allows for selecting unique connectors that is not used by other bus vendors. This is important when setting up a lot of modules from different owners, and ensures that cabling of LCCM is not mixed with other power or bus connectors.

LCC and LCCM network

A client LCCM node with 2 Analog inputs, 6 Analog inputs or Digital outputs, 4 Digital inputs or outputs, and 6 Digital inputs or PWM outputs can be build for under 30 cents per IO port. To this you need to add the cost of a LCCM master for every 31 LCCM nodes.

On large modules or fixed layouts, you can lower the cost even more, using Arduino’s I2C or SPI busses with port expansion boards. For example MCP23017 boards will give you 16 extra digital IO ports, PCA9685 boards will give you 16 servomotor ports and TLC5947 will give you 24 extra 12bits PWM ports to drive LED’s without adding resistors.