R53 Coding - Module Coding from Your Phone

NCS Expert, minus the laptop. Seven R53 modules coded from an Android phone, every setting in plain English, and a backup before anything changes. Reading is free, writing is a one-time $30 unlock....

Android · MINI Cooper S R53 · module coding

NCS Expert,
minus the laptop.

R53 Coding reads and writes the settings inside your MINI's modules, the same ones NCS Expert codes, from an Android phone. Seven modules, every setting in plain English, and a backup before anything changes.

On Google Play Oct 18 · out of testing, so anyone can install it from Play. Oct 5 added diagnostics for the body computer, the power steering pump and tire pressure, built from the INPA job files and not run on a car yet. Before that: seven modules, OBDLink CX and MX+, fault codes in English, presets, race seats, speedometer calibration and settings transfer.

Edit options on the body computer: brake light warning, country variant and daytime running lights, each with its NCS name, a description and the current value
Body computer · every setting in plain English
7

modules it codes

269

settings on one body computer

268/268

match NCS Expert on the same car

0

files to import

Select a module: body computer, engine, DSC, airbag, instrument cluster, immobilizer and column instrument pod
Seven modules on the K-line

01 · What it codes

Seven modules.

BC1
Body computer. Lights, locking, windows, wipers, alarm and bulb monitoring. 269 settings on a C05.
EMS2000
Engine. Market, emissions, cruise, and the A/C cut at full throttle.
MK60
DSC / ABS. Sport+, the brake-based limited slip, brake assist.
Airbag
MRS5K, and the MRS4 in early cars. Front, side and curtain bags, belts, occupancy.
KMB
Instrument cluster. Display, units, gongs, and the speedometer number.
EWS3
Immobilizer. Whether the car needs the clutch down to crank.
RIP
Column pod. The gauges behind the wheel, and its own copy of the speedometer number.

Each one reads the index the module reports and loads the table made for it. An index I don't ship yet still gets a full backup, and editing waits until I do. Every table was checked against NCS Expert on the same car: 268 of 268 body computer settings, 76 of 76 on the cluster, 24 of 24 on the DSC.

The convertible top (CVM) and the GT are in planning mode only until I capture a coding session on each.

On top of the coding

02 · What it costs

$30, once.

One in-app purchase in Play, no subscription. Everything that only reads is free, so you can see what your car has coded, and back it up, before you pay anything.

Free

Read, back up, planning mode, editing on the phone, the diagnostic reads

$30

Write to the car, restore a backup, and the tests, resets and writes on the diagnostic screens

03 · What you need

What you need.

An Android phone, a K+DCAN cable with the 7/8 switch, and a USB-C OTG adapter. That's the best setup, and every capture behind this app was taken over one.

K+DCAN cable
Best. The proven path. The standard BMW/MINI USB interface, the same one you'd use with INPA or NCS, around $25. Get one with the 7/8 switch and set it on. Find one on Amazon.
USB-C OTG
Best. USB-C plug to a full-size USB-A socket, so the phone can power and drive the cable. Under $10. Find one on Amazon.
Phone
Android 7 or newer with USB-C, or Bluetooth for the OBDLink.
OBDLink CX / MX+
Works, no cable. Tick the box on the hub. Same telegrams, same backups. It talks on pin 7 only, so link pins 7 and 8 at the car first.
OBDLink LX
Won't work. Its firmware can't set the parity these modules need. The app tells you that instead of timing out.

A K+DCAN cable with no 7/8 switch only reaches the engine until pins 7 and 8 are linked at the car.

04 · What it can and can't do

Coding, not tuning.

It changes the settings inside the modules, the job NCS Expert does. It doesn't touch fuel, spark or boost, and it's still beta.

It can

  • Read and write the coding on the body computer, engine, DSC, airbag, cluster, immobilizer and column pod.
  • Back up every module before you can edit, and restore it.
  • Move your coding to a replacement module, even one on a different index.
  • Code race seats, the speedo and presets without hunting through NCS names.
  • Read and clear fault codes on seven modules.
  • Run INPA-style live data and tests on the body computer, power steering pump and tire pressure.
  • Show every option offline in planning mode.

It can't

  • Tune the engine. Engine coding here is market, emissions, cruise and the A/C cut, not fuel or spark.
  • Code the convertible top or the GT yet. Planning mode only.
  • Edit a module index it doesn't ship a table for. It still backs that module up.
  • Vouch for the diagnostics on a real car. None of those screens has run on one yet.
  • Connect through an OBDLink LX.
  • Replace an NCS Expert backup while it's beta. Keep a TRACE of anything you change.

05 · The hub

Read. Edit. Write.

  1. Plug in. A K+DCAN cable on a USB-C OTG adapter, or tick the box and use an OBDLink CX or MX+ over Bluetooth. Key on, engine off. An OBDLink, or a cable with no 7/8 switch, needs OBD pins 7 and 8 linked first.
  2. Pick a module and tap Read. The app reads the VIN off the cluster, then the module's coding, and saves a backup before you can touch anything. The file name carries the VIN, the module and the time.
  3. Edit. The full-screen list opens on its own after a good read. Picking a value only changes the working copy.
  4. Write to car. Only the blocks you changed go out, then the app reads them back to prove they landed.

The comms log at the bottom shows every telegram. If something goes sideways, Share log gets it to me.

The coding hub: OBDLink and ESP32 bridge checkboxes, module picker, Read from car, Edit options, Write to car, Restore backup, Planning mode, Trouble codes and the body computer live status button
The hub, build 145

06 · Edit options

Plain English.

After a read, Edit options shows what the car actually has coded, grouped the way you'd look for it: exterior lights, locking, windows, wipers, comfort. The everyday settings come first and the long tail sits under Advanced. Each row has a plain title, the NCS name, a line on what it does where I've written one, and the current value.

Edit options for the body computer, grouped into exterior lights, interior lights, locking, alarm, windows, wipers, comfort, bulb monitoring and service modes
REDcar's body computer, C05, 269 options
Immobilizer EWS3: Require clutch or neutral to start, with an explanation and the current value Not required
EWS3 · clutch to start, the one people ask about

Browsing and editing are free. Writing to the car is the one-time unlock.

07 · Presets

One tap, then check it.

Daily Comfort on the body computer finishes the wipe when you switch off, turns on one-touch windows, the lock chirp, 40 seconds of follow-me-home, the soft interior fade and selective unlock, and stops the cold-filament checks that make LED bulbs glow or warn. Track Day on the DSC sets Sport+, the brake-based limited slip, and turns brake assist and the traction differential control off. Every toggle can be switched off before you apply, and Apply only stages the editor. Nothing reaches the car until you write.

Coding presets for the body computer: Daily Comfort toggles
Daily Comfort · body computer
Coding presets for the DSC: Track Day toggles and the four settings it will stage
Track Day · DSC, with what it will stage

08 · Airbag

Race seats.

Pulling the stock seats and belts leaves an airbag light, and fixing it by hand means finding the right bits for each side in a list of ninety. The race seat screen asks it as questions on one page: which side the driver sits on, one seat or two, harnesses or stock belts, the occupancy mat, the front bags and the curtains. The seat sidebags follow the driver-side answer, and if the module's own left or right setting disagrees, you see that before anything is staged.

Race seats screen: left or right-hand drive, how many race seats, belts and occupancy
The questions, one page
Race seats preview listing every airbag setting that will be set to Off
Everything it will turn off, before you apply

Track cars with harnesses and a cage only. This turns crash protection off in software. The battery safety terminal is left alone on purpose; that aging yellow connector is a common false lead when the light stays on.

09 · Cluster and column pod

Speedo calibration.

Speedo reading high? Type in what the cluster shows and what a GPS shows at a steady speed, and the app corrects it. The odometer stays as it is unless you tick the box, and the column pod can be set the same way.

Speedometer calibration: cluster showed 70, GPS showed 66.5, the cluster reads 5.3% high, 46463 to 48908 impulses per km
70 on the cluster, 66.5 on the GPS

10 · Backups and module swaps

Move your coding to another module.

Every backup the phone has kept shows up by car, module and date. Restore bytes puts a module's own backup straight back, and only when the index matches. Transfer settings is for a swap: it reads the old unit through its own table and sets the same named settings on the new one through its table, so a used body computer on a different index still ends up coded like yours. Anything the new unit can't take is listed, never approximated.

Choose a backup: TL22C body computer C07 and TD91H body computer C05, each with Restore bytes, Transfer settings, Open in editor and Share
Backups from two cars
Transfer settings from TL22C's C07 body computer to a C05: 33 settings will change, each listed with its current and new value
My JCW's C07 settings onto REDcar's C05 · 33 changes

Backups record the car's VIN and the module's own VIN separately. Restoring one car's coding into another asks you to confirm that exact pair. Share sends the backup files anywhere the phone can.

Trouble codes screen with engine, DSC, steering angle, body, instrument cluster, immobilizer and airbag modules
Seven fault memories

11 · Trouble codes

Read and clear.

Same cable, same session. Engine, DSC, steering angle, body, cluster, immobilizer and airbag each read and clear their fault memory, and the codes come with English names. Chassis modules show BMW's own codes, not made-up OBD-II P-codes. Scan modules on bus shows what answered, and Share report sends the whole read with the telegrams behind it.

Handy after a coding change or a retrofit leaves a light on.

12 · Diagnostics

Past the fault codes.

Four new buttons on the hub run the jobs INPA runs, decoded from BMW's own job files: the body computer's live status, its tests and history, the power steering pump, and tire pressure. Reads are free. Anything that drives an output, resets a module or writes to it needs the coding unlock, and leaving a screen hands back whatever it forced on.

Body computer live: the windows summary with the passenger window switch up and motor running at 3.77 A, its anti-trap line flagged open in red, then every switch and sensor with the changed ones highlighted
Body computer live · passenger window running
Body computer tools on a C07: service interval data, alarm history, central locking history, alarm sensor check, then force an output or input, lamp level, analog value, tilt sensor, ride height sensors and headlight leveling
Body computer tests and history · C07
BC1 live
Every switch, sensor, output and analog value the body computer reports, refreshed continuously, with a changed line in bold for two seconds. Each window's anti-trap sensor reads as pinch, no pinch or line open. On a C02 or C03, Record window test runs both windows through a close and a full down and up, then says whether it's the motor sensor or wiring, or just needs teaching. Check remote keys tells you if the last press was the right remote, out of sync, the wrong one or a flat battery, and on C05 to C07 which remote slots hold a code. Never the codes themselves.
BC1 tests
The body computer's INPA jobs. Service interval data, alarm and central locking history, the alarm sensor check. Then force any output or input, lamp levels, the tilt and ride height sensors, headlight leveling and energy-saving mode. C02 and C03 run BC1.prg, C05 to C07 run BC1RD.prg, and the screen only offers what that file actually has.
EHPS
The electro-hydraulic power steering pump. Ident, its seven fault codes, and a live view of battery and motor voltage, motor current and speed, PWM and temperature. Force the pump PWM and hand it back. Run the engine for the pump to work.
Tire pressure
Works out which system the car has: the flat tire monitor inside the DSC, the DWS module, or RDC with a sensor in each wheel. Status, faults, and the reset after setting the pressures or changing a tire. On RDC, a live table per wheel and the sensor IDs.
Power steering pump live view: battery voltage 13.9 V, temperature 38 C, motor current 10 A, motor speed 3240 rpm, PWM 72.9 percent, ignition on, engine running, no faults stored
Power steering pump · live view
Tire pressure: DSC flat tire monitor found, no module at 0x70, and the flat tire monitor read with no warning, the last reset odometer and the learned speed bands
Tire pressure · DSC flat tire monitor

None of this has run on a car yet. It's built from the job files and pinned by unit tests, and each screen says so at the top. These screenshots come from an emulator answering with made-up replies, not from a car. If you try one on yours, Send report gets me the read and the telegrams behind it.

13 · No car needed

Planning mode.

Every option list opens offline, with no car and no cable, so you can work out what you want before you're sitting in the car. It's free and it can't write anything. It also covers the modules I haven't captured a coding session on yet. What it can't show is your car's current value; that takes a read.

Planning mode browsing the body computer C07 options with no car connected
Body computer C07, offline

14 · OBDLink or a cable with no switch

Link pins 7 and 8.

The R53 brings the engine out on OBD pin 7 and every other module (cluster, body computer, DSC, airbag, immobilizer, the column pod) on pin 8. A K+DCAN cable with its 7/8 switch on links the two inside the plug. An OBDLink CX or MX+ talks on pin 7 only, and so does a K+DCAN cable with no switch, so with either of those only the engine answers. One short wire across the back of the car's OBD socket fixes it for good.

  1. Get to the back of the socket. Unclip the OBD socket from its mount under the dash and pull it out far enough to see where the wires go in.
  2. Make a jumper. An inch or so of thin wire, both ends stripped and the bare copper bent over into a small hook so it stays put.
  3. Fit it across pins 7 and 8. Push one end into the back of pin 7 and the other into pin 8, alongside the wires already there. Pin 16 is the red wire, permanent battery. Pin 8 is directly across from it in the other row, and pin 7 is next to pin 8. Keep bare wire away from pin 16: it's live all the time and not fused.
  4. Check it. Clip the socket back in, connect, key on, and read a module that isn't the engine. The cluster is a quick one.
The OBD socket's mount under the dash with the socket unclipped
1 · Socket unclipped from its mount
The jumper: a short blue wire with both stripped ends bent into hooks
2 · The jumper
The back of the OBD socket with the blue jumper looped across pins 7 and 8
3 · Across pins 7 and 8

It's the same link the switch on a K+DCAN cable makes, so it can stay in. To undo it, pull the wire back out.

15 · Before you write

Beta, and backups.

Keep an NCS Expert backup of anything you touch

R53 Coding is still beta. I've been testing it on my two cars, and the editor tells you when you're about to write to an index nobody has written with it before. Its own backups are good, but while it's beta keep a desktop TRACE of every module you plan to change.

  • R53 is chassis R50 in NCS Expert. Read with CODIERDATEN_LESEN, then copy FSW_PSW.TRC out of C:\NCSEXPER\WORK\ right away. NCS overwrites that file on the next read.
  • Rename it with the VIN, module and date, like TL22C_BC1_20260726.TRC, and keep it off the PC.
  • How-tos on NAM: NCS Expert for beginners, the R53 add-in and more R53 detail. BMW people: the Dummies Guide flow is the same, pick R50.

If you already know NCS Expert and have an older R53, I especially want to hear how the app's read compares with yours.

16 · Get it

On Google Play.

For any Android phone or tablet. Tap below on your phone, or search Play for R53 Coding.

Reading, backups, planning mode, editing and the diagnostic reads are free. Writing to the car, and the tests, resets and writes on the diagnostic screens, are a one-time $30 unlock in Play. Install from Play rather than a sideloaded APK so the unlock works. Stuck? matt@geekopolis.com or @mattryan6729.

17 · Fine print

  • Track and DIY use. You're writing module configuration on a twenty-year-old car.
  • Key on, engine off, for every read and write. Keep a battery charger on for long sessions.
  • Race seat coding turns airbags off. Not for road use with stock seats and belts.
  • Backups first: NCS Expert TRACE files, then the app's own.

R53 Coding is its own app with its own unlock. Logging and ECU flashing are a different app, the R53 Logger - Flasher. The shift light and the K-line + CAN bridge are at ryansdesigns.geekopolis.com/shiftlight. Coding screenshots from build 121 with REDcar's backups loaded; the hub and the diagnostics screens from build 145, on made-up replies.