Dragon Railway: Complete Open Source Ecosystem




Introduction: Dragon Railway: Complete Open Source Ecosystem

About: "Bringing RC Dreams to Life, One layer at a Time"

This project is focused on creating a highly detailed and accurate scale model of a railway system, complete with locomotives, wagons/rail cars, tracks, control systems and other accessories.

Due to the parametric nature of Fusion360; You can create your own railway layout, with the ability to adjust the track length, curves or even create your own custom tracks.

We will also be incorporating various interactive elements such as lights and sounds to bring the Locomotive to life. The main objective is to create a functional and accurate replica of a real railway system using Fusion 360, and to demonstrate the potential of 3D printing in the field of model railways.


  • 1/64 scale ( S scale)
  • Realistic models
  • Detailed Manuals
  • Easy assembly
  • Bluetooth control

A complete Open Source ecosystem:


  1. F7 Locomotive
  2. GP7 Locomotive
  3. GP60 Locomotive

Wagons /Rail Cars;

  1. Tanker Car
  2. Open hopper Car
  3. Gondola Car
  4. Box Car


  1. Straight tracks - Parametric
  2. Curved Tracks - Parametric
  3. Turnouts
  4. Crossings


  1. AutoCoupler
  2. Easy Railer

Control Systems:

  1. BLE Locomotive Control (using Android/IOS app)
  2. Dragon Loco Controller

Project Links:

Github - Source Files: github.com/DragonRailway

Printables - STL files: printables.com/rambros

Assembly Manuals : google docs


Some files are not uploaded here due to the 25MB file size limit on instructables. They are linked to printables and github.



  • Fusion 360
  • Cura Slicer
  • Arduino IDE

Materials required:

  • PLA filament (Colours as per your choice)
  • Super Glue
  • Glue stick (for glue gun)
  • Solder wire
  • Wires
  • M2 screws (4mm, 6mm)


  • 3D printer (obviously)
  • Screw Driver
  • Soldering iron
  • Wire Cutter
  • Wire Stripper
  • Glue Gun
  • Hacksaw or Dremel

These are the main supplies, Other components are listed in their respective Steps

Step 1: Parametric Tracks With Fusion 360

The design is optimized for 3D printing, with a focus on minimizing the amount of material used while maintaining structural integrity. The final product is a functional train track that can be used with 3D printed model trains.

Using the parametric capabilities of Fusion 360, you can easily adjust various parameters such as track length & curvature to create unique track layouts.

Dragon Railway uses 22.5mm track - S scale - Standard gauge

Customisable parameters:

  • Straight track: Length (in mm)
  • Curved track: Arc Length (in deg), Radius (in mm)

And the good thing is, you don't have to be an expert to customize these tracks. Just download, open the file; adjust parameters and let Fusion 360 do its thing! export as STL and print

Create custom tracks with Fusion 360:

  1. Open Fusion 360 and open the Track (Straight or Curved) you want to customize.
  2. Select the "Modify" tab and then click on the "Change Parameters" button. This will open the Parameters dialog box.
  3. Select the parameter you want to edit and change its value. This will update the design automatically.
  4. Right Click on the model and use "Save as Mesh" option to export the STL file.

You just want to get started and don't want to mess with fusion 360? You can download the STLs provided here & start printing right away!

Download STLs: printables

Get Source CAD files: github


  • Before printing the curved tracks be sure to check minimum track radius supported by the respective locomotive.
  • Larger radius (above 500mm) is better for stability, it is also compatible with all locomotives. So it recommended to use large radius curves where ever possible.
  • For now, only the straight and curved tracks are customisable. The crossings and turnouts are not parametric.

Straight Track - Parametric

Curved Track - Parametric

Step 2: Locomotives

1) F7 Locomotive

The EMD F7 is a diesel-electric locomotive model produced by General Motors' Electro-Motive Division (EMD) between 1949 and 1953.

The F7 locomotive scale model is a highly detailed and accurate replica of the popular American diesel-electric locomotive that was widely used in the mid-20th century.

This 3D printable model has been designed to be fully assembled, motorized, and functional. This model features many intricate details, including working lights providing a highly realistic and visually striking experience.

Compatible Track radius: Min 300mm

Assembly Manual: Google docs

3D print files: printables.com

1B) F7 B unit

The F7 B unit locomotive was a diesel-electric locomotive produced by EMD between 1949 and 1953. It was a cabless booster unit designed to provide additional power and traction when coupled with an A unit.

The 3D printed model of the F7 B unit locomotive has been created to accurately capture the distinctive features of the original locomotive. This locomotive is intended to be used with the A unit.

Compatible Track radius: Min 300mm

Assembly Manual: Google docs

3D print files: printables.com

2) GP7 Locomotive

The EMD GP7 is a type of diesel-electric locomotive that was manufactured by the Electro-Motive Division (EMD) of General Motors between 1949 and 1954.

The GP7 locomotive scale model is a 3D printable and motorized working replica of the iconic GP7 diesel-electric locomotive.

This model captures the intricate details and design of the original locomotive, bringing the beauty and power of the classic locomotive in a smaller scale. The model is easy to assemble and features the same motorized bogie as the F7 locomotive.

Compatible Track radius: Min 350mm

Assembly Manual: Google docs

3D print files: printables.com - cults3d.com

3) GP60 Locomotive

The GP60 is a diesel-electric locomotive made by EMD in the 80s. It was used for freight trains and was known for its cab-forward design and improved fuel efficiency. Despite being largely replaced by newer models, it is still in service today.

The GP60 locomotive scale model has been designed to be highly detailed, right down to the smallest parts, such as the locomotive's handrails and headlights.

Whether it's for the Dragon Railway or as a display piece, the 3D printed GP60 locomotive scale model provides a unique and visually stunning representation of one of the most iconic locomotives in history.

Compatible Track radius: Min 350mm

Assembly Manual: Google docs

3D print files: printables.com


  • F7, GP7, GP60 are EMD locomotives, Hence use the same bogie.
  • The drive wheels require 13x1.5mm O ring.
  • You can add dead weights on the chassis to increase stability and traction.
  • You can have one motorized bogie and one idle bogie for the locomotive. You can also have both of them motorized just like the real one.
  • Refer to the control section for code and schematics.

Source CAD Files: github.com

Dragon F7 Diesel

Dragon GP7 Diesel

Dragon GP60 Diesel

Step 3: Auto Coupler

The AutoCoupler has been designed to provide a more efficient and reliable coupling system for model trains. The AutoCoupler maintains the functionality and realism of the Shibata Coupler despite being optimized for FDM printers.

The coupler automatically connects the trains when they come into contact, and can be manually decoupled by the user when desired. Note that the main advantage is that it requires very little force on the lever for decoupling.

AutoCoupler is compatible with all Dragon Railway Locomotives and Wagons.

Assembly Manual: Google docs

3D print files: printables.com

AutoCoupler - DragonRailway

Step 4: Wagons / Rail Cars

And of course, a railway system wouldn't be complete without Wagons since they are an essential component of railway transportation. They are used to transport a wide variety of goods and materials while increasing the efficiency and capacity of the railway system.

1) Tanker Car

This tanker car scale model is a miniature replica of a full-size tanker car used for transporting liquids or gases. This model has an articulated a lid that can be opened and closed.

Assembly Manual: google docs

Download STL: printables

2) Box Car

A Box car is a type of railway freight car. This particular model features doors that can be opened and closed, mimicking the movement of the doors on a real box car.

Assembly Manual: google docs

Download STL: printables

3) Gondola Car

Gondola car is a type of railway freight car that is open on top and typically used for transporting bulk goods such as coal, ore, and gravel.

Assembly Manual: google docs

Download STL: printables

4) Hopper Car (Open Top/Covered Top)

A hopper car is a type of railway car used to transport bulk materials such as coal, grain, and gravel. This scale model is a detailed representation of the original, complete with functioning doors on the underside that can be opened and closed, it provides an accurate representation of the real thing.

Assembly Manual: google docs

Download STL: printables

Get Source Files: github.com/DragonRailway/Train-Wagons

Tanker Car - Dragon Railway

Box Car - Dragon Railway

Gondola Car - Dragon Railway

Hopper Car Covered - Dragon Railway

Hopper Car Open - Dragon Railway

Step 5: Accessories: EasyRailer

EasyRailer - the ultimate solution for seamless train placement on your 3D printed model tracks.

Say goodbye to frustrating train placement and hello to easy, precise track alignment with this user-friendly design

Haha! At first, this is something which you would see as something unecessary. But this really makes train placement a breeze. You just have to place the model on the Railer and slide it; The train automagically aligns itself on the track.

Step 6: App Control System

Locomotives can controlled be controlled wirelessly using an Android / IOS smartphone using the RemoteXY app. The phone connects to the train via Bluetooth Low Energy (BLE), allowing for a seamless and convenient control of the train's speed, direction, and lights.


  • ESP32 dev board
  • Motor driver (DRV8833 or L293D)
  • LED lights
  • Resistors (220 ohm)
  • 7805 regulator (AMS1117 - 5V can also be used)
  • N20 Motor (already in the Loco Bogie)
  • Battery*

Connect the circuit as per the schematic and upload the code to the ESP32. It should Start working right away!

The lights will stop blinking as soon as the BLE connection is established. You can now control the Locomotive.

What can this do:

  • BLE connection
  • Motor controls with inertia simulation
  • Lights control

Code: github

Software required:

Arduino IDE: Official website

RemoteXY App:Playstore - AppStore - AppGallery

*Battery remarks:

  • Compatible Voltage: 6V to 9V
  • Suitable batteries: 9V rechargeable battery, 2S Li-Fe(6.6V) , 2S Li-ion(7.4V) - note that lithium based batteries require BMS/ Balance chargers
  • Don't use Lithium batteries without BMS
  • Choose the battery which is comfortable for you. 9V rechargeable battery can be the best option for beginners

Step 7: Future of This Project

I have put a lot of time and effort into developing this project and seeing it come to life has brought me a great deal of satisfaction and happiness.
The process of designing and 3D printing the detailed models of locomotives, wagons, tracks, and other accessories has been an enjoyable learning experience.

Work in progress stuff:

  1. Realistic Sounds: To be added using a simple amplifier and a speaker. That's the easy part, I still have to work on the code. Planning to fork this from TheDIYGuy999
  2. Electronic Coupler Control: The AutoCoupler already has an easy release mechanism. A servo will be used to actuate the release hook. This will enable the coupling and decoupling of trains without any manual intervention.
  3. More tracks: Wye turnout, Double Crossover turnout, Lapped turnout, Tracks with Ballasts - These are some of the tracks I'm working on.
  4. Advanced Loco Remote: Espnow based remote for controlling multiple locomotives at the same time. It features an OLED Display and encoder to have an advanced control over the layout. Check out the code at github

Future Ideas:

  1. Automatic layout control: An advanced layout control system with open source softwares like Traintastic, DCC-EX. This can be very helpful for controlling large layouts with multiple locomotives.
  2. More Parametric Tracks: Crossings, Turnouts can also be made parametric, allowing even more flexibility of custom layouts

Open Source:

These Tracks, Locomotives, Wagons are Open Source. You have the ability to customize and personalize your own model railway, and also share your own modifications and improvements with the community. This will help to create a collaborative and supportive environment where you can share ideas and learn from one another.

I hope you enjoy printing and building these models!
Share your suggestions and ideas in the comments


2023 Jan 24 - Instructable published

2023 Feb 4 - Added GP60 Locomotive

2023 Feb 26 - Added F7 B unit Locomotive

Anything Goes Contest

Fifth Prize in the
Anything Goes Contest

Be the First to Share


    • Make It Bridge

      Make It Bridge
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Big and Small Contest

      Big and Small Contest



    20 days ago on Step 7

    Putting the electronics together as we speak. Using an ESP32 Devkit v1 board - any change to the pinout or is your diagram accurate for that board? Excited to get this done


    Reply 18 days ago

    It the same chip, no pin change is required


    24 days ago

    Erstklassige Modelle und Gleise. Viel, viel Arbeit in den Modellen.
    In den Instruktionen ist in einem Kurzfilm eine Fernbedienung zu sehen. Besteht die Möglichkeit hierüber mehr zu erfahren, möglicherweise sogar Pläne und Druckfiles? An dieser Fernbedienung hätte ich sehr, sehr großes Interesse.
    Leider nur in Deutsch, mein englisch ist nicht so gut. Unten Von Google übersetzt.

    First-class models and tracks. Lots and lots of work in the models.
    A remote control can be seen in a short film in the instructions. Is it possible to find out more about this, possibly even plans and print files? I would be very, very interested in this remote control.
    Unfortunately only in German, my English is not that good. Translated by Google.


    4 weeks ago

    One of special project


    4 weeks ago

    how long did it take you to build this?


    Best Answer 4 weeks ago

    It took two months to complete this project. I will be adding more locomotives and wagons soon.


    5 weeks ago

    Really amazing thumps up buddy.
    i have a question i want to use this board Romeo BLE mini v2 https://wiki.dfrobot.com/Romeo_BLE_mini_V2.0_SKU_DFR0351 do i have to use these libraries or the libraries are different? , since the board is not a ESP32 .
    when i compile i get an error "fatal error: driver/ledc.h:"
    Thank you in advance.


    Reply 5 weeks ago

    The current code is only compatible with an ESP32 board. The ledc library error you're getting is because of a PWM library used by ESP32, it is not arduino's analogwrite.
    To use that board mentioned you would have to rewrite the entire code.


    4 weeks ago

    i have a quetsin how long did it take to build this?


    5 weeks ago

    I finaly started to make headway printing and assembling some covered hoppers got 8 done minus steps and couplers ran out of super glue and still don't have screws for couplers yet..still have several more to assemble when I get more glue..I don't have much track yet holding off on that right now iam order a new printer later thus week a dual color extruder printer to print the track in 2 colors....soo any suggestions for a beginner dual color printer would be awesome thanks...my current method of printing track in brown the pausing and switch filament colors is not working soo well its causing the rails to not bond to ties as they print


    Reply 5 weeks ago

    we have printed the sleepers in brown and the rails in silver, we had only 1 sleeper joint broken so far, my be the colours didnt bond well try printing a short test track using one colour with our cura profile


    5 weeks ago

    any chance of a b unit to go the the f7 in future i think a f7 A and B unit set would look sweet...ive had funs soo far printing some of your files i got 12 covered hoppers printed soo far and printing more lol and 2 gp7, waiting on the wire to arrive to do electronics. just gots lots of track to print now lol.


    Reply 5 weeks ago

    Thought of designing a B unit, didnt do it as I was equipped with an another project, Please share your makes too


    2 months ago

    The trains are really nice, To bad you didn't provide the files is a sat or step format, STL files are very problematic.


    Reply 8 weeks ago

    I have provided all the source files in STEP and Fusion formats.

    STL files are provided only for 3D printing purposes, I wouldn't consider it as source.


    Reply 7 weeks ago

    Thank You so much. your stuff is very nice very well done. could please put out one of the track intersections. Thank you also for your very quick response. It was so gratious of you.


    Reply 7 weeks ago

    Thanks for the reminder. I have now added STEP files for Crossings and EasyRailer also.
    Let me know if there's anything else I should add.

    I have not added STEP files for straight and curved tracks since STEP files are not parametric, it wouldn't be of much use to the user.


    Reply 7 weeks ago

    Thank you so much. Your work is very impressive.