Christmas Village

Christmas Village is a small train layout I constructed in the Fall of 2014, based around a Bachmann "Spirit of Christmas" train set. The train set includes a little 0-6-0 steam locomotive and 3 passenger cars decorated for Christmas, and an oval of track. The layout was intended to use up some spare model railroading stuff I had on hand, including some model buildings I put together over 10 years before, and some left over modelling products from doing my Scenic Ridge model layout 2 years before. Originally the train was intended to run under a Christmas Tree but I didn't realize I had ordered an N-scale version until it arrived, and it's simply too small for that. So this nice little layout is the result.

Here it is at my place of work, hopefully adding some Christmas joy to everyone who comes in the lobby.

I forewent the little analog DC power supply that came with the train set, and decided to use a spare Raspberry Pi to control the train. I got the Pi to control the flashing lights on the town's Christmas tree, the crossing gates lowering and raising (and their lights), and even a little fireplace inside the little home on the right. Since the Pi can also play music, it plays a selection of favorite Christmas songs.

You can see how I put the layout together here: Christmas Village Journal

Otherwise enjoy the pictures below.

Christmas Village, shortly after completing the modelling of scenery and the software past midight on Friday, Dec 12, 2014.


My plaque proudly reads "Christmas Village  SLC December 2014". Four buttons control the layout. POWER turns the whole layout on or off. Since a small computer is involved, there's about a 15 to 30 second bootup time. Holding DOWN or UP controls the speed of the train. TREE changes the light flashing program on the town's Christmas Tree.


The crossing lights flash when the train approaches, and the gates lower. After the train passes the crossing, the gates raise again.

I'm using a prediction algorithm to determine where the train is located based on the train speed as controlled by the computer. For the 2014 season, my calculated correlation between computer train speed and actual speed is not very good, so the gates tend to lower and raise sooner than they should. The medium quality Bachmann locomotive is also very unpredictable, and runs considerably slower until it's good and warmed up (and as it ages, it slows down, too, even though I try to keep it properly lubed). Next Christmas season I'll get the software to continually calibrate its speed-to-voltage correlation as the train circles the track.


The Christmas tree has the following flash programs available: Random, Solid Color, Color Wheel, and Pastel Shimmer. The Random program makes the lights blink as if the light strings had those old fashioned analog flasher bulbs installed--the ones that have a heat-expanding make/break switch inside. It's probably my favorite program because it's how my Christmas trees always looked when I was a child. The lights blink on and off as if there were 6 different strings of lights, each string of one color (red, blue, yellow, green, light blue, purple). None of the colors are synchronized, they just individually turn on and off randomly on their own, creating interesting and unpredictable combinations of lights. I even delay the flashing when the program is selected, to simulate the flasher bulbs warming up. The Solid Color program just makes all the lights on the tree shine one color, either Red, Blue, or Green. The Color Wheel program crossfades colors into each other, and is meant to simulate the shiny silver Christmas tree my grandparents had, which was lit not by a string of lights, but by a little can light on the floor with a motorized rotating color wheel in front of it. The Pastel Shimmer program picks random brightnesses of red/blue/green (which tend to yield pastel colors), and then fades them in and out in rotating sets of three, for a shimmer effect.


A little river flows through the snowy landscape between the town and the train tracks.


The river passes under the tracks at this culvert.




You can see the train location sensor in the middle of the track in the lower left of this picture.


Around the back of the layout, the train crosses the river over a girder beam bridge.


The town includes a home, a row of shops, a church, and a nice little restaurant.


A family of deer watches over the town from a safe distance.


This train has delivered Christmas Trees from the mountains to the little village, and they're being sold on a lot behind the first box car. Although the model train was unpowered, I did get its headlight to glow.


Later in the spring I took some pictures in outdoor light.

Passengers waiting at the station.




My button board is a little worn from so many people at work playing with the layout. At least it got used! Next December I'll have to come up somehting more durable.


Closeup of the river and the train location sensor.














The electronics inside the mountain that control the layout; one Raspberry Pi computer (model B-plus), one custom-made electronics board with 7406 drivers for the LED lighting and a L293D motor driver for the track, plus a power sequencing circuit, also a USB car charger that I'm using to convert 12V to 5V for the computer, speakers, and some electronics.


I *love* this Alco PA with a hint of a warbonnet scheme and wishes for a Merry Christmas. It's unpowered, so it makes for a good static display. I painted the horn and the trucks (one of my favorite parts) silver to show off their details.


I gotta say--looks pretty real to me.


The crossing that took 15 times as long as I thought it would to develop, but it works!


That's my Christmas Village model train layout!


Back out of the sunlight, you can see some of the lighting effects on the town and the tree.



You can see how I put the layout together here: Christmas Village Journal