Published: May 26, 2026
Quick Answer
Reading and writing the EEPROM on a BYD Atto 3 anti-theft ECU with the LAUNCH X431 X-PROG3 is essential for key programming, used ECU swaps, and immobilizer repair. You must physically access the ECU, connect via the dedicated 7-pin or 14-pin adapter, select the correct MCU profile (typically NXP MC9S12 family), perform a full backup, make hex edits using a PC‑based editor, then write the corrected file back. Always create two separate backup files before modifying anything to avoid bricking the ECU.
Introduction
Modern anti‑theft systems have become incredibly sophisticated, and the BYD Atto 3 is no exception. Its anti‑theft ECU (often integrated into the SKC or BCM module) stores critical data in EEPROM – key IDs, immobilizer status, VIN, and PIN codes. When you need to swap a used ECU into a different vehicle, reset a learned immobilizer, or recover a lost key, direct OBD‑II programming alone won’t cut it. You need bench‑level EEPROM access.
That’s where the LAUNCH X431 X‑PROG3 shines. This universal programmer bridges the gap between simple OBD diagnostics and full chip‑level programming, letting you read and write EEPROM data directly on the ECU’s processor. In this guide, you’ll learn the complete process – from identifying the correct connector to verifying your write – with troubleshooting tips for the most common roadblocks.
Prerequisites and Safety
Before diving in, make sure you have everything ready:
Required Hardware
- LAUNCH X431 X‑PROG3 main unit with the programming probe module.
- BYD Atto 3 anti‑theft ECU (SKC/BCM module) – removed from the vehicle.
- Dedicated 7‑pin or 14‑pin adapter cable (check your X‑PROG3 kit; some include a BYD‑specific adapter).
- Stable 12V bench power supply capable of delivering at least 10A. Do not use a battery charger – bench RC battery chargers or regulated lab supplies work best for clean DC.
Required Software
- Latest LAUNCH X‑PROG3 firmware installed on your X431 tablet. Verify BYD / Atto 3 profiles are present – if not, update via the LAUNCH online updater.
- A hex editor on your PC – HxD (free), Beyond Compare, or WinHex.
Safety Warnings
- Never disconnect the ECU or power supply during a write operation. Data corruption will render the ECU unusable.
- Place the ECU on a non‑conductive surface (wood, rubber mat). Avoid metal benches.
- Vehicle year matters: pre‑2022 and post‑2022 Atto 3 models may use slightly different ECU hardware. Confirm your ECU label before proceeding.
Detailed Troubleshooting & Step-by-Step Guide
This section walks you through each physical and software step. Follow the order exactly, and check the troubleshooting callouts if something goes wrong.
Step 1: Identifying the ECU and Connector
First, locate the ECU. On the BYD Atto 3, it’s typically behind the glovebox or under the driver’s side dashboard. Remove the trim panels carefully – you’ll see a module with a thick wiring harness.
Check the label on the ECU case. You’re looking for a CPU type like NXP S9S12G128, MC9S12, or similar. Write this down – it helps with manual selection later.
Connector pinout: The X‑PROG3 BYD adapter uses a standard layout. Pin 1 is usually marked with a red stripe on the cable. Match this to pin 1 on the ECU connector. For the 14‑pin adapter, consult the pinout diagram included with your kit or available online from LAUNCH support.
Troubleshooting: “My ECU has a 14‑pin connector but my kit only has the 7‑pin adapter.” You need the optional BYD 14‑pin adapter. Do not try to force a 7‑pin cable – you’ll short pins and possibly damage both ECU and programmer.
Step 2: Connecting the X‑PROG3
- Power on the X‑PROG3 main unit. Connect the small programming probe module if it’s separate.
- Attach the BYD adapter cable to the probe module.
- Connect the adapter to the ECU’s programming port. Double‑check pin orientation – most adapters are keyed, but if yours isn’t, use a multimeter to verify continuity.
- Connect your 12V bench power supply to the ECU’s main power and ground pins (not the programming pins). The ECU should power up – you’ll see a small LED light on the board.
Troubleshooting: “No power light on the ECU.” Check your power supply ground. Measure voltage at the ECU’s power input – it should be 12V±0.5V. If voltage is present but the LED is off, the ECU may be internal-faulty.
Troubleshooting: “X‑PROG3 says ‘Communication Error.’” First, verify baud rate settings in the software (try 9600 or 19200 if auto‑detect fails). Second, try an alternative MCU family. For an MC9S12G128, select NXP > MC9S12 instead of the generic BYD profile. If auto‑detect still fails, check your physical connections – a loose wire on the adapter cable is a common culprit.
Step 3: Reading the EEPROM
Now the real work begins.
- On the X‑PROG3 tablet, navigate to MCU > BYD > Atto 3. If that exact entry isn’t present, use Auto Detect. The software will attempt to identify the CPU.
- If auto‑detect fails or times out, manually select NXP > MC9S12 > EEPROM. Confirm the CPU variant you noted from the label.
- Press Read. Do not interrupt this process – even a brief disconnection can corrupt the data.
- When the read completes, the X‑PROG3 prompts you to save the file. Save it as
BYD_Atto3_Original_Backup.bin. - Immediately save a second backup to a different location (e.g., a USB drive or cloud storage). Name it
BYD_Atto3_Backup2.bin.
Troubleshooting: “Read successful but data looks like all FFs or 00s.” The CPU is likely locked or you’re on the wrong memory page. Check the security bits – you may need to unlock the chip first (see FAQ). Alternatively, try reading from a different memory region (e.g., Flash instead of EEPROM) and compare.
Troubleshooting: “Erase/Write fails after a successful read.” The chip may be write‑protected. Many MC9S12 variants require a security unlock procedure before writing. In the X‑PROG3 menu, go to MCU > NXP > MC9S12 > Security > Unlock. If that fails, you may need a dedicated hardware unlock tool like Orange5 or Xprog‑U.
Step 4: Modifying the EEPROM Data
This step requires a hex editor on your PC. We’ll use HxD as an example.
- Open
BYD_Atto3_Original_Backup.binin HxD. - Locate the data blocks you need to modify. Common locations (based on documented BYD ECU maps):
- Immobilizer status (Virgin/Used): Often at offset
0x010–0x020. A virgin ECU shows00 00; a learned (used) ECU showsFF FFor01 01. - Key IDs / PIN code: Usually in a checksum‑protected segment around
0x030–0x03F. You’ll need a known‑good map or a second ECU backup to compare. - Vehicle VIN: Stored at offset
0x040–0x050in ASCII format.
- Immobilizer status (Virgin/Used): Often at offset
- Make your changes. For example, to reset a used ECU to virgin, change the bytes at offset
0x010fromFF FFto00 00. - Critical: Do not change the checksum yourself. Use a checksum calculator tool specific to BYD MC9S12 ECUs (search online for “MC9S12 checksum fixer”). If you corrupt the checksum, the ECU will reject the data and the vehicle will crank but not start.
- Save the modified file as
BYD_Atto3_Modified.bin.
Troubleshooting: “I edited the VIN, and now the car won’t start.” Restore your original backup immediately. You likely altered a checksum‑protected region without recalculating the CRC. Try again using a dedicated tool.
Step 5: Writing the Data Back
You’re in the final stretch, but proceed with caution.
- On the X‑PROG3, select Write.
- Browse to your modified
BYD_Atto3_Modified.binfile and confirm. - The unit will automatically Erase, then Program, then optionally Verify. Let all three steps complete without interruption.
- After “Verify successful,” power cycle the ECU: disconnect the 12V supply, wait 10 seconds, then reconnect.
- Test the ECU by reinstalling it in the vehicle and attempting a key learn sequence using a bidirectional scan tool like the LAUNCH X431 PAD VII.
Troubleshooting: “Write successful but ECU still behaves as used.” Some BYD ECUs require a secondary command after the write – for example, turning the ignition on and off three times, or performing a specific “Learn” routine through the diagnostic tool. Check your service manual or X‑PROG3 documentation for post‑write procedures.
Topical Depth: Related Applications and Context
Understanding the broader context of EEPROM programming helps you avoid costly mistakes.
Key Programming: The X‑PROG3 only reads and writes the EEPROM. It does not program new keys into the vehicle’s immobilizer system. After you’ve modified the EEPROM (e.g., resetting the ECU to virgin), you must still use a bidirectional scan tool – such as the LAUNCH X431 PAD VII – to perform the key learning procedure. Without that second step, the car won’t start.
Used ECU Reset: This is the most common reason for the whole procedure. When swapping a used ECU from a donor car, the immobilizer status is already “learned” with the donor’s keys. By resetting that status to “virgin” in the EEPROM, the ECU becomes blank and ready to learn the keys of the target vehicle.
Customer Data Preservation: Always keep the original backup files. If something goes wrong during key learning, you can restore the original EEPROM data and give the customer back their original ECU working condition. Never overwrite the only backup.
Firmware vs. EEPROM: The LAUNCH X‑PROG3 sometimes supports firmware updates for certain ECUs. Firmware updates replace the entire program memory, not just the data section. Do not confuse this with EEPROM editing – they address completely different memory regions.
Best Practices for Data Integrity
| Practice | Why It Matters |
|---|---|
| CRC / Checksum verification | Prevents ECU from rejecting your data. Use MC9S12‑specific fixers. |
| Stable voltage (±0.5V) | Voltage dips during write cause partial programming. Use a bench supply, not a car battery. |
| Cool operating temperature | Heat above 40 °C can cause write errors. Work in a shaded, ventilated area. |
| Two separate backups | Protects against accidental overwrite or media failure. |
| Verify after write | Catches errors before you reinstall the ECU. |
Frequently Asked Questions (FAQ)
Can I use the X-PROG3 to program new keys on the BYD Atto 3?
No. The X‑PROG3 only reads and writes the EEPROM. You still need a bidirectional scan tool such as the LAUNCH X431 PAD VII to perform the key learning procedure after the EEPROM is modified. The EEPROM change resets the immobilizer status; the scan tool teaches the new keys.
What happens if the checksum is wrong after editing?
The ECU will reject the data. The vehicle may crank but not start, or the immobilizer light will flash continuously. You must restore your original backup, recalculate the checksum using a dedicated tool, and repeat the write process.
Do I need to remove the ECU from the car?
Yes, for 99 % of cases. The X‑PROG3 requires a direct pin‑to‑pin connection to the ECU’s programming header. You cannot perform bench‑level EEPROM reading/writing through the OBD‑II port because the security gateway blocks low‑level access.
I’m getting a “Security Error” on the X-PROG3. How do I bypass it?
This indicates the CPU is read‑protected. Select Unlock Security in the X‑PROG3 menu (navigate to MCU > NXP > MC9S12 > Security > Unlock). If that fails, your CPU may require a specialized hardware unlock tool like Orange5 or Xprog‑U. Some BYD ECUs from later model years have additional layers of protection – consult the LAUNCH official support site for the latest unlock procedures.
Can I use the X-PROG3 on the Atto 3 if I don’t have the correct adapter cable?
No. Using the wrong pinout will short the ECU and potentially damage both the ECU and the programmer. Always use the appropriate 7‑pin or 14‑pin BYD adapter. If your kit didn’t include one, purchase it separately from an authorized dealer.
How long does a typical write take?
A full 256 KB EEPROM write takes between 2 and 4 minutes, depending on the CPU speed and the X‑PROG3’s firmware version. The erase step takes the longest; programming is usually faster.
Conclusion
Reading and writing EEPROM data on a BYD Atto 3 anti‑theft ECU with the LAUNCH X431 X‑PROG3 is a precise but manageable task when you follow the correct sequence: identify the ECU and connector, establish a stable physical connection, read and double‑backup the original data, make careful checksum‑aware edits, and write the modified file back. The most critical rule is always keep two separate backups – they are your insurance against a bricked ECU.
Have you performed this procedure successfully? Share your tips and any model‑year differences you’ve encountered in the comments below. If you need further help, contact our support team – we’re happy to guide you through the process.
About the Author: Erwin Salarda is an Automotive Service Equipment Technician based in the Philippines, specializing in computerized automotive diagnostic equipment such as OBD scanners and wheel alignment systems. Since 2012, he has been actively providing technical support, equipment installation, troubleshooting, after-sales service, and hands-on training for automotive service equipment used by workshops and automotive professionals.
He has received specialized training from international suppliers and manufacturers, including Launch X431 in Shenzhen, China, Lawrence Engineering Company in Guangzhou, China, and 3Excel Wheel Alignment Company in Shenzhen, China. Through these trainings, he developed advanced expertise in automotive diagnostics, calibration, wheel alignment systems, and computerized automotive service technologies.
Erwin Salarda provides professional after-sales support and technical training for automotive diagnostic and wheel alignment equipment, helping clients maximize the performance and proper use of their tools and systems. His experience covers equipment setup, software updates, calibration procedures, troubleshooting, and operational guidance for automotive workshops and service centers.
With more than a decade of experience in the automotive equipment industry, Erwin Salarda continues to support automotive businesses by delivering reliable technical expertise and practical training solutions.
For inquiries and equipment purchases, please visit https://carlifterph.com/
Related Posts
- How to Verify BYD Vehicle Compatibility with LAUNCH X431 Before Key Programming
- How to Program a BYD F3 Replacement Key Using LAUNCH X431 Pro Elite
- How to Use LAUNCH X431 Key Programmer to Recover from BYD Seal All Keys Lost
- How to Update LAUNCH X431 IMMO Software Before Programming BYD Keys
- Reset Anti-Theft System BYD Tang DM-i Using LAUNCH X431 IMMO Elite