A further clarification is that the 600+ LEDs mentioned above are block signal LEDs that need to be individually controlled. Another 600+ LEDs will be used for lighting and don't need individual control. LCC was designed to independently control block signals and accessories. LCC nodes need to have the compute capability to calculate the state of all their IO from information on the CAN bus. LCC allows lighting complex prototypical block signals where switches are involve and more than one color in a signal can be on. LCC allows prototypical crossing gates where they activate when the trains is 2-3 blocks away and then opens just after the train passes. The distributed computing power of the LCC nodes allows computation of the state of 100s of IO every time the state of a block or switch changes. This level of computation and control is beyond DSC, TMCC and most home computers. The reason for the CAN bus is for all LCC nodes to broadcast and listen to all other LCC nodes. The computation power of the ESP32 is needed to calculate the state of each IO with every change in block occupancy and switch state. Since my retirement is 2-3 years away I hope that a WiFI alternative to the CAN bus can be developed that is acceptable to the LCC standards committee. This is why I like the WiFi capability of the ESP32. Thanks for you comment John.