<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Project Blog on Christopher Mitchell, Ph.D.</title>
    <link>https://z80.me/blog/</link>
    <description>Recent content in Project Blog on Christopher Mitchell, Ph.D.</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 19 Jan 2026 11:38:00 -0500</lastBuildDate>
    <atom:link href="https://z80.me/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Train Simulator Controller: Simulating a GSM-R Driver&#39;s Control Panel</title>
      <link>https://z80.me/blog/tsc-gsmr/</link>
      <pubDate>Mon, 19 Jan 2026 11:38:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-gsmr/</guid>
      <description>GSM-R is the latest secure way for UK train drivers to communicate with signallers (dispatchers) and other drivers. Modern UK trains have a Driver&amp;rsquo;s Control Panel (DCP) with a display and buttons, but to date, very few simulator builders have succeeded at integrating a functional GSM-R DCP into their simulators. Here&amp;rsquo;s how I managed it.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Simulator Takes Shape with Custom Table</title>
      <link>https://z80.me/blog/tsc-table-1/</link>
      <pubDate>Sun, 11 Jan 2026 13:15:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-table-1/</guid>
      <description>With the center console of my train simulator built, I rapidly modeled and fabricated prototypes of the four other panels.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Dashboard Prototype Part 4, All the Panels</title>
      <link>https://z80.me/blog/tsc-dash-prototype-4/</link>
      <pubDate>Tue, 30 Dec 2025 13:15:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-dash-prototype-4/</guid>
      <description>With the center console of my train simulator built, I rapidly modeled and fabricated prototypes of the four other panels.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Dashboard Prototyping, Part 3</title>
      <link>https://z80.me/blog/tsc-dash-prototype-3/</link>
      <pubDate>Tue, 18 Nov 2025 00:38:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-dash-prototype-3/</guid>
      <description>After a cardboard prototype of the center console of my Class 80x simulator, I created a functional hardboard version and took it for a spin.</description>
    </item>
    <item>
      <title>Train Simulator Controller: TPWS Control Panel</title>
      <link>https://z80.me/blog/tsc-tpws/</link>
      <pubDate>Sun, 16 Nov 2025 00:38:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-tpws/</guid>
      <description>TPWS is a key safety system in UK trains, so my Class 80x cab needed a precisely replicated TPWS control panel.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Dashboard Prototyping, Part 2</title>
      <link>https://z80.me/blog/tsc-dash-prototype-2/</link>
      <pubDate>Sat, 06 Sep 2025 00:38:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-dash-prototype-2/</guid>
      <description>My cardboard prototype of the central portion of a Class 80x dashboard allowed me to iterate to a laser-cut hardboard prototype.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Dashboard Prototyping, Part 1</title>
      <link>https://z80.me/blog/tsc-dash-prototype-1/</link>
      <pubDate>Thu, 31 Jul 2025 07:38:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-dash-prototype-1/</guid>
      <description>After sourcing rough measurements of the dashboard of a Class 80x train, I began creating a cardboard prototype, plus associated CAD designs to get the design fabricated.</description>
    </item>
    <item>
      <title>Graph3CE: 3D Graphing for the TI-84 Plus CE</title>
      <link>https://z80.me/blog/graph3dc-ti84pce/</link>
      <pubDate>Mon, 23 Jun 2025 19:14:52 -0600</pubDate>
      <guid>https://z80.me/blog/graph3dc-ti84pce/</guid>
      <description>Graph3CE is a 3D graphing application for the TI-84 Plus CE. Inspired by my previous 3D graphing tools for graphing calculators, and adapted from my Casio Prizm tool Graph3DP, this project lets TI-84 Plus CE users graph up to six equations in 3D, examine their values via trace, and rotate and zoom them. Here&amp;rsquo;s how I created it.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Horn Control</title>
      <link>https://z80.me/blog/tsc-horn-control/</link>
      <pubDate>Sat, 21 Jun 2025 21:00:00 +0000</pubDate>
      <guid>https://z80.me/blog/tsc-horn-control/</guid>
      <description>My several iterations over a CAN bus controller for my Train Simulator physical dashboard has made it simple to add new controls. Here&amp;rsquo;s how I used it plus a joystick to add UK horn control to my virtual train.</description>
    </item>
    <item>
      <title>Train Simulator Controller: CAN-Connected Air Gauge, Part 2</title>
      <link>https://z80.me/blog/can-air-gauge-2/</link>
      <pubDate>Sun, 25 May 2025 12:27:00 -0400</pubDate>
      <guid>https://z80.me/blog/can-air-gauge-2/</guid>
      <description>In my ongoing quest to build a physical cab dashboard to control Train Simulator, an important set of components are the gauges that tell me what&amp;rsquo;s going on with the train. As I build the dashboard into which to embed my gauges, I realized I needed to better modularize my air pressure gauge, moving the control circuit board outside the gauge. Here&amp;rsquo;s how I did it.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Designing a Dashboard</title>
      <link>https://z80.me/blog/tsc-dash-measurements/</link>
      <pubDate>Fri, 31 Jan 2025 21:51:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-dash-measurements/</guid>
      <description>Having sporadically built controls and gauges to interface with Train Simulator over the course of a year, in April 2024 I began to figure out how to design the dashboard they would all fit into.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Power/Brake Controller, Part 3</title>
      <link>https://z80.me/blog/tsc-pbc-pcb/</link>
      <pubDate>Tue, 31 Dec 2024 23:30:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-pbc-pcb/</guid>
      <description>The core of a train simulator setup could be considered its throttle and brake. Having figured out how to interface a real UK Class 365 power/brake controller with Train Simulator, I designed and built a polished PCB to connect it to my Train Simulator setup.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Power/Brake Controller, Part 2</title>
      <link>https://z80.me/blog/tsc-pbc-interfacing/</link>
      <pubDate>Sun, 25 Aug 2024 12:41:08 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-pbc-interfacing/</guid>
      <description>The core of a train simulator setup could be considered its throttle and brake. Having lugged a combined throttle/brake from a real UK Class 365 passenger train home, I reverse-engineered how it worked, then figured out how to interface it with Train Simulator.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Power/Brake Controller, Part 1</title>
      <link>https://z80.me/blog/tsc-pbc-prep/</link>
      <pubDate>Sun, 04 Aug 2024 18:41:08 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-pbc-prep/</guid>
      <description>The core of a train simulator setup could be considered its throttle and brake, the control or controls that make a train go and stop. In previous blog posts, I detailed my exploration of building my own controller from scratch, but a fortuitous eBay listing provided me a real Power/Brake Controller (PBC) from a UK Class 365 train. Here&amp;rsquo;s how I got it home and reassembled.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Laser-Cutting a Door Control Panel</title>
      <link>https://z80.me/blog/tsc-door-controls/</link>
      <pubDate>Wed, 01 May 2024 18:41:08 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-door-controls/</guid>
      <description>As the different pieces of my Train Simulator controller come together, a bite-sized first task of building the physical dashboard is the door controls placed at each side of the cab. Here, I detail the process of prototyping the door control panel from a Class 80x out of cardboard and the authentic buttons used in the real train, then laser-cutting refined prototypes I can use with my existing setup</description>
    </item>
    <item>
      <title>Train Simulator Controller: Real ATP-Enabled Speedometer</title>
      <link>https://z80.me/blog/tsc-atp-speedometer-controller/</link>
      <pubDate>Tue, 26 Mar 2024 15:00:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-atp-speedometer-controller/</guid>
      <description>As I add more instruments to my realistic physical dashboard for Train Simulator, I have prioritized a speedometer, one of the most vital tools a driver/engineer uses to safely operate a train. After purchasing working, ATP-enabled speedometers, I set about determining how to build controller hardware and software to use the ATP features and the analog needle with Train Simulator to continue to enhance the realism.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Driver&#39;s Reminder Appliance (DRA)</title>
      <link>https://z80.me/blog/tsc-dra-1/</link>
      <pubDate>Mon, 05 Feb 2024 15:00:00 -0500</pubDate>
      <guid>https://z80.me/blog/tsc-dra-1/</guid>
      <description>I&amp;rsquo;m building a physical cab dashboard to control Train Simulator, replicating the controls present in UK trains such as the Class 80x. One of the important safety systems is the Driver&amp;rsquo;s Reminder Appliance (DRA) that helps the driver avoid passing a red signal. I added a realistic DRA button to my Train Simulator dashboard, and here&amp;rsquo;s how.</description>
    </item>
    <item>
      <title>Train Simulator Controller: CAN Controller, Part 2</title>
      <link>https://z80.me/blog/can-controller-2/</link>
      <pubDate>Thu, 04 Jan 2024 15:00:00 -0500</pubDate>
      <guid>https://z80.me/blog/can-controller-2/</guid>
      <description>I&amp;rsquo;m building a physical cab dashboard to control Train Simulator, and to tie it all together as robustly as possible, I am use CAN. This protocol is designed to rapidly share small updates around a network in an electrically noise environment, and in a previous post, I detailed my first CAN controller designs. Here, I show the maturation of the CAN controller to solve bugs and make it useful for any control or instrument I add.</description>
    </item>
    <item>
      <title>Train Simulator Controller: CAN-Connected Air Gauge</title>
      <link>https://z80.me/blog/can-air-gauge/</link>
      <pubDate>Thu, 28 Dec 2023 15:00:00 -0500</pubDate>
      <guid>https://z80.me/blog/can-air-gauge/</guid>
      <description>In my ongoing quest to build a physical cab dashboard to control Train Simulator, an important set of components are the gauges that tell me what&amp;rsquo;s going on with the train. I already showed off the internals of an AWS sunflower and early experiments with a speedometer. In this post, I show how I turned a real, air-driven air pressure gauge into an electronic, CAN-bus-connected version for Train Simulator.</description>
    </item>
    <item>
      <title>Train Simulator Controller: CAN Controller, Part 1</title>
      <link>https://z80.me/blog/can-controller-1/</link>
      <pubDate>Thu, 22 Jun 2023 15:00:00 -0500</pubDate>
      <guid>https://z80.me/blog/can-controller-1/</guid>
      <description>I&amp;rsquo;m building a physical cab dashboard to control Train Simulator, from master controller to an AWS sunflower to a speedometer, and everything in between. The engineer or hobbyist interested in getting this project ready expediently would probably find their favorite microcontroller, figure out how to interface enough GPIO pins to it (maybe an Arduino Mega?), and connect all their hardware to that microcontroller. Not me.&#xA;Ever dedicated to over diligently engineering my projects, I decided to build each component of my Train Simulator setup with a controller capable of speaking connecting to a CAN bus.</description>
    </item>
    <item>
      <title>Train Simulator Controller: First Master Controller Prototype</title>
      <link>https://z80.me/blog/controller-prototype-1/</link>
      <pubDate>Thu, 25 May 2023 14:14:08 -0500</pubDate>
      <guid>https://z80.me/blog/controller-prototype-1/</guid>
      <description>Train Simulator has for many years given me an easy, accessible outlet for my love of trains, including operating trains. Its realism leaves something to be desired, and I&amp;rsquo;m now building my own physical controller for Train Simulator, resembling the dashboard of a Class 80x passenger EMU from the UK. The preceding sections of this blog introduced experimenting with a speedometer and AWS acknowledgment pluinger, experimenting with the starwheel at the heart of a DIY master controller, and delving into what makes a real AWS &amp;ldquo;sunflower&amp;rdquo; tick.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Inside an AWS Sunflower</title>
      <link>https://z80.me/blog/aws-sunflower-internals/</link>
      <pubDate>Sat, 20 May 2023 15:00:00 -0500</pubDate>
      <guid>https://z80.me/blog/aws-sunflower-internals/</guid>
      <description>In my first post about the Train Simulator Controller project, I introduced the Automated Warning System (AWS) on most of the UK trains that I drive in Train Simulator. This safety system is designed to warn drivers of restricting (non-green) signals, often because there&amp;rsquo;s a train ahead, a switch that is aligned against the train, or a speed restriction. The system includes magnets between the rails, coils underneath each train, and in the cab, a warning buzzer/horn (and sometimes a bell), a button to acknowledge AWS warnings, and a visual indicator colloquially called a &amp;ldquo;sunflower&amp;rdquo;.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Master Controllers and Starwheels</title>
      <link>https://z80.me/blog/controller-starwheel-1/</link>
      <pubDate>Tue, 18 Apr 2023 14:14:08 -0500</pubDate>
      <guid>https://z80.me/blog/controller-starwheel-1/</guid>
      <description>I have long played Train Simulator, and have wanted something a bit more realistic to control the game. The first part of this log discussed my plans and motivations, and detailed the first steps along the journey: experimenting with connecting a speedometer and AWS acknowledgement plunger to the game. The core of controlling any train is making it go and stop, so naturally that was the next component to which I turned my attention.</description>
    </item>
    <item>
      <title>&#34;AI&#34; on a Calculator: Part 1</title>
      <link>https://z80.me/blog/calculator-ai-part-1/</link>
      <pubDate>Mon, 27 Mar 2023 19:14:52 -0600</pubDate>
      <guid>https://z80.me/blog/calculator-ai-part-1/</guid>
      <description>Can AI run on a calculator? Machine learning and computer vision algorithms can certainly be run on a calculator albeit slowly: I ported a convolutional neural network (CNN) to a TI-84 Plus CE, making it capable of using &amp;ldquo;AI&amp;rdquo; to identify handwritten digits. As an added challenge, I implemented this in a single three-day train ride, including solving several interesting systems problems and making the code equally useable on a computer.</description>
    </item>
    <item>
      <title>Train Simulator Controller: Stepper Speedometer Begins</title>
      <link>https://z80.me/blog/stepper-speedometer-begins/</link>
      <pubDate>Fri, 27 Jan 2023 15:28:08 -0500</pubDate>
      <guid>https://z80.me/blog/stepper-speedometer-begins/</guid>
      <description>For quite a few years now, I have been an avid Train Simulator player, operating virtual trains from the United States, the UK, and beyond. I&amp;rsquo;ve played Dovetail Games&amp;rsquo; Train Simulator 2015 to 2022 and now &amp;ldquo;Train Simulator Classic&amp;rdquo;, FIFA-style annual upgrades that have incrementally improved the core game - and I&amp;rsquo;ve spent a decent amount of money on the much-memed Train Simulator DLC. The game is pretty immersive, but since part of my life also includes running real-life rail vehicles, I naturally want to make it feel even more real.</description>
    </item>
  </channel>
</rss>
