To Train or not to Train

Years ago I bought a Lionel O-Scale Lionchief enabled train for the express purpose of turning it into a delivery train, for beers, snacks, and the like. Initially I had the "bold" (foolish) plan that once I owned a house I could run track around the whole house for the delivery service. So I could, in theory, order a beer from my office and have it delivered from the kitchen, or maybe even a dedicated train pantry( as i said "bold" plan). The plan itself has fallen apart for several reasons, primarily the space that it would take to lay the track. For those who don't know, the O-Scale (O27 to be pedantic) model takes about 2 foot radius for a 90 degree corner, and is not recommended for inclines more then 4% or 4 inches rise for 100 inches run ( 1 ft rise for 25 ft run). This brought me to a standstill since any kind of incline, even just to get the train above the doorways in then apartment, made that delivery service impractical without building a house to suite. So the train got played with a little bit then put away for another day.

Eventually, after several iterations of "could I make this work anyway", I realised that the train could still be used for a notification system. I could use the horn, engine, and bells for different notifications, and just have the train running regardless of the delivery failures of the past. What notifications I should send to the train is still anybody's guess, but I figured I should revive the work that I had previously made on the system. Mainly, I had decided that the notification system should be written in go lang, for various reasons, and that the old code, which was written in python, should be converted.

That conversion has been a much bigger issue then I thought it would be. Firstly due to my (mis)understanding of how low-level Bluetooth works, which has caused my to stumble and believe that the go lang Bluetooth code was faulty, which based on today's findings, I no longer believe. Secondly that the train itself has a problematic command set, mostly that the "Disconnect" command overlays the the "Main Volume" command, which to me, makes no sense.

Yet, I'm more determined then ever to get the train honking, as the final product will ideally give me some closure on the train. It'll also be a nice decoration in my office, and a fine "honking" point to any visitors, not that i get many. 

But sometimes, you just have to do things for you.

This article was updated on July 16, 2025