コーディングDIY | NCS Expertを使った操作 |E系BMW R系MINI
最終更新:2025/2/20
E系第一世代(E39、E38、E46、E53、E85、R50、R51、R52、R53)のコーディングは、NCS Expertしかメジャーなツールはないようですね。
とにかく使いづらいNCS Expert笑
ガイドはいろいろな方が書いてくれていますが、(申し訳ないけど)とにかくわかりにくい。笑
ですので、僕が思う初心者にとって分かりやすいコーディング手順書をまとめてみました。
利用ツールは、BMW Advanced toolsに含まれている、NCS Expert(無料)と、約3000円で購入可能なK+D CANケーブルです。
手順の画面キャプチャはBMW Advanced toolのNCS Expertのものです。他のツールとは表示されるボタンの項目名などが違うのでご注意ください。(配置は同じですので、そこから推測して参考にされると良いかもしれません。)
コーディングがうまくいったら、次はチューニングなどやってみたい気分になるかもしれません。(僕はなりました。)
ソフトのダウンロード
BMW Advanced tools
BMW Standard tools by Bimmergeeks(上記でダウンロードできない場合)※もう、このようなツールは一般ではダウンロードできなくなってしまいましたね.. ケーブル購入時に添付されているツールをご利用頂くのが現在の最も一般的な入手方法です。でもいろんなごちゃごちゃしたツールがついてるし、バージョンも古いし、ウィルスが心配というのありますよね。シンプルに目的のツールのみ入手したいという場合、"技術的な相談サービス"でBMW Advanced toolsをシェアすることもできます。SPDATENが不足している場合、該当車種に絞って共有することもでします。
ケーブルの用意
K+D CANケーブルには大きく2種類あって、ケーブルの真ん中にスイッチがあるものとないものです。
スイッチがあるものは「E39、E38、E46、E53、E85、R50」などの古いモデル用で、スイッチがないものは「E90、R56以降」用のものです。
E90以降のモデルは、CarlyやBimmercodeなどスマホで簡単にコーディングできるツールがありますが、E46などの古いモデルにはまだそういったツールはありません。
このガイドがE46など古いモデルをずっと大事にしたいオーナーさんの助けになれば幸いです。
※掲載しているコーディングメニューはE46M3向けです。この記事でコーディングの概要がわかれば、他の車種のコーディングの助けになるはずです。
"VIN is faulty"のエラーが出る場合:NCS Expertのトラブルシュート
コーディングに入る前の予備知識
コーディングは、やりたいコーディングメニューを”モジュール”と呼ばれるグループの中から探し"オン"または"オフ"することで実行できます。
大雑把な手順は、
NCSExpertというソフトでモジュールを選んで読み込む
NCSDummyというソフトでコーディングメニューを見つけ、オンオフを切り替える
NCS Expertで書き込む
という流れです。
モジュールの意味を知らないとやりたいメニューに辿り着けないので、参考にE46M3のモジュールの説明を掲載します。
ABG:エアバック
AKMB:タコメーター
ALSZ:ライトスイッチ
BTM:助手席ミラー
DSC(前期)or MK60(後期)
CVM:コンパーチブルトップ
EWS:イモビライザー
FTM:運転席ミラー
GM5:一般
GT:ナビ
IHK:エアコン
LWS:ライト本体
RAD:ラジオ
RLS:雨センサー
SM:シートメモリー
UEB:ロールオーバープロテクト(コンパーチブルのみ)
車のコンピュータは1つではなく複数のコンピュータが分散して存在しています。(みなさんはもしかしたらECUのみと思っていたかもしれません。)この複数のコンピュータは一般的にモジュールと呼ばれています。
車はこのモジュール同士をCANというネットワークで繋いでリアルタイムで相互通信しながら車を動かしています。
BMWの場合、モジュール達を中央管理するリーダーみたいな役割がいて、それがタコメーター(AKMB、KMB)やライトスイッチ(ALSZ)、イモビライザー(EWS)になっています。
コーディングは、まずこの中から誰か1人のリーダーを指名して、全員の出席をとる所から始まります。
全員の出席確認が取れたら、リーダーを経由して実行したい機能(コーディングオプション)を指示する、という流れがコーディングです。
コーディング手順
では実際にコーディングの手順を解説していきます。

まずは、NCS Expertを立ち上げます。
この時にK+D CANケーブルを車のOBD2コネクタにを差し込み、PCのUSBハブにも差し込みんで繋ぎます。

立ち上がったら、File > load profileを選びます。
この時に、車のキーをエンジン掛ける手前まで回しておきます。

ここでManipulationを選びます。

Startを押します。

Chasseを選びます。

自分の車のタイプを(ここではE46)を選びます。

Choose ECUウィンドウが開いたらAKMBかALSZのどちらでもいいので、どちらかを選びます。
車両を認識するだけなので、気にしなくて良いです。(2000年9月以前に製造された車両は、KMBかEWSを選びます。)

車両と通信ができると、FGやFAの所に値が入ってきます。
FGは自分の車両の車台番号(VIN)ですが、FAは車両モジュールの識別番号で、この車がどのモジュールを使用してるかを示しています。ここでは特に使用する事は無いので通信が確認できたらBackを押します。

Process ECUを押します。

ここでモジュールを選択します。
本記事の冒頭で紹介したコーディングメニュー表などを参考に、コーディングしたいメニューが含まれているモジュールを選びます。
念の為、記事の冒頭に書いたモジュールリストをここにもコピーしておきます。
ABG:エアバック
AKMB:タコメーター
ALSZ:ライトスイッチ
BTM:助手席ミラー
DSC(前期)or MK60(後期)
CVM:コンパーチブルトップ
EWS or AEWS:イモビライザー
FTM:運転席ミラー
GM5:一般
GT:ナビ
IHK:エアコン
LWS:ライト本体
RAD:ラジオ
RLS:雨センサー
SM:シートメモリー
UEB:ロールオーバープロテクト(コンパーチブルのみ)
はこちら。
複数モジュールのコーディングを一括でできない為、ここで選択したモジュールのコーディングが終わったらこの手順に戻ります。
モジュールを選択し直して以降の手順を繰り返します。

Read ECUを押して読み込みます。

読み込みが完了したら、こんなテキストが表示されますが、使わないので×を押します。
ここで一旦車のキーを切っても大丈夫です。
NCS Expartは閉じずにそのままの設定で開いたままにしてください。

ツールを切り替えます。NCS Dummyというツールを立ち上げます。
NCS Dummyはコーディングメニューを見つけやすくするブラウザです。

立ち上がるとこんな画面です。

ここでもE46を選びます。

Browseを押します。

モジュールやメニュー名がFSW_PSW.TRCというファイルに書き込まれていますので、これを選択します。
ファイルの場所はPC > ローカルPC(Cドライブ) > NCSEXPR > WORKです。

Filterを選択します。

Filter Modules by Trace File...を選びます。
これは何かというと、モジュールは年式によるバージョンの違いがあります。
例えば、GM5モジュールはC1〜C6と6つのバージョンがあるのですが、自分の車両がどれに該当するかわかりません。
この操作は対応するモジュールバージョンを自動で検知してくれる機能です。

プルダウンを押すと、検知した結果が表示されます。
ソフトに含まれるデータとの一致率を表示してくれます。
100%となっているものであればどれでもいいので選びます。
場合によっては100%にならない場合があるので、もっとも一致率の高いものを選びます。

メニュー名を探しますが、何百という中から探す場合スクロールが面倒なので、検索機能を使って探します。(もちろんスクロール機能を使って探しても問題ありません。)

見つけたら、メニューをオンにするのかオフにするのかチェックボックスで選びます。
このメニュー名はドイツ語らしいのですが、aktivがオンでnicht_aktivがオフです。
この他にもwert1〜などの選択肢もありますが、これは調整値です。

Export FSW_PSW.MANを選択します。
FSW_PSW.MANというファイルに書き込まれているデータを車に書き込む仕組みになっています。
NCS Dummyでの操作はここまでです。

NCS Expertに戻ります。Change jobを選びます。

SG_CODERENを選びます。
またここで車のキーを回し、エンジンが掛かる手前の位置にしておきます。

Execute Jobを押します。

Coding Endedと表示されたら完了です。
続けて別のモジュールのコーディングを行いたい場合、Change ECUを押してモジュールを選択する手順からの繰り返しで行います。
やってみたコーディング
コーディングメニューは何百とあるのですが、E46M3のSMGⅡCSLプログラミングをご依頼いただいた方や、当ブログを参考にDIYして頂いた方から要望があったものを抜粋しました。
バックギアを入れた時の助手席ミラー角度を自由に調整し記憶できる
キーロック解除した時にハザードが2回点滅するようにする
M-track modeの施工後、シンボルが点灯しなかった場合点灯するようにする
この他にも、未検証でも要望が多かったコーディングメニューを調べてリストに入れました。
デイタイムランニングライト(デイライト)
サイドマーカーUSモード
リアウィンドウワンタッチダウン
LED化後のチカチカを無くす
これ以外にもご興味ある場合、海外サイトにリストがあるので物色してみてください。
こちら(E46M3前期型)
"VIN is faulty"のエラーが出る場合:NCS Expertのトラブルシュート
コーディングではできないオプションはDMEチューニングが必要
おそらくコーディングでできること以外に以下のようなオプションをやりたいというオーナーさんも多くいらっしゃると思います。
アクセルレスポンスアップ
日常のトルクアップ
最大トルクアップ
排気ポップ&バン
コールドスタート削除
スピードリミッター解除
レブリミット変更
各種チェックランプオフ
これらを有効にするにはDME(ECU)チューニングが必要です。
DMEとはデジタルモーターエレクトロニクスといって、エンジン制御のコンピュータです。
10年以上前はDMEを車両から取り外し、電源と通信配線を繋いで、HEXと呼ばれる16進数の数字を解析して施工する必要がありました。
最低でも15万円は必要でした。
今は、OBD2を介して通信できるようになった上に、データをネットで買えるようになったので3万円程度でできるようになりました。
ある程度勉強すればDIYも可能です。
その内容をまとめましたので参考になれば幸いです。