# Poor Man's Throttle — PMT

> Wireless model train control using a smartphone and DIY electronics. (iPhone/iPad app by James Theimer.)

- Source: https://appshunter.io/ios/app/poor-mans-throttle/id6760155416 (this page in markdown: same URL + `.md`)
- Developer: [James Theimer](https://appshunter.io/developer/1003785136)
- Category: Utilities, Entertainment
- Price: Free
- Rating: 5.00/5 from 4 App Store ratings · 1 written reviews indexed
- Age rating: 4+
- Requires: iOS 15.0 · 103 MB
- Released: 2026-03-24
- Data updated: 2026-08-05
- Monetization: free
- User reviews in markdown: https://appshunter.io/ios/app/poor-mans-throttle/id6760155416/reviews.md

## What is Poor Man's Throttle?

FREE DIY Wireless Model Train Control — Built for Hobbyists, 




**Poor Man’s Throttleturns your smartphone into a wireless throttle for model trains.

Designed formodel railroad hobbyists, makers, and DIY builders**, the app allows you to control a locomotive using inexpensive electronics instead of costly commercial control systems.

With simple ESP32-based hardware, your phone becomes asmooth, responsive wireless throttle**.

---


Smooth Motor Control


Many traditional DC transformers struggle with low-speed operation.
Locomotives often:

• hum at low speeds
• start with weak torque
• move in jerky steps

Poor Man’s Throttle solves this by usingPWM motor control (Pulse Width Modulation)instead of simply lowering voltage.

This allows locomotives to:

• start smoothly
• run at extremely slow speeds
• maintain strong torque
• eliminate most transformer hum

---


Wireless Smartphone Control

Control your locomotive directly from your phone.

Features include:

• Speed control
• Forward direction
• Reverse direction
• Stop
• Additional command support

Because control is wireless, you canwalk around your layout while operating trains**, just like with professional wireless throttle systems.

---


A Major Upgrade for Traditional DC Layouts

Poor Man’s Throttle works especially well with classic DC transformers.

Instead of using the transformer to regulate speed, the transformer is set tofull powerwhile Poor Man’s Throttle performs the motor control using PWM.

This approach provides:

• smoother slow-speed operation
• higher starting torque
• reduced transformer noise
• modern wireless control for classic layouts

---


Perfect for Dead-Rail Builders

The system also works extremely well withdead-rail locomotivespowered by onboard batteries.

Builders commonly use:

• cordless tool batteries (DeWalt, Milwaukee, Ryobi, etc.)
• lithium battery packs
• LiPo or lithium-ion cells
• NiMH packs
• other hobby batteries

This flexibility allows hobbyists to useinexpensive, widely available power sources**.

---


A DIY System That Costs Around $20

A typical Poor Man’s Throttle hardware build costs about:

• ESP32 development board
• IBT-2 motor driver
• 5V logic power module

Total hardware cost is oftenaround $20 per locomotive**.

Many builders already have some of these parts available.

---


Built for the Model Railroad Community

Poor Man’s Throttle was created to makewireless train control accessible to everyone**.

Instead of expensive proprietary systems, this project focuses on:

• simple hardware
• open DIY building
• affordable components
• sharing knowledge with the hobby community

The goal is simple:

**Give model railroaders a powerful wireless throttle they can build themselves.**

---


Who This App Is For

This app is ideal for:

• model railroad hobbyists
• dead-rail builders
• DC layout operators
• electronics makers and tinkerers
• DIY train control enthusiasts

Bothbeginner buildersandadvanced hobbyistscan use the system.

---


Learn More

Hardware build guides, documentation, and project information are available through the Poor Man’s Throttle project resources.
https://github.com/jamocle/PoorMansThrottle-DIY/blob/main/README.md


Build your own throttle.
Control your trains wirelessly.
Keep the hobby affordable.

## Key features

- Wireless smartphone throttle
- PWM motor control for smooth operation
- Control speed, direction, and stop
- DIY hardware integration
- Affordable components
- Ideal for DC and dead-rail layouts

## Recent user reviews (1 of 1)

All indexed reviews: https://appshunter.io/ios/app/poor-mans-throttle/id6760155416/reviews.md

### 5/5 — Great diy solution

*2026-04-26*

So happy with this solution. It cost an arm and a leg for a dcc setup but this is so awesome. Cant thank the creator enough.

**Developer response:** Thank you for the great feedback

## Frequently asked questions about Poor Man's Throttle

### What is Poor Man's Throttle?

Poor Man's Throttle is a mobile application that turns your smartphone into a wireless throttle for controlling model trains. It's designed for hobbyists who want to build their own affordable wireless control systems.

### How does Poor Man's Throttle improve train control?

It uses PWM (Pulse Width Modulation) motor control, which allows for smoother starting, extremely slow speeds, and strong torque, unlike traditional DC transformers that can cause jerky movements and humming.

### What hardware is needed for Poor Man's Throttle?

The system typically requires an ESP32 development board and an IBT-2 motor driver. The total hardware cost is estimated to be around $20 per locomotive, making it a very budget-friendly option.

### Can Poor Man's Throttle be used with battery-powered trains?

Yes, the system works exceptionally well with dead-rail locomotives powered by onboard batteries. It offers flexibility in using common hobby battery types like lithium-ion or NiMH packs.

### Is Poor Man's Throttle suitable for beginners?

Yes, the app and its associated DIY system are designed to be accessible to both beginner builders and advanced hobbyists. The focus is on simple hardware and open DIY building.

### What devices does Poor Man's Throttle support?

Poor Man's Throttle is available for iPhone and iPad. It is designed to run on iOS devices.

### How often is Poor Man's Throttle updated?

The latest version is 1.12.2, and the app was last updated on May 17, 2026. This indicates a consistent update schedule for improvements and new features.

### Does Poor Man's Throttle have ads?

No, Poor Man's Throttle does not contain advertisements. It is a free application designed for hobbyists without intrusive ads.

## Version history (last 5 releases)

### 2.5.6 — 2026-08-03

### Version 2.5.6
* **Record while you Run** Watch what you record while you can still control your locomotive with the camera overlay.
* **Misc refinements and bug squashing** The code monkey has been busy (me).

### Version 2.2.0
* **Custom in-app splash screen added** so PMT can show a persaonal splash screen after platform starts.
* **Splash screen appearance controls added** under Global Settings > Appearance, between Language and Colors, with settings for enabling the custom splash, choosing the splash image, picking the background color, setting the display time, selecting the animation, and testing the result in-app.
* **Custom splash image upload added** so users can choose a square image from their device photo library. Non-square images are rejected with a localized warning so the splash image remains predictable across screen sizes.
* **Splash screen preview added** so users can test the exact configured splash screen from Global Settings without restarting the app.
* **Splash animation options added** with None, From Singularity, and From Infinity choices. From Infinity is the default, and the splash animation runs for 500 ms while the overall splash display time remains user configurable.
* **Splash display timing defaults updated** so new installations use a 4000 ms custom splash display time, with a 500 ms minimum enforced in configuration.
* **Custom splash persistence added** so splash settings and the uploaded image are stored as app-owned persisted configuration data and included in backup/admin support flows.
* **Admin System Files support added for custom splash settings** so the custom splash JSON can be viewed, edited, deleted, and included in AI Context export. The large image Base64 field is hidden in the editor while preserving the uploaded image unless the filename is intentionally cleared.
* **Scan startup behavior improved** so scan is no longer cancelled just because auto-connect starts or the scan page briefly disappears during startup navigation.
* **Scan button behavior improved** so the Scan button remains enabled while scanning, changes to Cancel Scan, and only shows Scan cancelled when the user explicitly cancels the scan.
* **Misc refinements and bug squashing** The code monkey has been busy (me).

### 2.2.1 — 2026-07-17

### Version 2.2.1
* **Misc refinements and bug squashing** The code monkey has been busy (me).

### Version 2.2.0
* **Custom in-app splash screen added** so PMT can show a persaonal splash screen after platform starts.
* **Splash screen appearance controls added** under Global Settings > Appearance, between Language and Colors, with settings for enabling the custom splash, choosing the splash image, picking the background color, setting the display time, selecting the animation, and testing the result in-app.
* **Custom splash image upload added** so users can choose a square image from their device photo library. Non-square images are rejected with a localized warning so the splash image remains predictable across screen sizes.
* **Splash screen preview added** so users can test the exact configured splash screen from Global Settings without restarting the app.
* **Splash animation options added** with None, From Singularity, and From Infinity choices. From Infinity is the default, and the splash animation runs for 500 ms while the overall splash display time remains user configurable.
* **Splash display timing defaults updated** so new installations use a 4000 ms custom splash display time, with a 500 ms minimum enforced in configuration.
* **Custom splash persistence added** so splash settings and the uploaded image are stored as app-owned persisted configuration data and included in backup/admin support flows.
* **Admin System Files support added for custom splash settings** so the custom splash JSON can be viewed, edited, deleted, and included in AI Context export. The large image Base64 field is hidden in the editor while preserving the uploaded image unless the filename is intentionally cleared.
* **Scan startup behavior improved** so scan is no longer cancelled just because auto-connect starts or the scan page briefly disappears during startup navigation.
* **Scan button behavior improved** so the Scan button remains enabled while scanning, changes to Cancel Scan, and only shows Scan cancelled when the user explicitly cancels the scan.
* **Misc refinements and bug squashing** The code monkey has been busy (me).

### 2.2.0 — 2026-07-16

### Version 2.2.0
* **Custom in-app splash screen added** so PMT can show a persaonal splash screen after platform starts.
* **Splash screen appearance controls added** under Global Settings > Appearance, between Language and Colors, with settings for enabling the custom splash, choosing the splash image, picking the background color, setting the display time, selecting the animation, and testing the result in-app.
* **Custom splash image upload added** so users can choose a square image from their device photo library. Non-square images are rejected with a localized warning so the splash image remains predictable across screen sizes.
* **Splash screen preview added** so users can test the exact configured splash screen from Global Settings without restarting the app.
* **Splash animation options added** with None, From Singularity, and From Infinity choices. From Infinity is the default, and the splash animation runs for 500 ms while the overall splash display time remains user configurable.
* **Splash display timing defaults updated** so new installations use a 4000 ms custom splash display time, with a 500 ms minimum enforced in configuration.
* **Custom splash persistence added** so splash settings and the uploaded image are stored as app-owned persisted configuration data and included in backup/admin support flows.
* **Admin System Files support added for custom splash settings** so the custom splash JSON can be viewed, edited, deleted, and included in AI Context export. The large image Base64 field is hidden in the editor while preserving the uploaded image unless the filename is intentionally cleared.
* **Scan startup behavior improved** so scan is no longer cancelled just because auto-connect starts or the scan page briefly disappears during startup navigation.
* **Scan button behavior improved** so the Scan button remains enabled while scanning, changes to Cancel Scan, and only shows Scan cancelled when the user explicitly cancels the scan.
* **Misc refinements and bug squashing** The code monkey has been busy (me).

### 2.1.1 — 2026-07-15

### Version 2.1.1
* **Android system bar color matching fixed** so the top Android status-bar area now follows the app's selected Brand Background color instead of showing the platform default color.
* **Appearance theme updates improved** so changing the Brand Background color in Global Settings > Appearance also updates Android system chrome.
* **Information and Help version awareness added** so help items for features newer than the installed app version now identify the required version and warn users before opening the article.
* **Startup version checks improved for iOS** so the app compares the installed version with the App Store version, shows both versions, and can send the user to the App Store when an update or current GA version is available.
* **Startup version messaging improved for Android** so the app still uses the existing PMT installer version file, but now shows the installed version, current GA version, and clearer update or pre-release guidance.
* **Admin persistence tools expanded** so System Files, Known Devices, Prefs, and AI Context expose more app-owned persisted information, including known device identities, Poor Man's Turbine dial tap behavior, and indexed scan-version notice state.
* **Admin cleanup behavior hardened** so deleting device-owned persisted data uses relationship-aware cleanup instead of leaving orphaned device state behind.
* **Known Devices admin details expanded** with additional remembered identity information such as the last observed device name.
* **AI Context export improved** so the Copy action includes the expanded known preferences and app-owned persisted files needed for support and troubleshooting.
* **Consist speed-match locomotive cards improved** so locomotive curve cards can collapse into a compact header, giving small screens more room while keeping live output and direction information visible.
* **Consist speed-match graph pop-out added** so a selected locomotive curve can expand into the card-list area for more precise editing, with a quick control to return to the normal card list.
* **Consist speed-match graph labels improved** so the expanded graph shows aligned point values and clear Input and Output axis labels without changing the underlying curve behavior.
* **Consist live curve editing improved** so changing a speed-match curve while live mode is active immediately sends the updated output command when the edit affects the locomotive's current throttle output.
* **Consist curve live mode default changed** so live mode starts enabled on the curve screen and can be turned off by the user when needed.
* **Localization updated** for the new version-warning, update-check, admin persistence, and graph label messages across supported languages.
* **Misc refinements and bug squashing** The code monkey has been busy (me).

### 2.0.0 — 2026-07-12

### Version 2.0.0
* **App support for Poor Man's Turbine added** so PMT can discover, connect to, configure, and control Poor Man's Turbine firmware in addition to train throttle controllers.
* **New turbine control screen added** with a dedicated turbine output dial, stop control, live output readback, and a saved governor limit so users can cap the maximum turbine output from the app.
* **Guided ESC calibration added** to walk users through teaching an Electronic Speed Control its low and high throttle endpoints, with safety prompts, confirmation steps, and automatic restoration of the previous output limits.
* **Turbine configuration support added** for minimum output, full output, ramp-to-full-output time, ESC PWM pin, and turbine dial tap behavior.
* **Module-style device support added** so the scan screen can recognize registered PMT module devices, display them separately from locomotive throttles, and open the correct module control/configuration experience.
* **Minimum supported firmware updated to 2.0.0** so the app targets the shared 2.0 firmware generation used by the throttle, module, and turbine firmware.
* **WebSocket backup connection behavior improved** so the app can continue using a known network connection when available and show clearer status when neither BLE nor WebSocket is connected.
* **WebSocket diagnostic logging added** so users can enable WebSocket logging for the next launch and review connection, persisted-IP discovery, and error details from settings.
* **Known-device scanning improved** so previously known devices can be shown from saved network information when reachable, even when BLE discovery is not the only available path.
* **Known throttle management added** so users can review and administer remembered throttles from settings.
* **Auto-connect and disconnected-throttle shutdown settings added** so users can control whether known throttles reconnect automatically and whether disconnected train throttles are shut down automatically.
* **Version information experience expanded** with startup and settings-based release notices so users can review relevant app/version information from inside PMT.
* **Localization expanded** beyond English, Spanish, and French to include German, Finnish, Gujarati, Hindi, Italian, Dutch, Portuguese, and Tamil.
* **Accessibility and screen-reader support expanded** across newer PMT screens and controls, including module/turbine screens, diagnostics, settings, and version-notice experiences.

## Related topics

[blunami](https://appshunter.io/ios/topics/blunami)

---

*Data collected daily from the US App Store and indexed by [AppsHunter](https://appshunter.io/). User reviews are verbatim App Store reviews. Ratings, prices and chart positions refresh continuously; this snapshot is from 2026-08-05.*
