I have been a model railroader for a number of years, some more active than others. The idea behind KJ&C is to allow the development of a variety of rolling stock, operations and the automation software and hardware. I’ve followed the various block control systems developed and then DCC and the latest efforts for the OpenLCB.

About KJ&C

The KJ&C Railroad is a fictitious railroad located in a place where both the Canadian National and the Canadian Pacific Railroads conduct business. KJ&C is principally a museum that collects steam locomotives and other rolling stock as well as runs excursions. The era that KJ&C operated in was the late 60s through the early 80s.


May 9,2021 Upgraded my Rapido LRC DC locomotive to DCC with a ESU LokSound v5.0 decoder from Rapido, it uses a recording of the restored CN LRC locomotive! Finally I received my Walthers #4 LH turnout! It’s now installed on module 3. Now I can finish the ballasting of the module. I started and completed the construction of a Campbell grain storage bin craftsman kit. I also have a Campbell grain elevator. The two structures are planned for module 4 on a spur.
Mar 12, 2021 Implemented a few software components to the system design to have the capability of handling a turnout panel of lights and push buttons to cause turnouts to change directions. Started work on the hardware implementation, i.e. the panel and the controller.
Feb 21, 2021 Worked on some of my locomotives making sure they run. Switching IDE from Arduino to Visual Studio Code with the PlatformIO plugin. Now both my micro-controllers and MEVN development use the same IDE.
Dec 28, 2020 Mounted Module 4 to the wall and started laying the two tracks using the same technique of transferring the track position from the XTrackCAD printout to the surface of the foam, glued the cork bed to the foam and then gluing the track to the cork. Continued work on the wood CN Caboose. Started MQTT button lighting controller.
Nov 11, 2020 Started the construction of the next module, ie Module 4 the corner.
Oct 25, 2020 Added to the Admin page the important export of the decoders, including importing a JMRI roster file. Completed the redesign of the next two layout modules.
Oct 13, 2020 Added a page to the MRIM application listing all of the locomotives found in the rolling stock inventory and an ability to add minimal DCC decoder data to the locomotive. Repaired an older F7A Athearn locomotive.
Oct 4, 2020 Wired up four blocks, and a programmer track, connected power supplies, DCC command station and PR3. I can now run both DC and DCC locomotives!
Sep 19, 2020 Updated UI applications to remove security issues with some older NPM packages. Completed RFID tagging for all (154) rolling stock in the inventory. Started planing next layout segment.
Sep 7, 2020 Added to the MRIM application the ability to include a structures inventory, additionally I upgraded to a newer Vue-cli, which significantly reduced the Docker image size. I worked on the wiring and have installed a 15v 400 watt supply to provide power for several Digitrax components. Continued ballasting track.
Aug 20, 2020 Completed initial rewiring to create separate blocks and a program track. Built a simple DC power supply. Enhanced the RS RFID manager to show color and AAR Code of detected tag, provided a popup to enter RS road name and number. While adding RFID tags to over 40 pieces of my rolling stock, I replaced plastic couplers with Kadees and plastic wheels with metal ones.
Aug 2, 2020 Continued wiring efforts
Jul 13, 2020 Received PCBs for the IoT Tortoise controller, developed a Node Red testing harness and tested the constructed IoT Tortoise controller. Upgrade the controllers software to improve subscription processing. Started work on shortening three Walthers center beam flatcars.
Jun 11, 2020 I updated the system design and developed a few more components, to support the Model Railroad Layout Manager (MRLM), which allows a user to see what micro controllers are in the system and the latest time stamp they where turned on. MRLM gets turnout contacts messages to display the state of the turnouts. Added some additional RFID tags to my rolling stock. Updated my Github and Docker repositories. Received my turnout controller boards. Looks like Walthers won’t deliver their new turnouts until late fall! I received a highly detailed Rapido CN lightweight diner, which I had ordered last fall.
May 12, 2020 Completed the design for the IoT Tortoise controller, developed a PCB, coded the ESP8266 and tested the design on a breadboard. Stripped 9 boxcars I had purchased over a period of time which are neither CN nor CP, I used the purple stuff as it works wonders.
Apr 27, 2020 Prepared module 3 for ballasting. Installed an RFID reader in module 2. Started wiring modules 3 and 2 using terminal strips rather than continuing the bus I used in the experiments I started. Started designing an IoT Tortoise controller.
Apr 11, 2020 I found a #4 turnout hiding in a stack of magazines. I installed the turnout and continued working on the track for both module 2 and 3. I installed components on a PCB I designed using Geoff Bunza’s circuit. Continued working on the CN caboose. I started developing a load of lumber for a center beam flat car.
Mar 24, 2020 The turnouts that were supposed to available at the end of Feb are now delayed to late Jun, so work on module 2 is still on hold. I visited the Duneden Railway in New Zealand in mid Mar and posted a few photos, which you can see here. Given I’m hunkered down I’ve had some time to work on module 3, which now connects the other two modules and is mounted to the wall.
Feb 21, 2020 Still waiting for turnouts so not much progress on the layout. Developed a component to announce the rolling stock ID as it passes over the RFID reader, but have had issues trying to Dockerize it. Bought some new RTR freight cars, which I replaced the couplers with Kadees and added RFID tags. Started to construct a CN caboose from a Juneco craftsman kit by adding interior details.
Jan 2, 2020 Installed remaining Tortoise motors in module 2, continued laying cork. Installed three turnouts and I am now waiting for the other two #4 LH Walthers code 83 turnouts. Started investigating the use of JMRI and different rolling stock detection as the IR emitter/sensor components I had installed in the experimental module seem to have difficulties in sensing flat dark under carriages
Dec 9, 2019 Added report generation to MPPM, pushed new Docker images for both MPPM and PPDS to DockerHub
Nov 20, 2019 Installed 3 Tortoise motors in module 2 and started putting down the cork roadbed. Installed Docker on a Windows 10 laptop and have MRIM as well as MPPM running on the laptop
Nov 10, 2019 Started work on the build of module 2 with the transfer of the XTrackCAD design to the foam surface
Oct 29, 2019 Corrected sensor reporting in RSRM, built bench-work for module 2, cataloged 129 pieces of rolling stock, tagged all of the 20 ft ore cars and updated the ‘software development’ page and sub pages of this site
Oct 25, 2019 Corrected a pagination issue with the Image Report of MRIM. As jsPDF needs access to Git I revamped the Dockerfile to include the use of Unbuntu base with Git installed
Oct 23, 2019 Added PDF reporting to MRIM to output the inventories. The Rolling Stock inventory can be sorted by Road Name and Number or AAR Code or Status
Oct 8, 2019 Assembled four Red Caboose 40 ft freight cars, replacing couplets and trucks with Kadees, painted and lettered them with CNR data
Sep 16, 2019 Added a load type to the rollingstock pages in MRIM, this attribute is needed for future operations. Removed several vulnerabilities
Aug 23, 2019 Added a number attribute to purchases and created purchases and project PDF reports
Aug 17, 2019 Upgraded MRIM to use latest version of Buefy
Aug 12, 2019 Changed the look of the input forms in MPPM to use Buefy and created docker images for PPDS and MPPM
Aug 8, 2019 Completed initial releases of PPDS and MPPM
Jul 31, 2019 Updated the system design to add new micro-services for projects and purchases tracking
Jul 21, 2019 Additional vulnerabilities were identified and newer npm package versions were used. Switched all base docker images to use lts-alpine. Used a multi-stage docker build to reduce the image size for MRIM and RSRM. Simplified the docker install instructions.
Jun 30, 2019 Several of the node applications were updated to remove security vulnerabilities identified in several node packages. Both MRIM and RSRM were upgraded to use Webpack 4. New docker images were also created.