DOWNRANGE Operator Manual
Everything needed to run, build and administer training courses on the 8-lane rotating target trainer, from any phone, tablet or laptop browser — no app, no internet connection.
01What this system is
DOWNRANGE controls 8 rotating targets. Each target sits flat at its home position, rotates 90° to an open (exposed) position on command, holds there for a set time, then rotates back home. Every lane is timed independently.
You drive all of it from a web page served by the controller itself. Connect a phone, tablet or laptop to the trainer's own WiFi, open the page, and you have the whole range in front of you. Nothing is installed, and no internet connection is involved at any point.
The three levels of organisation
Everything in the interface is built from the same three-deep structure. Learn this and the rest of the manual follows:
| Term | What it is |
|---|---|
| Mode | A shelf holding its own library of courses. There are four: Beginner, Intermediate, Advanced and Experimental. Each keeps a completely separate copy of its courses. |
| Course | A complete training run, made of one or more levels played in order, top to bottom. |
| Level | One stage of a course — typically one difficulty step. Made of one or more sections. |
| Section | The actual timing block. Each section is one of three patterns — Sync, Chase or Random — with its own target selection and timings. |
Who can do what
There are two levels of access, and the split is deliberate: running the range never requires a login, changing it does.
| Action | Any operator | Admin only |
|---|---|---|
| Open All / Home All / Stop | Yes | |
| Run a full course | Yes | |
| Run a single level | Yes | |
| Test Run a Course (unsaved) | Yes | |
| Switch language EN / SI | Yes | |
| Create, edit or delete a course | Yes | |
| Disable / enable a course or level | Yes | |
| Export / import the course library | Yes | |
| Change WiFi settings | Yes |
02Safety first
These targets are driven by 24 V motors with real torque. They rotate without warning the moment a command is sent — and commands can be sent from any browser connected to the system, which may not be the one in your hand.
- Nobody downrange while the system is powered. A course can start from any connected device, and a running course keeps cycling on its own timer until it finishes or is stopped.
- Keep hands clear of the rotation path when a lane shows anything other than HOME. A lane in EXPOSED is not finished — it is holding, and it will drive itself home when the hold time expires.
- Stop is your emergency control. It is on every screen, at the top of the page, and it cuts all eight drivers immediately. Know where it is before you start a run.
- Stop does not park the targets. It halts them wherever they happen to be, part-rotated included. Use Home All Targets to bring everything back to a known position before anyone approaches the target line.
- Treat a FAULT as a physical problem. It means a lane did not reach its limit switch — usually a jam, an obstruction or a mechanical failure. Power down before investigating it by hand.
- Confirm the lanes are at home before going forward. Read the lane grid on the course screen, and confirm visually. Do not rely on the page alone.
Power up, press Home All Targets, and confirm all eight lanes report HOME before anyone moves forward of the firing line. This both parks the targets and clears any fault left over from the last session.
03Getting connected
The controller hosts its own WiFi access point out of the box. Nothing else is needed — no router, no internet, no app.
- Power the unit. The TFT screen on the controller comes up and shows the network mode and IP address.
- Join the trainer's WiFi from your phone, tablet or laptop:
Your device may warn that this network has no internet. That is expected — stay connected to it.
Network (SSID) Target_System_APPassword targetrange123 - Open a browser and go to
http://192.168.4.1. Type it in full, includinghttp://, so the browser does not try to search for it. - Wait for the boot splash. The badge and motto animate for about three seconds, then the control interface appears.
The splash is cosmetic only and never blocks the controls underneath. If you need Stop during those three seconds, tap where it will be — the press still registers.
Reading the controller's TFT screen
The small screen on the unit itself is the authority on how to reach it. It shows:
APfollowed by an IP — the unit is hosting its own network. JoinTarget_System_APand browse to that address.WIFIfollowed by an IP — the unit has joined an existing network. Connect your device to that same network and browse to the address shown.- The active mode, course name and
Level x/ywhen a course is loaded, orNO COURSE LOADED, plus the current phase in a pill at the bottom.
Check that your device is still on Target_System_AP and has not silently switched back to a
mobile network or a remembered WiFi with a stronger signal. Phones do this automatically when a network has
no internet access. See Faults & troubleshooting.
Multiple devices at once
Several people can have the page open at the same time and every one of them can send commands. All displays refresh once per second from the same controller, so everyone sees the same phase, the same lane states and the same clock. There is no "control lock" — coordinate verbally.
04Reading the screen
Three elements sit at the top of every screen and never change, no matter how deep into a course you are.
Header
- EN / SI — language. English is the default; SI switches all operational text to Sinhala. The choice is remembered in that browser only, so each operator's phone can be set differently. Unit branding and the motto stay in English by design.
- Admin Login / Log Out — see Admin login.
Manual Control panel
The bordered panel below the header is always available, on every screen, to every operator. It holds the four range-wide controls and a live status line. It is covered in full in Manual control.
The status dot
| Dot | Meaning |
|---|---|
| ● Grey, still | Nothing is moving. Standby. |
| ● Orange, pulsing | A course is running, or Open All is in progress. Targets are moving or exposed. |
| ● Blue, pulsing | Home All is in progress — lanes are driving back to home. |
Next to the dot, the text shows the current phase — and, when a course is running, the course name
alongside it (for example EXPOSED — Course 02 - Chase). If a lane has faulted it reads
FAULT — Home All to clear instead.
Breadcrumb
Below the manual panel, a small trail shows where you are: the mode, then the course, then what the builder
is doing — for example ADVANCED / Course 02 - Chase or
Manual Control / Test Run. The current position is highlighted in orange.
Navigation back out is always by the buttons at the top of the content area — ← Courses and ← Modes. The browser's own back button is not used by this interface.
05Manual control
These three controls are independent of any course. They work from any screen, at any time, for any operator, and they override whatever is currently running.
Open All Targets
Drives all eight lanes to the open position and leaves them exposed. They stay up until you home or stop them. Use it for general practice when you simply want every target standing.
Home All Targets
Drives every lane back to its home switch, whatever state it was in. This is also the control that clears a fault and re-homes the range afterwards.
Stop
Cuts all eight motor drivers immediately and ends any running course. Targets halt where they are — including part-way through a rotation.
Test Run a Course
Opens the course builder for a one-off sequence that is never saved. See Test Run a Course.
Both halt a running course and both clear a fault. The difference is where the steel ends up: Stop freezes the lanes in place, Home All parks them. Before anyone walks downrange, always finish with Home All and confirm every lane reads HOME.
What happens if you press them mid-course
- During a running course — any of the three ends the run. The course does not resume; to continue you start it again from the beginning, or start the level you want from the course screen.
- Open All while homing — the home operation is abandoned and the lanes reverse to open. The reverse also holds: Home All cancels an in-progress Open All.
- Home All after a fault — the fault clears and every lane, including the faulted one, is commanded home. If the mechanical problem is still there, that lane faults again within six seconds.
06Test Run a Course
Test Run a Course in the Manual Control panel opens the full course builder, pre-loaded with a working sequence, and runs whatever you leave in it once — without writing anything to the device. Nothing is saved, and no login is required.
Use it to try a timing idea before committing to it as a real course, or to run a one-off sequence that does not belong in the library.
The starting template
It opens with a single-lane chase across all eight targets:
| Pattern | Chase |
|---|---|
| Steps | 8 — lane 1, then 2, 3, 4, 5, 6, 7, 8 |
| Hold | 500 ms |
| Cycles / laps | 1 |
Every field is editable exactly as in a real course — add levels, change the pattern, reselect targets, retime it. See Building a course for what each control does.
Running it
- Press Test Run a Course. The breadcrumb reads
Manual Control / Test Run. - Edit the sequence, or leave the default as it is.
- Press Run Test. The sequence starts immediately and the interface returns to the mode-select screen.
- Watch it run on the status line in the Manual Control panel — a test run has no course screen of its own, so that line is your readout.
- End it early with Stop or Home All Targets.
Cancel leaves the builder and discards the sequence. There is no way to recover a test run afterwards — if you build something worth keeping, rebuild it as a real course under a mode (admin required) rather than as a test run.
07Modes
The first screen after the splash offers four tiles. All four are unlocked, and each one holds its own independent library of courses.
| Mode | Subtitle | Intended use |
|---|---|---|
| BEGINNER | Fundamentals | Slower holds, longer pauses, basic exposure drills. |
| INTERMEDIATE | Step it up | Tighter timings on the same patterns. |
| ADVANCED | Push the pace | Fast holds, overlapping chases, short windows. |
| EXPERIMENTAL | Test new course ideas | A scratch shelf for courses under development. |
Each mode ships with its own copy of the same three starter courses. Editing Intermediate's Course 01 does not change Beginner's Course 01 — they are separate files on the device. The mode names describe intent only; nothing about a mode restricts what timings you can put in it.
Tap a tile to open that mode's course library. From anywhere deeper in the interface, ← Modes returns you here.
When logged in as admin, two extra panels appear below the tiles on this screen: Course Library Backup and Network.
08The course library
A grid of cards, one per course. Each card shows the course name and, underneath, the number of levels plus
any tags — built-in for a factory course, disabled for one that has been
turned off.
Tapping anywhere on a card opens that course. As an admin, each card additionally carries a Disable / Enable button and a × delete button in its top corner, plus a + New Course tile at the end of the grid.
A disabled course is completely invisible to anyone not logged in as admin — not greyed out, not listed at all. An admin still sees it, dimmed and tagged. See Disabling instead of deleting.
Each mode holds a maximum of 16 courses. Saving beyond that returns "course limit reached for this mode" — delete or replace an unused course to make room.
09Running a course
Opening a course gives you the run screen: what it contains, live state, and the controls to run it. No login is needed to run anything.
The parts of the screen
- Title and level count, top left.
- The HUD, top right — a
MM:SSclock counting elapsed time since the run started, the current phase, and the status dot. - Banners — a red fault banner and a green completion banner, shown only when they apply.
- Progress line —
Level 3/7 · EXPOSED · Cycle 2/3, live. - Level list — every level, numbered, with its sections summarised underneath and a ▶ Start button on each row. The level currently running is highlighted.
- Lane grid — eight tiles, LANE 01 to LANE 08, each showing that lane's live state.
- Console — the three large paddle buttons.
- Admin row — Edit Course and Delete Course, shown only when logged in.
Reading a level row
Each level lists its sections in the form the builder produced them. For example:
Targets are listed 1–8 here, matching the lane numbers on the range and the chip numbers in the builder.
The three console buttons
| Button | What it does |
|---|---|
| Run Full Course | Starts at the first enabled level and auto-chains through every enabled level to the end. Disabled levels and sections are skipped silently. |
| Stop | Halts all motors immediately and ends the run. |
| Home All | Drives every lane home and clears any fault. |
Running one level on its own
▶ Start on a level row runs just that level and then stops,
instead of chaining into the rest of the course. The phase ends at LEVEL COMPLETE rather than
COMPLETE. Use it to drill or check a single stage without resetting the whole course.
On a single-level run, the pause that would normally follow the level's last section is skipped — there is no next level to wait for. Pauses between sections inside that level still apply. A disabled level can still be started directly this way by an admin, which is how you test one before re-enabling it.
While it runs
Everything refreshes once per second. The active level row highlights, the lane tiles change state, the
clock counts up, and the progress line tracks level and cycle. When the last level finishes, the green banner
reads ✓ Course complete — all levels finished.
The run pauses in place — it will not silently advance to the next level. The red banner appears and the faulted lane shows FAULT. Clear it with Home All, then restart the course or the level. See Faults & troubleshooting.
10Status reference
System phase
Shown in the HUD, in the Manual Control status line, and on the controller's own TFT screen.
| Phase | Meaning |
|---|---|
STANDBY | Idle. Nothing loaded or nothing running. |
RISING | Targets are rotating from home to open. |
EXPOSED | Targets are up and holding for the hold time. |
RETURNING | Targets are rotating back to home. |
HOME WAIT | A Sync section is resting at home between repeats (the Home Wait field). |
PAUSE | The section has finished and the system is waiting out the Pause After time before the next one. |
RANDOM | A Random section is running — single targets firing in random order. |
OPENING ALL | Open All Targets is in progress. |
HOMING ALL | Home All Targets is in progress. |
FAULT | A lane failed to reach its limit switch. The run is halted. Home All to clear. |
LEVEL COMPLETE | A single-level run has finished. |
COMPLETE | A full course run has finished all its levels. |
Lane state
Shown on each of the eight lane tiles on the course screen.
| Chip | Meaning |
|---|---|
| HOME | At the home position, or idle and not part of the current section. Safe state. |
| RISING | Motor driving toward open. Moving. |
| EXPOSED | At the open position, holding. Will drive itself home when the hold expires. |
| RETURNING | Motor driving back toward home. Moving. |
| FAULT | Did not reach the expected limit switch within 6 seconds. That lane's driver has been cut. |
Status colours are kept separate from branding on purpose, and they mean the same thing everywhere — on the web page and on the unit's own screen. Orange is motion and caution, green is exposed or complete, red is a fault.
11The three patterns
Every section in every course is one of three patterns. Understanding exactly what each one does with the clock is the difference between a course that drills what you intended and one that just moves steel.
The system is driven by limit switches, not timers. A target is not "open" because a certain time elapsed — it is open when its open switch closes. Hold times therefore start counting from the moment the target has physically arrived, so a slow lane delays that step rather than being cut short. If a switch is never reached, the lane faults after 6 seconds.
Sync — everything together
All selected targets rise together, hold together, and return together. The classic exposure drill.
Sync fields
- Targets — which lanes take part. Unselected lanes stay home.
- Hold (ms) — how long they stay exposed.
- Home Wait (ms) — rest at home between cycles, inside this section.
- Cycles — how many times to repeat.
0means loop forever until stopped. - Pause After (ms) — wait after the whole section finishes, before the next section or level.
Chase — an overlapping wave
Targets fire in a sequence you define, and the sequence overlaps: the instant one step is commanded home, the next step is commanded open. There is never a dead gap, which is what makes it read as a wave running down the line.
Chase fields
- Steps — an ordered list. Each step has its own target selection, so a step can be a
single lane (
1), a pair (1,2) or any combination. Steps run top to bottom. Up to 16 steps per section. - Hold (ms) — exposure time for each step. It is the same for every step in the section; for different holds, use several sections.
- Cycles / Laps — how many times to run the whole step list.
0loops forever. - Pause After (ms) — wait after the section finishes.
The apparent speed of the wave is set by Hold, not by the number of steps — each step's hold is what delays the next one. Halving the hold roughly doubles the pace of the wave.
Random — one at a time, unpredictable
Targets fire one at a time, each picked at random from the selected set, for as long as the time frame lasts. The same target can come up twice in a row — each pick is independent.
Random fields
- Targets — the pool to draw from. Deselect a lane and it is never picked.
- Hold (ms) — exposure time for each pick.
- Time Frame (ms) — how long the whole section runs.
30000is 30 seconds. - Pause After (ms) — wait after the section finishes.
Choosing between them
| Sync | Chase | Random | |
|---|---|---|---|
| Targets up at once | All selected | Overlapping, 1–2 steps deep | Exactly one |
| Order | Simultaneous | Fixed, as you list it | Unpredictable |
| Length set by | Cycles | Cycles / laps | Time frame |
| Loops forever with | Cycles = 0 | Cycles = 0 | Not available |
| Rest control | Home Wait + Pause After | Pause After | Pause After |
| Trains | Split attention, reload timing | Tracking, transitions | Reaction, scanning |
12Building a course
The builder is the same screen everywhere: + New Course in a mode, Edit Course on a course, and Test Run a Course in the manual panel all open it. Only the button at the bottom differs — Save Course or Run Test.
Layout
- Course Name — free text, at the top.
- Level cards — one per level, in run order. Each has a name field, a Disabled checkbox, and ↑ ↓ × to reorder or remove it.
- Section cards — inside each level card. Each has the three pattern tabs, its own Disabled checkbox, a × to remove it, and the fields for the chosen pattern.
- + Add Section at the bottom of each level card, + Add Level at the bottom of the course.
- Save / Cancel at the very bottom.
Selecting targets
Sync and Random sections show a row of eight numbered chips. Tap to include or exclude that lane — highlighted means selected. Chase sections show one chip row per step, so each step gets its own selection.
Building a chase step list
- Set the section type to CHASE.
- The section starts with one step containing lane 1. Adjust its chips to whatever should fire first.
- Press + Add Step and set the next step's targets. Repeat down the line.
- Remove a step with the × at its right. A section must keep at least one step.
- Set Hold and Cycles / Laps below the step list.
For a wave that runs down the line and back, use eight steps out (1, 2, 3, 4, 5, 6, 7, 8) followed by six
steps back (7, 6, 5, 4, 3, 2) in the same section, with laps set to 1. Setting laps to
3 then sweeps back and forth three times without a gap.
Switching a section's pattern
Tapping a different pattern tab rebuilds that section with the defaults for the new pattern. Your Hold, Pause After and Disabled settings carry over; target selections and pattern-specific fields do not. Set the pattern first, then the details.
Saving
Save Course writes to the current mode's library and returns you to where you started — the course screen when editing, the course list when creating. Cancel discards everything since you opened the builder; there is no undo and no draft recovery.
Rules the builder enforces
| Message | Cause |
|---|---|
| Every sync/random section needs at least one target selected. | All eight chips deselected in a Sync or Random section. |
| Every chase section needs at least one step. | A Chase section with an empty step list. |
| A course needs at least one level. | You tried to remove the last level. |
| A level needs at least one section. | You tried to remove the last section in a level. |
| course limit reached for this mode (max 16) | The mode already holds 16 courses. |
| too many levels (max 12) | More than 12 levels in one course. |
| too many sections in one level (max 8) | More than 8 sections in one level. |
| too many wave steps (max 16) | More than 16 steps in one chase section. |
The three starter courses can be edited — retime them freely. They cannot be deleted; the device rejects that with "built-in courses cannot be deleted". If you want them out of the way, disable them instead. To recover the originals after editing, see Backup & restore.
13Field reference
| Field | Applies to | Meaning | Default |
|---|---|---|---|
| Course Name | Course | Shown on the card and the course screen. | New Course |
| Level name | Level | Shown on the level row. | New Level |
| Targets | Sync, Random | Which lanes take part. | All 8 |
| Steps | Chase | Ordered list of firing groups. | One step: lane 1 |
| Hold (ms) | All | Exposure time, counted from arrival at the open switch. | 500 (Sync) / 200 (Chase, Random) |
| Home Wait (ms) | Sync | Rest at home between cycles of this section. | 1000 |
| Cycles | Sync | Repeats of the section. 0 = loop until stopped. | 3 |
| Cycles / Laps | Chase | Runs of the whole step list. 0 = loop until stopped. | 1 |
| Time Frame (ms) | Random | How long the section runs in total. | 30000 (30 s) |
| Pause After (ms) | All | Wait after this section before the next section or level. | 0 |
| Disabled | Level, Section | Skip this item at runtime without deleting it. | off |
Milliseconds at a glance
| You want | Enter |
|---|---|
| 0.2 seconds | 200 |
| 0.5 seconds | 500 |
| 1 second | 1000 |
| 5 seconds | 5000 |
| 30 seconds | 30000 |
| 1 minute | 60000 |
| 2 minutes | 120000 |
A section with cycles set to 0 never ends on its own. The course will not
advance past it and will keep the targets working until an operator presses Stop or Home All. That is useful
for open-ended practice, and a trap if you set it by accident on a middle level — the levels after it
will never run.
Library size limits
| Limit | Value |
|---|---|
| Courses per mode | 16 |
| Levels per course | 12 |
| Sections per level | 8 |
| Steps per chase section | 16 |
| Targets per group | 8 |
These bounds keep the device's memory use predictable. They are set in the firmware and can only be raised by re-flashing.
14Disabling vs deleting
Disabling is the safe alternative to deleting — the same idea as commenting out code. The item stays on the device, keeps its settings, and can be switched back on at any time.
| Level | Where to disable it | Effect when disabled |
|---|---|---|
| Course | Disable on the course card in the library. | Hidden entirely from non-admins. |
| Level | Disable on the level row, or the Disabled checkbox in the builder. | Skipped when the course chains; hidden from non-admins. |
| Section | The Disabled checkbox in the builder only. | Skipped when its level runs; hidden from non-admins. |
What operators see
- Not logged in — disabled items simply do not exist. They are absent from the course list and from level lists.
- Logged in as admin — they appear dimmed, marked
disabledor with aDISABLEDbadge, and can still be started directly for testing.
What the engine does
On Run Full Course, the engine starts at the first enabled level with at least one enabled section, and skips over every disabled level and section as it chains. A course whose levels are all disabled cannot be started — it reports "course has no active levels".
When to delete instead
Deleting is permanent and cannot be undone from the interface. Use the × on the card, or Delete Course on the course screen. Built-in courses cannot be deleted at all.
Run an export first. The exported file holds every course from all four modes, and importing it back restores exactly what you had.
15Admin login
Running the range needs no login. Changing what is on the device does. Press Admin Login in the header, enter the password, and the admin-only controls appear immediately on whatever screen you are on.
Unlocked by logging in
- + New Course, Edit Course, Delete Course and the × on course cards
- Disable / Enable on courses and levels
- Visibility of disabled items
- The Course Library Backup and Network panels on the mode screen
How the session behaves
| Default password | foxtrot — set in the firmware. Change it before the system is used for real. |
|---|---|
| Username | None. One shared password. |
| Sessions at once | One. Logging in from a second browser logs the first one out. |
| Timeout | None. The session lasts until logout or reboot. |
| On reboot | Everyone is logged out. |
Use Log Out in the header when you are done, particularly on a shared or borrowed device — the session is stored in that browser and survives closing the tab.
This is a gate to keep casual users out of the course library, not a security boundary. The connection is plain HTTP over a shared WiFi password, and the admin password is stored in the firmware. Anyone with the WiFi password is already on the same network as the controller. Treat physical and WiFi access as the real access control.
If a login is rejected
- Login failed: wrong password — the password does not match. It is case-sensitive.
- admin login required on an action you expected to work — your session was ended by someone else logging in, or by a reboot. Log in again.
16Backup & restore
On the mode-select screen, logged in as admin, the Course Library Backup panel exports and imports the entire course library — all four modes in one file.
Export
Export All Courses downloads downrange-courses.json to the device you
are browsing from. It contains every course in every mode, including disabled ones and any edits you have made
to the built-in courses.
Export after any session where you changed courses, and keep the file somewhere off the range — it is the only copy of your work that exists outside the controller's flash. Name it with a date when you file it.
Import
Import Courses asks for a file and merges it into the device:
- A course whose id matches one already on the device overwrites that course.
- Anything else is added.
- Nothing on the device is deleted by an import.
Because matching ids overwrite rather than duplicate, re-importing your file onto a freshly re-flashed controller replaces the stock starter courses with your customised versions and restores everything else — no duplicates, no manual clean-up.
- Log in as admin and go to the mode-select screen.
- Press Import Courses and pick your
.jsonfile. - Confirm the warning. The import cannot be undone.
- Read the result — it reports how many courses were imported, and lists any entries that had problems.
Import files are capped at about 150 KB; a larger file is rejected with "file too large". A file that is not valid JSON is rejected with "invalid JSON". Individual courses that break a size limit are skipped and named in the result, while the rest still import.
Restoring the factory courses
There is no "reset to defaults" button. A mode's library is reseeded with the three starter courses automatically only if its file is missing or fails its integrity check at boot. To get clean starter courses back deliberately, keep an export taken from a freshly flashed device and import that.
17Network settings
By default the controller hosts its own access point, and everything works with no other infrastructure. You can instead have it join an existing network — a range or building router — so it is reachable without connecting to a separate WiFi each time.
The Network panel is on the mode-select screen, admin only. Its top line reports the current state:
| Connected to "RangeNet" — 192.168.1.42 | Joined an existing network at that address. |
|---|---|
| Access point mode — 192.168.4.1 | Hosting its own network. |
| Access point mode — 192.168.4.1 (couldn't reach "RangeNet") | A network is saved, but the controller could not join it and fell back to AP mode. |
Joining a network
- Enter the WiFi Network Name and WiFi Password.
- Press Connect & Restart and confirm.
- The controller reboots immediately and tries to join for up to 15 seconds.
- Read the controller's TFT screen for the result — it shows either
WIFIwith the new address, orAPif it fell back. - Connect your device to the same network and browse to the address shown.
Changing network settings restarts the controller immediately, which stops anything currently running. Never do it during a live serial or with people downrange.
Going back to AP mode
Forget Network / AP Only clears the saved network and reboots into access point mode. Use it when moving the unit to a site whose network it does not know.
You cannot be locked out
If the controller cannot reach the saved network — wrong password, router down, out of range —
it falls back to hosting Target_System_AP on its own after 15 seconds. There is always a way in;
check the TFT to see which mode it came up in.
- The network is 5 GHz only — the controller's WiFi is 2.4 GHz only.
- Typo in the network name or password (both are case-sensitive).
- The router is out of range of where the unit sits on the range.
- A captive-portal or enterprise network — not supported.
18Faults & troubleshooting
What a fault actually is
Each lane is given 6 seconds to reach the limit switch it was commanded toward. If it does not get there, that lane's motor driver is cut and the lane is marked FAULT. A fault also halts the running course so it cannot silently advance to the next level with a lane out of action.
A fault is a real, physical symptom. The usual causes are:
- Something jamming the target's rotation.
- A limit switch knocked out of alignment, so it is never triggered.
- A wiring fault on that lane's switch or driver.
- A motor or driver failure.
Clearing a fault
- Press Stop if anything else is still moving.
- Identify the faulted lane from the lane grid on the course screen.
- Power down before touching anything mechanical.
- Clear the obstruction or correct the fault.
- Power up and press Home All Targets — this clears the fault flag and re-homes every lane.
- Confirm all eight lanes report HOME before restarting the course.
The same lane faulting within seconds of a Home All means the mechanical or wiring cause is still there. Do not keep re-homing it — take that lane out of service (disable the levels that use it, or deselect that target) and refer it for maintenance.
Interface problems
| Symptom | What to check |
|---|---|
| Page will not load at all | Confirm you are still connected to Target_System_AP. Phones drop networks with no internet automatically. Type the address with http:// in full. |
| Page loads but looks unstyled | Reload once. The interface has no external dependencies, so this is almost always a partial load. |
| Status frozen, clock not counting | The connection to the controller has dropped. Reload the page; the controller keeps running its course regardless of who is watching. |
| Buttons do nothing | Same cause — reload. If the controls still do not respond, go to the unit and check its TFT screen. |
| Admin buttons disappeared | Your session ended — someone logged in elsewhere, or the unit rebooted. Log in again. |
| Course will not start | "course has no active levels" means everything in it is disabled. Enable a level, or run one directly. |
| Cannot save a course | Check the message: a limit was hit (16 courses, 12 levels, 8 sections, 16 steps) or a section has no targets selected. |
| Unit is on the network but you cannot find it | Read the IP from the TFT. If it shows AP, it fell back — reconnect to Target_System_AP and re-check the saved network name and password. |
Behaviour that is not a fault
| You see | Why |
|---|---|
| A course sits doing nothing for a long time | It is in PAUSE or HOME WAIT. The starter Ladder course pauses a full minute between levels. |
| A course never finishes | A section has cycles set to 0, which loops until stopped. |
| A level in the list never runs | It is disabled, or an earlier section is looping forever. |
| Targets keep firing after the page is closed | Expected. The controller runs the course, not the browser. Use Stop or Home All to end it. |
| A lane shows HOME during a run | That lane is not part of the current section. |
19Built-in courses
All four modes start with their own copy of these three courses. They are editable but not deletable, and each mode's copy is independent.
Course 01 — Ladder
Seven levels of all-eight-targets Sync, with the hold time stepping down each level. A minute at home between levels.
| Level | Pattern | Targets | Hold | Home wait | Cycles | Pause after |
|---|---|---|---|---|---|---|
| 01 | Sync | 1–8 | 500 ms | 1000 ms | 3 | 60 s |
| 02 | Sync | 1–8 | 450 ms | 1000 ms | 3 | 60 s |
| 03 | Sync | 1–8 | 400 ms | 1000 ms | 3 | 60 s |
| 04 | Sync | 1–8 | 350 ms | 1000 ms | 3 | 60 s |
| 05 | Sync | 1–8 | 300 ms | 1000 ms | 3 | 60 s |
| 06 | Sync | 1–8 | 250 ms | 1000 ms | 3 | 60 s |
| 07 | Sync | 1–8 | 200 ms | 1000 ms | 3 | — |
Course 02 — Chase
Three levels of overlapping wave, each 200 ms hold and 3 laps.
| Level | Step list | What it looks like |
|---|---|---|
| 01 | 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 | Single lane running down the line. |
| 02 | (1,2) → (3,4) → (5,6) → (7,8) | Pairs sweeping down the line. |
| 03 | (1,3) → (2,4) → (3,6) → (4,8) | Interleaved pairs — splits attention across the line. |
Course 03 — Random
One level, one Random section: all eight targets in the pool, 200 ms hold, 30-second time frame.
Rather than building from scratch, open a starter course in a mode you are not precious about (Experimental exists for this), edit it, and save. Every mode has its own copy, so the originals in the other modes stay untouched.
20Quick reference
Connection
| WiFi network | Target_System_AP |
|---|---|
| WiFi password | targetrange123 |
| Address | http://192.168.4.1 |
| Admin password | foxtrot (default — change before real use) |
Start-of-session checklist
- Power up. Confirm the TFT shows an address.
- Connect and load the page.
- Press Home All Targets. Confirm eight × HOME.
- Confirm the range is clear.
- Pick a mode, pick a course, run it.
End-of-session checklist
- Stop, then Home All Targets.
- Confirm eight × HOME.
- Export the library if courses were changed.
- Log Out if you logged in.
- Power down.
Glossary
| Lane / Target | One of the eight rotating targets, numbered 1–8 throughout the interface. |
|---|---|
| Home | The parked position, flat. Detected by the home limit switch. |
| Open / Exposed | The 90° presented position. Detected by the open limit switch. |
| Mode | One of four independent course libraries. |
| Course | An ordered set of levels. |
| Level | One stage of a course, made of sections. |
| Section | One timing block: a pattern, its targets and its timings. |
| Pattern | Sync, Chase or Random. |
| Step | One firing group inside a Chase section. |
| Cycle / Lap | One complete repeat of a section. |
| Hold | Time a target stays exposed, counted from arrival. |
| Home Wait | Rest at home between cycles of a Sync section. |
| Pause After | Rest after a section, before the next one. |
| Time Frame | Total run time of a Random section. |
| Fault | A lane failed to reach a limit switch within 6 seconds; its driver was cut. |
| AP mode | The controller hosting its own WiFi network. |