Subscribe via RSS
29Apr/220

Z Scale Layout – Rokuhan Flexi-Track

My crazy layout design needed some flexi-track for some curves, so I purchased a box in one of the batches. Opening it up, it became very apparent that it's nothing like any other flexi-track I've ever worked with!

20220423 121244

In the box, you get two rails with ballasted sleepers and a joiner fixed at one end. There's then 3 sets of 2-sleeper foundations that need to be removed from the frame. These are then slid onto one of the rails and, once you've added enough sleepers and created your desired length, the opposite rail is slid in very carefully.

20220423 121450

20220423 122029

Note above there's still a burr on the sleeper. Get rid of these with a sharp knife, otherwise the sleepers wont sit flush once the whole track is together...

20220423 122239

Keep going, sliding on the sleepers, then feed in the other side.

20220423 121331

20220423 122938

Note that I actually used all of the sleepers and the length of the track came to 35cm! Not 33cm as mentioned on the box? Once you've worked out your desired length and fed in all of the sleepers, you'll then need to cut the excess rail on either side. I thought I'd be getting out the dremel, but it turns out a sharp set of snips worked fine!

20220429 091511

20220429 091610

There was a bit of a point to the rail, so I filed it down with my pocketknife.

20220429 093417

A trial connection to a piece of straight track worked very well! There's a tiny gap up the top as the flexi-track wasn't bent to the expected curve... I couldn't hold it in position and take a photo at the same time.

20220429 105023

Back on the layout, the curve slotted in perfectly! I was initially worried about this style of flexi-track, but it turned out to be very easy to use!

Filed under: MRR No Comments
26Apr/220

Z Scale Layout – Reviving A Marklin 8852 Krokodil

This poor thing came to me from Yahoo Auctions Japan in the first bundle'o'stuff. I threw it on the rails and it just sat there, dead as a doornail. Actually, I lie, I saw the headlights flicker once. Fortunately I paid only half the current going rate to versions showing on eBay now. Of course, that may be because this is an older variant.

20220410 205215

20220410 205224

20220410 205236

20220410 205404 20220410 205723 20220410 210139

The train was then thrown on the test track and still chose not to respond...

20220410 205326

I had a quick squiz of the manual above and realised that the unit had a switch to select between catenary and rails...

20220410 205416

But this also proved fruitless. The train was therefore stored back in its box for another day when I had the courage to try and service it. Around a week ago, that day arrived and I dismantled the loco.

Open-Train Surgery

The plastic shells come off with ease. Remove the main shell first, followed by both bogie shells.

20220410 205756

20220410 210006

The bogies are secured to the chassis by their axles, which are actually kept in place by the main shell. The axles hold a gear in between the bogies and main chassis which transfer the power from the worm gears.

20220422 110702

A quick look at the motor saw that it was in need of love. I carefully extracted it and un-sprung the brushes. They looked OK, but the contacts on the armature were tarnished. Cleaning these and reassembling the brushes saw the engine come to life, but still very erratically.

20220410 215926

20220410 215936 20220410 221107 20220410 221403

At one point the motor jammed when I wasn't looking and melted the contact off a brush. I attempted to solder it back on, but I couldn't get a precise location and the motor kept stalling and melting the solder I applied!

So. I started searching for brushes and found some on eBay... Which are still crossing an ocean from Italy somewhere. The joys of European models! I then stumbled across a page indicating that these older models had an optional 5-pole motor upgrade! Of course, the motor I needed was absolutely sold out and unavailable.

A lot of emails and searching later, I did the unthinkable: I actually clicked on the second and then third pages of Google search results! I then doubled down and opened a pdf result... To only find success! Nathan's Trains in QLD had five of the motors I needed in stock! And also brushes for the old motor. I bought both and they arrived in no time. I'd personally like to thank Noel at Nathan's Trains for stocking these vintage parts and providing great service.

20220421 201431

The new motor went in very quickly and easily, but the bogies were still jamming pretty badly. In fact, one wouldn't even complete a full revolution with the axle in, regardless if it was mounted to the chassis or not! At this point, after resoldering a few wires which had broken from twisting the components around, I went all-in and disconnected the bogies from the chassis to do a full service and alignment.

20220410 212647

Just like the actual Lego Krok that I built (see the end of this post), these wheelsets need the driving rods at 90-degrees to operate and I had a feeling they were both out. The electrical pick-ups were also showing over the top of the drivers and not behind them, where they should have been. Trying to work on these with the chassis strung on by the wiring was proving impossible. With the bogies separated, it was very easy to then roll them on the bench top, align, roll, align, test and repeat until the were totally in-binding.

20220421 214942 20220421 220332 20220421 215205

Note that there's really only one way to re-assemble these bogies. The driving wheels are permanently connected to the driving rods and the rods have a secondary 'fake' rod that makes orientation easy. If you scroll up to the pic of the side-on Krok with just the chassis shell, you can see that the bogie on the right has the drivers installed upside down. The 'extra' rod is hanging so low it hits the rails on each revolution!

I reckon I re-assembled both bogies around 10 times each. There's around 7 gears per unit and they're VERY fiddly. The electrical pickups are sprung behind the drivers and actually push them down when you're trying to force them in. Trying to align it all takes great patience! There was even a chunk of (what looked like) solder in one of the bogies that was causing the gears to jam... no wonder.

In the end, patience, grease and minute adjustments saw both bogies re-assembled and rolling smoothly on the table. The new motor was mounted in the chassis and the only real point you need to know is to push the motor ALL the way down into the chassis. It's easy to let it sit a 1-2mm too high... and if this happens, it'll fail to make proper contact with the bogies.

Finally, the wiring... It's slightly complex with the overhead caternary switch, but I re-soldered it all, failing to note how the directional headlights were wired... so... instead...

LED Headlights

It now has a 5-pole motor... the least I can do is give it a beautiful headlight. I found that the unit was really only running well in one direction (after all my hard work), so I set about removing the incandescent grain-of-wheat bulb and replacing it with an LED. I found a 3mm white LED in my box'o'junk and slapped on a 780ohm resistor. I then cut the legs ridiculously short.

20220426 142653

The existing light housing and contacts were removed and one LED leg and the other resistor leg were soldered to the tabs on the wheel pickups. Once in the correct direction, the LED lit up when heading forward!

20220426 142935

A little bit of adjusting saw the shell fit back on!

Internal Model Clearances

I just need to point this out, as I had a lot of trouble at the end. It turns out that the solder blobs I put everywhere were actually millimetres too high and causing the shells to not actually clip onto the frames! Easily fixed, remove the solder. I just had never thought that the clearance would actually be that low.

20220410 211923

Above, a reference shot for your future soldering nightmare.

My Lego Krok

I eluded to this before.. and I really can't believe that I haven't featured it on here before. It's a Lego version of this locomotive and it arrived for my bday last year.

20220426 220857

What a tiny Z-Scale loco!

Filed under: MRR No Comments
12Apr/220

Z Scale Layout – Arduino Control and Track Plan Updates

Actual trackwork on the layout has stalled recently. I failed to order all of the components I needed to build my previous plan and so used a few other off-cuts to, at least, make a circuit I could run trains on. First testing of trains was done with a 9v battery and the results were sub-optimal. Whilst browsing Jaycar recently, I saw a motor-controller shield for Arduino with 4 outputs and decided that was the way to go. It even has two servo controllers... I wonder what I can animate?

20220407 174142

I also had an Arduino Uno Wifi, so decided, instead of building some physical box with switches and dials, I'd make a webpage to control the layout! I've programmed this Uno Wifi before, so go and check that post out for caveats when dealing with this unit. The main point being that you need to program the WIFI module independent from the Arduino itself, using the serial connection as the conduit to communicate between the units. This all then gets a little difficult as you may also want to use that Serial port for logging output.

The Web Server

Fortunately, there are hundreds of examples to run with when creating these mini-webservers. I used the example over here, adjusting the page to control two throttles. Whenever a user presses a button, it updates the internal throttle variable and then sends both throttle values out over the serial port.

#include <ESP8266WiFi.h>

const char* ssid     = "wifi accesspoint name";
const char* password = "wifi password";
WiFiServer server(80);
String header;
unsigned long currentTime = millis();
unsigned long previousTime = 0; 
const long timeoutTime = 2000;

void setup() {
  delay(3500);
  Serial.begin(115200);
  Serial.print("AP:");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    //Serial.print(".");
  }
  // Print local IP address and start web server
  //Serial.println("");
  //Serial.println("WiFi connected.");
  //Serial.println("IP address: ");
  //Serial.println(WiFi.localIP());
  Serial.println("OK");
  server.begin();
}

int t1 = 100, t2 = 100;
int lastT1, lastT2;
void loop(){
  WiFiClient client = server.available();   // Listen for incoming clients
  if (client) {                             // If a new client connects,
    //Serial.println("New Client.");          // print a message out in the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    currentTime = millis();
    previousTime = currentTime;
    while (client.connected() && currentTime - previousTime <= timeoutTime) {
      currentTime = millis();         
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        header += c;
        if (c == '\n') {                    // if the byte is a newline character
          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println("Connection: close");
            client.println();
            
            if (header.indexOf("GET /1/less") >= 0) {
              t1 -= 5;
            } else if (header.indexOf("GET /1/off") >= 0) {
              t1 = 100;
            } else if (header.indexOf("GET /1/more") >= 0) {
              t1 += 5;
            } else if (header.indexOf("GET /2/less") >= 0) {
              t2 -= 5;
            } else if (header.indexOf("GET /2/off") >= 0) {
              t2 = 100;
            } else if (header.indexOf("GET /2/more") >= 0) {
              t2 += 5;
            }

            if (t1 < 0) t1 = 0;
            if (t1 > 200) t1 = 200;
            if (t1 < 0 && t1 > -15) t1 = -15;
            if (t1 > 0 && t1 <  15) t1 =  15;
            if (t2 < 0) t2 = 0;
            if (t2 > 200) t2 = 200;
            if (t2 < 0 && t2 > -15) t1 = -15;
            if (t2 > 0 && t2 <  15) t1 =  15;

            if (lastT1 != t1 || lastT2 != t2) {
              Serial.print("THR:");
              Serial.print(t1);
              Serial.print(":");
              Serial.println(t2);
              lastT1 = t1;
              lastT2 = t2;
            }
            
            // Display the HTML web page
            client.println("<!DOCTYPE html><html>");
            client.print("<head><meta name=\"viewport\" ");
            client.println("content=\"width=device-width, initial-scale=1\">");
            client.println("<link rel=\"icon\" href=\"data:,\">");
            // CSS to style the on/off buttons 
            // Feel free to change the background-color and font-size attributes to fit your preferences
            client.print("<style>html { font-family: Helvetica; display: inline-block;");
            client.println("margin: 0px auto; text-align: center;}");
            client.print(".button { background-color: #195B6A; border: none;");
            client.println("color: white; padding: 16px 40px;");
            client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
            client.println(".button2 {background-color: #77878A;}</style></head>");
            
            // Web Page Heading
            client.println("<body><h1>Train Controller</h1>");

            client.println("<h1>Throttle 1</h1>");
            client.print("<p>Requested Speed: ");
            client.print(t1 - 100);
            client.println("</p>");
            client.println("<p><a href=\"/1/less\"><button class=\"button button2\"><<</button></a> ");
            client.println("<a href=\"/1/off\"><button class=\"button button2\">Stop</button></a> ");
            client.println("<a href=\"/1/more\"><button class=\"button button2\">>></button></a></p>");

            client.println("<h1>Throttle 2</h1>");
            client.print("<p>Requested Speed: ");
            client.print(t2 - 100);
            client.println("</p>");
            client.println("<p><a href=\"/2/less\"><button class=\"button button2\"><<</button></a> ");
            client.println("<a href=\"/2/off\"><button class=\"button button2\">Stop</button></a> ");
            client.println("<a href=\"/2/more\"><button class=\"button button2\">>></button></a></p>");

            client.println("</body></html>");
            
            // The HTTP response ends with another blank line
            client.println();
            // Break out of the while loop
            break;
          } else { // if you got a newline, then clear currentLine
            currentLine = "";
          }
        } else if (c != '\r') {  // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }
      }
    }
    header = "";
    client.stop();
  }
}

Note that the ESP2866 throws out a stupid line of text when it switches on. It's at 74880 baud or somesuch and, if you're already listening on the arduino-side, you'll receive a random pile of junk. Due to this, I've added a 3 second delay to the start of both units.

Arduino Motor Control Code

So, we have the webserver sending the throttle over the serial port... let's now read it and control the motors as expected.

#include <AFMotor.h>

AF_DCMotor innerLoop(1, MOTOR12_64KHZ); 
AF_DCMotor outerLoop(2, MOTOR12_64KHZ); 

bool is_ready = false;

void setup() {
  //just to skip the bios text output from ESP8266
  delay(1000);
  Serial.begin(115200);
  Serial.println("Starting...");
  innerLoop.run(RELEASE);
  outerLoop.run(RELEASE);
}

void loop() {
  while(Serial.available() == 0) { }
  String in_str = Serial.readString();

  Serial.print(in_str);
  while(in_str.length() > 0) {
    if (in_str.startsWith("OK")) {
      Serial.println("OKAY!");
    } else if (in_str.startsWith("THR:")) {
      String this_str = in_str.substring(0, in_str.indexOf('\n'));
      in_str = in_str.substring(this_str.length());
      Serial.print("Dealing with: ");
      Serial.println(this_str);
      int next_colon = this_str.indexOf(':', 4);
      int tt1 = this_str.substring(4, next_colon).toInt();
      int tt2 = this_str.substring(next_colon + 1).toInt();
      //Serial.println(next_colon);
      int t1 = (tt1 - 100) * 2.5;
      int t2 = (tt2 - 100) * 2.5;
      Serial.print("Throttles: ");
      Serial.print(t1);
      Serial.print(", ");
      Serial.println(t2);

      if (t1 == 0) { 
        innerLoop.run(RELEASE);
      } else {
        innerLoop.run(t1 >= 0 ? FORWARD : BACKWARD);
        if (t1 < 0) t1 *= -1;
        innerLoop.setSpeed(t1);
      }
      if (t2 == 0) { 
        outerLoop.run(RELEASE);
      } else {
        outerLoop.run(t2 >= 0 ? FORWARD : BACKWARD);
        if (t2 < 0) t2 *= -1;
        outerLoop.setSpeed(t2);
      }
    }
    in_str = in_str.substring(1);
  }
}

The AFMotor library was fun to wrangle. You choose the polarity via the run call, passing either FORWARD or BACKWARD. Turns out though, if you pass a negative value into the speed, it'll reverse the direction automatically. I initially was setting both and wondering why my train wasn't reversing!

Layout Updates

With the hobbled-together track, I'd made the basic figure-of-eight dual-track loop and was nearly bored of it once the controller was working properly. Friends also then came over for dinner that evening and asked how more complicated I was going to make the track... slightly insulted, I went back to the drawing board. Instead of dual-track all the way round, let's reduce it to single with a few loops and a yard.

newestplan

The result is ridiculous, but nicely uses the track I'd accumulated... only needing a little bit more. No problems with that as I got to order more trains at the same time. That track is still in the mail, so instead here's a video of the current trains.

Excuse the audio. How nice is that Marklin Santa Fe F7A? Love it. The Akia 485-Series hated the incline straight away and no amount of throttle got it going. I also need to fix the throttle increments as you can see the trains only start moving after 4 presses. Work to do!

Filed under: MRR No Comments
16Mar/220

Z Scale Layout – Track Types

If you search any Japanese Hobby Store online, you'll find that Rokuhan dominate the market when it comes to Z Scale track. It seems that, back in the day, there were a few other manufacturers, but they aren't that popular anymore.

Whilst going crazy-shopping on Buyee lately, I bid on some random auctions of track, not really paying attention to brands and getting it all for cheap. Turns out it's cheap as they're literally piles of junk track from companies that no longer exist. The only real exception was a stash of Micro Trains track which seems to have come from America to Japan and now into my hands in Australia.

Rokuhan

As mentioned, currently the leader of the hobby in Japan and widely available. It's very much the Kato Unitrack of Z Scale. I've invested heavily in it and will use it as the core of the layout.

20220316 123124

You can get insulated joiners and power feed modules to segment your track as required.

Akia ZJ Gauge Track

This seems to be a real relic and was purchased in a bulk set of track from Yahoo Auctions.

20220316 123158

I don't think I'm even going to open the box. It looks as bad as the track that came with the Akia trains... and well, that makes sense.

RealZJ Real Track

Simple name, but quite nice track! The sleepers are further apart than Rokuhan and that makes it look more like cape-gauge.

20220316 123333

I happened to need a piece of this as I had failed to order the correct parts list for my intended layout.

20220316 123341

With the plastic clips removed, the track happily joined together. The Real Track is the bottom-left piece. As you can see, the sleeper difference is obvious, but could be disguised with enough scenery. I don't intend on keeping this piece in place though.

Micro Trains

This USA variant is immediately obvious. The ties are much thinner and the spacing is might tighter. It makes sense as it's trying to emulate standard gauge.

20220316 123542

Again, as that I'd failed to order enough of the track I needed, I swapped in the larger radius curves from this accidental purchase.

20220316 123316

The differences are immediately obvious and really only good for areas that can't be seen; inside a tunnel or somesuch. I'll fix this bit in the future with a proper order of the remaining required track.

Layout Update

It's looking good. Regardless of my mismatched track, the layout fits and is starting to come together!

20220316 123416

As usual, I've left next-to-zero space for scenery, so I've been mulling over the plan to see how I can fit more in. I'm really happy with the height available in the table. It could nearly fit three layers of trains!

Filed under: MRR No Comments
10Mar/220

Z Scale Layout – Gambling With Rolling Stock

After sourcing a lot of both track and rollingstock locally (Thanks Tony!), I realised I had to put in an order to Buyee to get the rest of the parts I wanted. I could've just gone to HobbySearch, but I also needed some parts for my PC-9801. Hence, an order was placed, expensive shipping was paid and a box'o'magic arrived! I'll discuss the contents later... today I'll just talk about two of the components that were included.

Takara Micro Gauge

In Japan, at some point, next to the register in (I actually don't know which) stores, there were trains + chewing gum offered for cheap prices. The contents of these items were meant for display, but supposedly some of them actually came motorised. Per box, you received at least got one item of rollingstock, one item of track and a piece of chewing gum! This is actually how the sets I've already received were 'built up'. The goal, just like the magazines that used to offer part-by-part components to build a greater model, was to collect enough boxes with the intention to complete a set of ... something!? So, without further ado, I bring up the first item into evidence.

20220310 161456

This is a shop-ready counter-ready box of Takara (Yes, the Takara Tomy brand) Micro-Gauge rolling stock + gum. It's unopened and ready to be explored. The theme is based on the EF-81 locomotive and associated sleeper trains... let's open it...

20220310 161512

20220310 161534

Awesome! Ten chances to win. I do love my Twilight Express, so let's see if I'm lucky!?

20220310 163552

The end result? Two locomotives and two night trains! One of the twilight carriages is duplicated, but that's OK.

20220310 164546

Note that each box comes with a postcard of the locomotives and some cute information on the back. Meanwhile, back to the locomotives... one of them was a little heavier?

20220310 163557 20220310 163629 20220310 163854

Oh nice, it's actually got an engine... but it's battery operated! The chassis just pulls apart... an AAA battery was inserted and, well, the train ran like shit on the plastic track. The locomotive's coupler was also around 3mm lower than the carriages, so I couldn't even get it to pull anything. No real loss as this box was an entire gamble and I'm just super stoked to have two night trains in the mix!

Akia ZJ Gauge

The other box was exactly the same shape/size/form. Instead of targeting EF81s, it instead provided a chance to complete a 485-series EMU set.

20220310 164710

So, this is the Akia ZJ Gauge series. It's actually the same as the rollingstock you see inside my coffee table, so I was happy to gamble with this box and see if I couldn't get another engine or, at least, make my consists a little longer.

20220310 164802

The box actually looked like it had been re-taped shut... I wonder if someone opened it and scanned for motorised cars? Are they heavier?

20220310 164904

Each box contained one car, one piece of track, a liquid sachet of candy and, for the cab cars, a replacement coupler.

20220310 164904

In the end, I ended up with one cab-car of each livery and a mix of intermediate cars. No motors! It's OK, I purchased motors individually on Yahoo Auctions and they came in the box'o'magic from Buyee as well. No loss here, lots of fun gambling!

Filed under: MRR No Comments
7Mar/220

Z-Scale Layout – Perspex Box/Case

So this was ready today and I didn't hesitate to go and pick it up! SC & F Plastic Fabrication took my order last Thursday and had the unit ready in 2 business days! Awesome!

20220307 164328

Disregard the weird shadow in the middle, above. It's from the cookie packet! There's a white protective sticker on the base, but the whole unit is actually clear. I don't think I'll remove it as the whole internal area will be filled with scenery.

20220307 164354

Meanwhile, the case didn't slide perfectly into the table's open space. Turns out the front-left vertical area of the table is less than 150mm! Somehow the whole table is actually slightly wonky.

20220307 164341

I had the option to file down the square case or the table, so I chose the latter as it's the one that's not plumb. I initially tried to smack the supporting bar with a hammer, but the spacing difference seemed to be in the actual weld where the bar joins the leg. 3mm was taken off to have the whole drawer area sit flat.

Filed under: MRR No Comments
4Mar/220

Z-Scale Layout – Coffee Table

After another round of impulse purchasing on eBay, I've ended up with a new fleet of Z-Scale Japanese EMUs. As per that previous plan a glass coffee table was ordered and has now arrived and been built!

20220302 194332

The table fits well in the lounge room and, more importantly, the dimensions for the layout have increased! Glad I waited for it to arrive prior to ordering the Perspex insert to build the layout inside.

Filed under: MRR No Comments
23Feb/220

Hello Z-Scale!

I can't see this ending well (nothing went well for the previous coffee-table layout), but let's give it a go anyway! I was randomly browsing eBay and saw a few un-powered sets of Kansai-coloured 485-series' and couldn't resist!

20220223 195902

Before I know it, I've bought a new glass coffee table and have scoped out Perspex manufacturers in melbourne to create a super-sized 'chinese container' to slide in the open area under the glass.

Oh, and if you're wondering about the Kitaguni's warpage above...

20220223 195911

It was purchased from a flea-market in Laverton in such state. We can only thank the Australian sun for doing the best it could. The seller wanted AUD$20! WTAF. I paid $5 just because I've been on the train in the real world.

What can you fit in 1160mm x 460mm x 110mm?

I've gone bonkers on AnyRail, trying to jam as much rail as I can into this area. It's actually not a good idea... I suppose... I should pay more attention to scenery...

plan2

I then google'd a whole lot and got a bit of inspiration from Marklin:


623w

That station under the bridge is a great idea!

plan3

plan1

I'm pretty happy with that last evolution. The top-left to bottom-right will be ground-level with a station in the middle under the bridge flying over. There's also a balloon loop to allow trains to be reversed. Anyway... more news on the coffee-table-layout as it happens.

Filed under: MRR No Comments
7Nov/210

Tenshodo HO Model Railway Catalogue

Another from the found-at-flea-market and needs-to-be-preserved box. This actually came with a single A4 insert of pricings from a Melbourne hobby shop in pounds and shillings... and I lost it. Pretty angry.

tenshodo-2 tenshodo-1

tenshodo-3 tenshodo-4

tenshodo-5 tenshodo-6

tenshodo-7 tenshodo-8

tenshodo-9 tenshodo-10

tenshodo-11 tenshodo-12

tenshodo-13 tenshodo-14

tenshodo-15 tenshodo-16

tenshodo-17 tenshodo-18

tenshodo-19 tenshodo-20

Beautiful rolling-stock. Interestingly with an inclusion of Japanese Freight cars! But no Japanese locomotives.

Filed under: MRR No Comments
5Nov/210

Akane HO Brass Catalog

Another item in the box'o'crap that belongs somewhere safe. This was found at a flea market here in Australia.

akane-3 akane-4

akane-2 akane-1

akane-5 akane-6

akane-9 akane-10

akane-12 akane-11

akane-7 akane-8

Some now-beautifully-expensive rolling stock!

Filed under: MRR No Comments