Skip to content

FORScan Coding Guide for the ND MX-5

FORScan talks to the ND’s body and powertrain modules over OBD-II and rewrites their AS-Built configuration. This is a different layer than CMU infotainment tweaks: you’re flipping bits in the body control modules, instrument cluster, and smart start unit, not touching the head unit. It’s how you turn off i-Stop permanently, add a Find My Car horn honk, or enable auto door lock on a Sport that shipped without the menu.

What you need: FORScan for Windows with an extended license (the free tier can read modules but won’t write AS-Built), an OBD-II adapter that supports MS-CAN switching (OBDLink EX/MX+, ELS27, or a J2534 pass-through), and a full AS-Built backup of every module before you write anything.

  • Switch the adapter to MS-CAN mode before scanning. The RBCM, FBCM, and SSU live on the MS-CAN bus and won’t appear in HS-CAN mode.
  • Back up complete AS-Built data for every module. This is your undo. See AS-Built backup and restore for the procedure.
  • Most blocks end in a checksum byte. Change a data bit and the checksum no longer matches, so the module rejects the write. Recalculate it with the Mazda SkyActiv OBD-II Calc spreadsheet (OHP Tools) before writing.
  • Every change here is reversible by writing the original block back. The exceptions are write-once bits, which lock permanently — those are called out below.
ModuleAddressControls
RBCM0x7B7Door locks, lighting, Find My Car, trunk
FBCM0x726DRL, auto headlights, wipers, fog lights, ESS
SSU0x731i-Stop, keyless entry, immobilizer
IC0x720Cruise control type, ADAS display, camera, gauges
PCM0x7E0Engine config, speed limiter, package ID

These are widely run, need no added hardware, and are the usual entry point. Verify every address against your own backup before writing — baselines drift by region and model year.

Stops i-Stop from re-arming every time you start the car, so you’re not jabbing the dashboard button at every drive.

SSU 731-01-01 B1: bit 4 = 0 (default OFF)

The dashboard button still toggles it on mid-drive; it just reverts to OFF on the next ignition cycle instead of on.

RBCM 7B7-01-02 B0: bit 6 = 1

Double-press lock on the fob and the car chirps the horn and flashes the hazards. Pure software, no hardware.

Lock above ~20 km/h, unlock at ignition off.

RBCM 7B7-01-01 B4: bit 6 = 1 (lock when ignition ON), bit 3 = 1 (lock when doors open)

RBCM 7B7-01-02 B4: bit 5 = 1 (menu visibility), bit 3 = 0 (display setting)

After writing, go to CMU Settings → Car → Lock and reset the lock page so the new options appear.

Rapid hazard flash under hard braking above ~60 km/h, using the existing lights.

FBCM 726-01-02: Byte 0 bit 1, Byte 1 bit 0, Byte 3 bit 1 (combined enable)

Pull the high-beam stalk after shutdown to keep the headlights on for a set duration (15–180s).

RBCM 7B7-01-03 B1: bit 4 = 1 (timer visibility in CMU menu)

RBCM 7B7-01-01 B1: bit 7 = 1 enables auto door lock (master enable)

RBCM 7B7-01-01 B4:

  • bit 6: lock doors when ignition ON
  • bit 3: lock doors when doors are open

RBCM 7B7-01-02 B4:

  • bit 5: auto door lock visibility on CMU display
  • bit 3: auto door lock CMU display setting

With these set and the CMU lock page reset, you get menu options for: lock all doors above ~20 km/h, unlock all doors at ignition off, and unlock driver door only on first key press.

FBCM 726-01-01 B0: bit 2 = 0 enables Angel Eye DRL (logic is inverted — 0 turns it on)

FBCM 726-50-01:

  • 01xx = DRL uses parking lights only
  • 02xx = DRL uses parking lights + low beams
  • 08xx = DRL uses turn-signal lamps only

IC 720-04-23 B4:

  • bit 6: cruise control with speed limiter (LIM)
  • bit 5: standard cruise control / MRCC enabled
  • bit 4: no cruise control (disabled)

The stalk and wiring have to be physically present. Every ND trim ships with the cruise hardware, so this is a live change on all of them.

IC 720-04-27 B2: bit 3 = 1 enables dynamic, steering-responsive guidelines on the reverse camera view. The camera has to be CAN-connected (GT only — see the hardware table below).

IC 720-01-02 B1: bit 7 controls cruise-control digital display visibility.

Stock logic cuts the fog lights when you switch to high beams. Bambi mode keeps both on for better near-field fill on dark back roads.

FBCM 726-01-01: Byte 0 bit 1, Byte 3 bit 1, Byte 0 bit 7, Byte 3 bit 6 (combined enable, shared with auto headlights and auto wipers)

Fog lights must be installed.

RBCM 7B7-01-01 B1: bit 1 = 1 gives a 3× blinker flash on unlock.

ADAS: what’s software, what’s hardware

Section titled “ADAS: what’s software, what’s hardware”

The single most common way to brick a dashboard with FORScan is enabling an ADAS feature whose sensor isn’t installed. Enable a feature in the IC without its hardware and you get warning lights and stored DTCs.

FeatureSoftware only?Notes
ESS (Emergency Stop Signal)YesUses existing hazard lights
LDWS displayPartialNeeds the forward-sensing camera (GT)
HBC (High Beam Control)PartialNeeds the forward-sensing camera
MRCCNoNeeds radar, wiring, buttons
LAS (Lane-keep Assist)NoNeeds FSC + LAS-specific EPS
SCBS (Smart City Brake)NoNeeds FSC + the front sensor
BSM (Blind Spot Monitor)NoNeeds rear radar; standard on GT, can’t be added to Sport/Club
FeatureSource trimWorks?Module
Auto door lock menuGT → SportYesRBCM
Find My CarGT → SportYesRBCM
i-Stop default offAllYesSSU
ESSGT → SportYesFBCM
Headlight off timerGT → SportYesRBCM
Camera path linesGT → SportOnly if camera is CAN-connectedIC
MRCCNo (hardware)
BSM/RVMNo (hardware)
Heated steering wheelNo (hardware)
ModuleND1 (2016–2018)ND2 (2019–2023)
RBCM0x7B7, same structureSame, minor baseline differences
FBCM0x726Some byte defaults differ (LED headlights standard on more trims)
SSU0x731Same structure
IC0x720Different defaults for gauge display and ADAS options
PCMSkyactiv 2.0LSkyactiv 2.0L (same displacement, revised calibration)

The bulk of these changes are identical across ND1 and ND2. Where they diverge is the IC: ND2 added the redesigned gauge cluster and a wider ADAS option set, so its defaults differ. The 2.0L ND2 also makes 181 hp against the ND1’s 155, but that’s a powertrain change, not an AS-Built one — FORScan doesn’t add it.

Confirmed on USDM ND MX-5 vehicles. EU and JDM cars may carry different baseline values; back up and read your own blocks first.

Block-ByteBitFunctionValues
01-01 B1b7Auto door lock master enable0=off, 1=on
01-01 B1b1Blinker on unlock0=off, 1=3× flash
01-01 B4b6Lock when ignition ON0=off, 1=on
01-01 B4b3Lock when doors open0=off, 1=on
01-02 B0b6Find My Car (horn on double-lock)0=off, 1=on
01-02 B4b5Auto door lock CMU menu visibility0=hidden, 1=visible
01-02 B4b3Auto door lock CMU display setting0=show, 1=hide
01-03 B1b4Headlight off timer CMU menu visibility0=hidden, 1=visible

FBCM (0x726) — Front Body Control Module

Section titled “FBCM (0x726) — Front Body Control Module”
Block-ByteBitFunctionValues
01-01 B0b2Angel Eye DRL enable0=enabled (inverted), 1=disabled
01-01 B0b1Bambi mode (fog lights with high beams)Combined with other bits
01-02 B0b1ESS enable (partial)See ESS section
01-02 B1b0ESS enable (partial)See ESS section
01-02 B3b1ESS enable (partial)See ESS section
50-01DRL lamp source01xx=parking, 02xx=parking+low, 08xx=turn signal
Block-ByteBitFunctionValues
01-01 B1b4i-Stop default state0=default OFF, 1=default ON (stock)
Block-ByteBitFunctionValues
04-23 B4b6Cruise control with speed limiter (LIM)0=off, 1=on
04-23 B4b5Standard CC / MRCC enabled0=off, 1=on
04-23 B4b4No cruise control0=CC present, 1=no CC
04-27 B2b3Dynamic camera guidelines0=off, 1=on
01-02 B1b7CC digital display visibility0=off, 1=on

Each AS-Built block ends in a checksum byte computed from the data bytes ahead of it. Change a bit and the stored checksum is now wrong, so the module refuses the write. Recompute it before writing.

Block 7B7-01-01: [B0] [B1] [B2] [B3] [B4] [CHK]

Workflow:

  1. Read the block and note every byte value.
  2. Change the target bits (e.g. B4 b6 = 1 for lock-when-ignition-ON).
  3. Enter the new byte values into the Mazda SkyActiv OBD-II Calc spreadsheet.
  4. The spreadsheet returns the correct checksum byte.
  5. Write the complete block, checksum included.

The simplest single change, and the most common first one.

  1. Connect the adapter in MS-CAN mode.
  2. Scan modules — confirm SSU (731) is detected.
  3. Back up SSU AS-Built data.
  4. Read SSU block 731-01-01.
  5. Find byte B1.
  6. Change bit 4 from 1 to 0.
  7. Recalculate the checksum.
  8. Write the block.
  9. Verify: on the next ignition cycle, i-Stop should show OFF by default.

The dashboard button still toggles i-Stop on during a drive. The change only sets the startup default.

  1. Connect the adapter in MS-CAN mode.
  2. Scan modules — confirm RBCM (7B7) is detected.
  3. Back up RBCM AS-Built data.
  4. Read RBCM block 7B7-01-02.
  5. Find byte B0.
  6. Change bit 6 from 0 to 1.
  7. Recalculate the checksum.
  8. Write the block.
  9. Verify: double-press the fob lock button — the horn honks and the hazards flash.

This one spans two blocks.

  1. Read RBCM block 7B7-01-01:
    • B1 b7 = 1 (master enable)
    • B4 b6 = 1 (lock when ignition ON)
    • Recalculate the checksum.
  2. Read RBCM block 7B7-01-02:
    • B4 b5 = 1 (CMU menu visibility)
    • B4 b3 = 0 (CMU display setting)
    • Recalculate the checksum.
  3. Write both blocks.
  4. On the CMU: Settings → Car → Lock → Reset the page. The new auto lock/unlock options appear; set lock-at-speed and unlock-on-ignition-off as you want them.
  • EU cars often carry different RBCM baselines.
  • Some EU SkyActiv models reportedly reject auto door lock writes.
  • DRL behavior differs — DRL is mandatory under EU rules.
  • Bambi mode is more sought-after on EU cars, where fog lights are standard on more trims.

Mechanically the 124 shares the ND platform, but the module calibrations differ. RBCM and FBCM addresses match, but byte layouts may not. Community documentation is thinner here, so back up before any change and proceed carefully.

The ND is available with a 6-speed automatic on Grand Touring. i-Stop logic differs slightly between the manual (clutch-based stop) and the automatic (brake-based stop), but the SSU default-OFF change behaves identically on both.

FeatureRequired hardwareND trims that have it
Dynamic camera guidelinesCAN-connected reverse cameraGT (standard); not Sport/Club
Blind spot monitoring displayRear radar sensorsGT (standard); not Sport/Club
MRCCFront radar + stalkNot available on ND
HBC (high beam control)Forward-sensing cameraGT
LDWSForward-sensing cameraGT

Coding these on without the sensor doesn’t fake the feature — it lights the dash and stores DTCs.

  • Back up complete AS-Built data before any change. It is your only path back.
  • Leave the safety-critical modules (ABS, airbag, EPS) alone unless you fully understand them.
  • Some bits are write-once and lock permanently.
  • Regional baselines differ — USDM, EU, and JDM ECUs ship with different defaults, so read your own blocks rather than trusting a forum value.
  • Enabling ADAS without the matching hardware will throw warning lights.
ResourceLink
FORScan softwareforscan.org
FORScan Mazda AS-Built threadforum.forscan.org
Mazda3Revolution AS-Built thread (300+ pages)mazda3revolution.com
OHP Tools spreadsheet video guideohptools.com
OHP Tools modifiable AS-Built listohptools.com
commaai/opendbc Mazda CANgithub.com
FORScan overviewWhat FORScan is and how it connects
Adapter buying guideWhich OBD-II adapter to buy
AS-Built backup and restoreThe backup procedure