DNode LCB (Layout Control Bus)(OpenLCB & LCC)

So many ways to control things on a layout. DCC covers controlling the engine, as well as DC and other systems. DCC accessory decoders work for turnouts and signals but not so well for block detectors. DCC should be for thing that roll along the tracks, engines and rolling stock, accessory decoders belong in cars IMHO. Many systems are out there some good some not, some expensive some open source. But the were not "unified" resulting in a rats nest of wires which would'nt work well with the TOMA approach. I came to like the OpenLCB standard with it's simple physical bus, being open source it was well documented. The OpenLCB stanard was adopeted by the NMRA as LCC (Layout Command Control(R)). I'm going to just call it the LCB (Layout Control Bus) for the bus that runs around the layout.

DNode
DNode on top of an OS/CP I/O board

“Plug & Play” or “One Size Fits All” doesn't work well when many things are custom to a particular location, which happens allot on a layout and the prototype. So I needed a way to make many “custom” CAN(Controller Area Network) nodes. I needed something that was worth getting PC boards made so it had to be as universal as possible(a Swiss Army Node). I've looked at a number of systems and didn’t like them, mostly too expensive, more than needed or too specific, so this is the way I'm doing it.

Most important things a node does is control turnouts, detect block occupancy and control signals. Other things are “bells & whistles and crossing gates & turntables” ;).
JMRI has added support for oLCB signals. I will have change a few things to match the standard, but not too much.

I've spent allot of time on this (oldest file creation date November 24, 2016) and it's gotten big. I need to take a break and build some turnouts & lay some track and get house & ranch chores done. So in the spirit of open source, If you want to make a buck off my design I'll want a pice of the action. So here's this web page.
If there's enough interest I'll look into supplying kits, all SMT components mounted and you do the through hole parts.

I wanted to use the Microchip PIC18F46K80 MCU (Micro Control Unit) for the built in CAN controller. For the hardware format I started with the popular Arduino hardware format to be able to use the shield prototype boards available (warning! all proto boards are not equal) and possibly Arduino shields.

For programing I used the Netbeans based MPLab X IDE (Integrated Development Environment) free from Microchip that I'm used to.

BB Nodes
2 Nodes on a BreadBoard

Also in the works is the JNode a CAN bridge using the Microchip dsPIC33EP512GM604.
And an interface for the NCE cab bus.