Updating Siemens S7-1200 CPU Firmware: Step-by-Step Guide

David Krause15 min read
S7-1200SiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Updating Siemens S7-1200 CPU Firmware: Step-by-Step Field Guide

The Siemens SIMATIC S7-1200 (CPU 1214C DC/DC/DC and the broader 121xC/121xF/1215C family) ships with a base firmware version that can be updated in the field. Firmware updates are required to unlock new instruction sets, expand web-server functions, fix known security advisories, and gain compatibility with newer STEP 7 (TIA Portal) project versions. This guide consolidates the three supported update paths (SIMATIC Memory Card, TIA Portal online operation, and the integrated Web Server for firmware 4.x and newer), explains tool prerequisites, and documents the most common fault conditions encountered during an S7-1200 firmware update.

Safety Notice: A firmware update clears the CPU's working memory and any retained data configured with non-retentive behavior. Back up your project, recipe data, and any retentive tag values before starting. Place the controlled process in a safe state. Removing the SIMATIC Memory Card during the update cycle (the STOP-to-RUN transition plus the two-color LED sequence) bricks the CPU and requires factory recovery.

1. S7-1200 CPU Families and Compatible Firmware Paths

The SIMATIC S7-1200 line is divided by MLFB (order number) generation. Each generation has its own firmware branch, and the update path is not always reversible. Identify your CPU's order number from the front-panel label or the TIA Portal "Online & Diagnostics" view before downloading any firmware file.

Table 1 - Common S7-1200 Order Numbers and Supported Firmware Range
MLFB (Order No.) CPU Model Base FW Highest Field FW Update Path
6ES7212-1BD30-0XB0 CPU 1212C DC/DC/DC V1.0 V2.2 (V3.x not released) Memory card only
6ES7212-1BD31-0XB0 CPU 1212C DC/DC/DC V3.0 V4.6 Memory card or TIA Portal
6ES7214-1AE30-0XB0 CPU 1214C DC/DC/DC V1.0 V2.2 Memory card only
6ES7214-1AG31-0XB0 CPU 1214C DC/DC/DC V3.0 V4.6 Memory card or TIA Portal
6ES7214-1AG40-0XB0 CPU 1214C DC/DC/DC V4.0 V4.6 Web server, TIA Portal, or memory card
6ES7215-1AG31-0XB0 CPU 1215C DC/DC/DC V3.0 V4.6 Memory card or TIA Portal
6ES7214-1AF40-0XB0 CPU 1214F (fail-safe) V4.2 V4.6 Web server, TIA Portal, or memory card

When the field report asked "how do I update my CPU 1214C DC/DC/DC from V1.0 to V2.2", the answer depends entirely on the MLFB suffix. The 6ES7214-1AE30-0XB0 generation can reach V2.2, but it cannot be promoted to V3.x or V4.x - those are new hardware revisions with different instruction-set support and a different system memory map. Trying to load a V4.x firmware file on a V1.x hardware revision produces a diagnostic buffer entry "Firmware update rejected: hardware revision incompatible".

Cross-Hardware Rule: Siemens does not publish a downgrade path from V4.x back to V1.x/V2.x. If the application depends on a V2.x-only third-party library, do not upgrade.

2. Prerequisites

Select the update method first, then collect the required hardware and software. Skipping prerequisites is the leading cause of update failure on S7-1200.

2.1 Required for All Methods

  1. Functional ground connection between the CPU's M terminal and cabinet PE, verified at <1 ohm.
  2. Stable 24 VDC supply at the CPU power input (L+ / M). Voltage must remain above 20.4 VDC for the full 60-180 s update cycle. Brown-out during the update phase can produce a "Firmware update aborted - CRC error" event.
  3. Online project backup: In TIA Portal, choose "Online & Backup of device" and save the .s7pbkp file. For non-TIA backup, read the load memory image using the SIMATIC Automation Tool.
  4. CPU in STOP: the firmware loader forces STOP, but a running process should be parked safely first.

2.2 Required for Memory Card (V1.x / V2.x / V3.x) Method

  1. SIMATIC Memory Card sized 2 MB, 12 MB, or 24 MB. The 6ES7954-8LF02-0AA0 (4 MB) and 6ES7954-8LE03-0AA0 (12 MB) cards are field-proven. A standard SD card will not be accepted by the CPU's loader.
  2. SD card reader on the engineering PC.
  3. Firmware update file matching the exact MLFB - extension is .upd for the operating system update, named per the pattern FWUPDATE.S7S in the card's root directory after extraction.

2.3 Required for TIA Portal Method

  1. STEP 7 (TIA Portal) version supporting the target firmware. TIA V14 SP1 supports up to V4.2, TIA V15.1 up to V4.4, TIA V16 up to V4.5, TIA V17 up to V4.6. Refer to the Siemens compatibility tool.
  2. PROFINET or Ethernet between the engineering PC and the CPU's PROFINET port X1 (default IP 192.168.0.1, no project IP required for "Online & Diagnostics").
  3. Firmware file downloaded as a *.zip from the Siemens support portal entry matching the MLFB.

2.4 Required for Web Server Method (V4.0 and Newer Only)

  1. Web server enabled on the CPU (default: enabled in V4.x; access level: "Full access (no protection)" or admin password configured).
  2. CPU at firmware V4.0 or higher - the web server update page is not present on V1.x, V2.x, or V3.x CPUs.
  3. Default HTTPS port 443 reachable from the engineering PC. Self-signed certificate warning must be accepted.
  4. Valid FW update *.upd file matching the MLFB.

3. Method A - Memory Card Update (V1.x and V2.x Hardware)

The memory card method is the only path available to legacy 6ES7214-1AE30-0XB0 and 6ES7212-1BD30-0XB0 CPUs. It is also a useful recovery method for a bricked CPU that no longer accepts a TIA Portal download.

3.1 Procedure

  1. Power off the CPU.
  2. Insert the SIMATIC Memory Card into a USB SD reader on the engineering PC.
  3. Format the card with the Siemens S7 tool "SIMATIC Memory Card Formatter" (Siemens order no. 6ES7954-8PA00-0AA0) or the TIA Portal "Card Reader/USB memory" menu. Use 2 GB cluster allocation - default FAT32 is correct.
  4. Download the firmware update package from the Siemens Industry Online Support. Search for the exact MLFB (e.g. 6ES7214-1AE30-0XB0) and filter by "Firmware/Operating system". The package will be a ZIP file.
  5. Extract the ZIP. Inside you will find the file FWUPDATE.S7S and the firmware data block. Copy these to the root directory of the memory card. Do not place them in a subfolder.
  6. Safely eject the card from the PC.
  7. Verify the CPU is in STOP (or cycle power to STOP).
  8. Insert the card into the CPU's card slot, contacts facing up, label facing the CPU front.
  9. Apply CPU power. The CPU will detect the FWUPDATE.S7S, run the LED pattern: MAINT blinks yellow, then RUN/STOP blinks yellow/green, then RUN blinks yellow.
  10. When the update completes, the CPU restarts automatically. The MAINT LED goes dark and the RUN LED shows solid green.
  11. Remove the memory card after the CPU is in RUN. Reformat it before reuse; the firmware update leaves a hidden S7_JOB.S7S marker file that will repeat the update if the card is reinserted.

3.2 Verification

  1. Open TIA Portal, select "Online & Diagnostics" against the CPU.
  2. Check "Diagnostics > General" - the Online & Diagnostics view reports the new firmware version, e.g. "Firmware version: 2.2.0".
  3. Confirm the diagnostic buffer shows event "Firmware update successfully completed" (event ID 0x13A2 for V2.x CPUs).
  4. Re-download the project. If the project was compiled for a different firmware, TIA Portal prompts "Do you want to recompile for the new firmware version?". Accept.
Common Fault - "FWUPDATE.S7S not found": The card is FAT32 but the file is in a subfolder. Move FWUPDATE.S7S to the root. Also confirm the SD card is a genuine Siemens card - third-party cards cloned with the same volume label occasionally fail the CPU's loader signature check.

4. Method B - TIA Portal Online Update (V3.x / V4.x)

For 6ES7214-1AG31-0XB0, 6ES7214-1AG40-0XB0, 6ES7215-1AG31-0XB0, and equivalent MLFBs, TIA Portal performs the update over Ethernet without a memory card.

4.1 Procedure

  1. Power the CPU and confirm the RUN/STOP switch is in the RUN position (the loader can force STOP).
  2. Connect the engineering PC's Ethernet port to the CPU's PROFINET X1 port. Set the PC adapter IP to 192.168.0.10 / 255.255.255.0 if the CPU is at default 192.168.0.1.
  3. Open the project in TIA Portal. If the project was created for an older firmware, TIA may show a yellow warning "Project was created for a different firmware version".
  4. Navigate to "Online > Online & Diagnostics" and select the detected CPU.
  5. Select "Diagnostics > Firmware Update" from the left tree.
  6. Click "Browse" and select the unzipped *.upd file.
  7. Click "Execute Update". TIA Portal will prompt: "The CPU will be set to STOP and the project will be deleted. Do you want to continue?". Confirm.
  8. The update progress bar fills over 30 s to 3 min depending on the firmware file size. Do not close TIA Portal.
  9. When complete, TIA Portal reports "Firmware update completed successfully. CPU is restarting."

4.2 Verification

  1. The Online & Diagnostics view now shows the new firmware version (e.g. "Firmware 4.4.0").
  2. Diagnostic buffer contains event ID 0xE002 ("Firmware update completed") for V4.x CPUs.
  3. Project must be re-downloaded. Use "Online > Download to device" with target "CPU/PLC".
Project Recovery: The TIA Portal online update wipes the load memory. The currently open project on the engineering PC is not affected. If the engineering PC is the only place the program exists and is not backed up, take a "Backup of device" snapshot before updating.

5. Method C - Web Server Update (V4.0+ CPUs)

Starting with firmware V4.0, the S7-1200 CPU exposes a firmware update endpoint on the web server. This is the most convenient method when the engineering PC cannot install TIA Portal (e.g. a thin client on the shop floor).

5.1 Procedure

  1. Confirm web server is enabled. In TIA Portal project tree: "CPU > Properties > Web server > General > Enable web server". Download the project once to commit the setting.
  2. Open a browser on the engineering PC and navigate to https://192.168.0.1 (or the configured CPU IP). Accept the self-signed certificate.
  3. Log in with admin credentials. Default user is "admin" with no password on a brand-new CPU; change the password before any production deployment.
  4. Navigate to "Module Information > Firmware". The current firmware is displayed with the slot number and module name.
  5. Click "Update firmware". A file picker appears. Select the *.upd file matching the CPU's MLFB.
  6. Click "Start update". The browser displays a progress meter and a warning that the CPU will restart.
  7. When complete, the browser shows "Firmware update successful". The connection drops as the CPU restarts.

5.2 Verification

  1. Reload https://192.168.0.1 after 60 s.
  2. Module Information > Firmware now shows the target version.
  3. The TIA Portal project - if still tied to the previous firmware - must be recompiled and re-downloaded. The Web Server view will show the old program version number until the project is reloaded.
Web Server Method Limitations: This path is not available for CPUs at V1.x, V2.x, or V3.x. The web server "Update firmware" button is not present. Do not attempt to load a V4.x *.upd on a V3.x CPU - the loader rejects the file and the CPU may enter a fault state requiring power cycle.

6. SIMATIC Automation Tool (Bulk / Field Service)

The SIMATIC Automation Tool (SAT) is a free Windows utility from Siemens that updates firmware on multiple S7-1200 and S7-1500 CPUs over Ethernet without a TIA Portal license. It is the field service standard for OEMs and SI integrators who maintain a fleet.

6.1 Procedure

  1. Install SAT from Siemens Support Entry 98161340. As of 2024, current versions are SAT V5.x and V6.x.
  2. Set the engineering PC Ethernet port to 192.168.0.10/24 and connect to the CPU PROFINET X1.
  3. Launch SAT, click "Discover", and verify the CPU appears with its current firmware version.
  4. Click "Firmware Update". Browse to the *.upd file.
  5. Select the target CPU and click "Execute".
  6. SAT reports progress and writes a CSV log of every update attempt - keep this log for validation/audit purposes.

6.2 Verification

SAT displays a green check mark on success. The CSV log can be imported into the maintenance system. The CPU diagnostic buffer can be cross-checked via SAT's "Read diagnostic buffer" function.

7. Compatibility Matrix - TIA Portal and Target Firmware

Selecting the wrong TIA Portal version is the second most common reason an S7-1200 firmware update fails. Use this matrix to confirm your TIA version can deliver the target firmware.

Table 2 - TIA Portal vs. S7-1200 Target Firmware Support
TIA Portal Version Highest S7-1200 FW Deliverable Notes
V13 SP1 V4.0 First release with V4.0 support
V14 SP1 V4.2 Last TIA version for V1.x/V2.x legacy download
V15.1 V4.4 Default for V3.x projects
V16 V4.5 Adds OPC UA server
V17 V4.6 Common mid-2024 baseline
V18 / V19 V4.6+ (security patches) Security-only updates on V4.6
Project Compatibility: TIA Portal does not auto-downgrade projects. If you upgrade the project from V2.x source to TIA V17, you cannot open it again in TIA V14. Archive the original project before any TIA upgrade.

8. Troubleshooting Matrix

Table 3 - Common S7-1200 Firmware Update Faults
Symptom Likely Cause Remediation
MAINT LED solid yellow, update does not start Card file FWUPDATE.S7S missing or in subfolder Re-copy file to card root; re-insert; power cycle
CPU enters STOP and remains in STOP after update Project compiled for older firmware; not downloaded Re-download project in TIA; recompile if needed
TIA Portal error "Firmware file does not match device type" Wrong *.upd selected; MLFB mismatch Re-download file matching exact MLFB suffix
Web server "Update firmware" button greyed out CPU at V1.x/V2.x/V3.x or user lacks admin role Use memory card or TIA Portal; log in as admin
Update aborts at 47 % with CRC error Voltage dip during update Stabilize 24 VDC supply; retry with UPS-backed PSU
Diagnostic event "Firmware update rejected: hardware revision incompatible" Trying to load V4.x onto V1.x/V2.x/V3.x hardware Use the highest V2.x or V3.x release supported by the MLFB
Memory card recognized, MAINT flashes, then CPU returns to original FW Firmware file is for different module within the rack (e.g. signal module, not CPU) Re-download CPU firmware; CM/SM FW has separate file
Update appears to succeed but CPU reports new FW in Online but old FW on front-panel label No fault - label is factory-etched; online is authoritative Trust TIA / web server / SAT reading

9. Field-Proven Best Practices

  1. Read the diagnostic buffer before AND after. Pre-update buffer establishes a baseline. Post-update buffer confirms event IDs 0x13A2 (V2.x) or 0xE002 (V4.x).
  2. Document the MLFB and the existing FW in the asset record before any maintenance action. The Siemens Support search is MLFB-strict, not descriptive.
  3. Do not interrupt the update. The S7-1200 loader runs outside the application code, so even a hard stop (removing power) does not leave the CPU in a half-baked state - it can take 5-10 minutes to recover and re-attempt, but it is recoverable, not bricked, unless the card is removed mid-cycle.
  4. Keep at least one SIMATIC Memory Card with a known-good FWUPDATE.S7S on site. When the engineering PC is unavailable, the memory card is the only recovery tool for V1.x/V2.x CPUs.
  5. For production fleets, use the SIMATIC Automation Tool with a CSV-tracked rollout. Updates are non-reversible on V1.x/V2.x hardware, so the audit trail is part of the change control.
  6. Update the engineering PC's TIA Portal to the version matching the target firmware before the field visit. Field engineers have lost hours installing TIA on a customer laptop that is locked down.

10. Reverse Update (Downgrade) Considerations

Siemens does not officially support V4.x to V2.x or V3.x to V2.x downgrades. If a downgrade is unavoidable (e.g. an old library is incompatible with the new instruction set), the only field-proven path is:

  1. Power off the CPU.
  2. Insert a memory card containing the lower-firmware FWUPDATE.S7S.
  3. Power on. The CPU's loader checks the firmware on the card against the current firmware. If the card's firmware is older, the loader issues a warning "Firmware downgrade detected - confirm?" only on V4.x CPUs. On V3.x, the loader simply overwrites.
  4. Confirm the warning (V4.x) or wait for the loader (V3.x).

Downgrade wipes the load memory. Re-download the project afterward.

Legal Note: Downgrades are not warranted by Siemens. If a control system is under a regulatory compliance regime (e.g. 21 CFR Part 11, IEC 62443), document the change in the change control system and verify all safety functions are unaffected.

11. Cross-Reference: Where the Update Method Lives in the S7-1200 System Manual

The official S7-1200 System Manual is the authoritative reference. Section "Installing and removing modules" in the system manual covers the memory card slot; the section "Firmware update" lists every supported path for the current CPU generation. The latest edition is published as Siemens entry 109751610 on the Siemens support portal. Download the manual revision that matches the firmware you intend to land on - Siemens publishes the manual per-firmware-branch.

12. Summary and Decision Tree

S7-1200 Firmware Update Identify MLFB V1.x / V2.x hardware Memory Card only V3.x / V4.x TIA Portal / SAT V4.0+ only Web Server Place CPU in STOP - Back up project - Verify 24 VDC stable Execute update - Verify diagnostic buffer - Re-download project

Following the decision tree: identify MLFB first, then choose the path that matches the firmware generation, then perform the three common pre-checks (STOP, backup, stable supply) before executing.

FAQ

Can I update a CPU 1214C DC/DC/DC from V1.0 to V4.x?

No. CPUs with MLFB 6ES7214-1AE30-0XB0 are hardware-revision 1 and can be updated only within the V1.x and V2.x branch (up to V2.2). The V3.x and V4.x firmware families require the 6ES7214-1AG31-0XB0 or 6ES7214-1AG40-0XB0 hardware revision. Attempting a V4.x update on V1.x hardware is rejected with diagnostic event "hardware revision incompatible".

Is a SIMATIC Memory Card required for every S7-1200 firmware update?

Only for CPUs at firmware V1.x, V2.x, and V3.x. CPUs at V4.0 and newer can be updated over Ethernet using TIA Portal, the SIMATIC Automation Tool, or the integrated Web Server. For V3.x CPUs, a memory card is the most reliable path because TIA Portal updates are version-sensitive and require a TIA version that supports the target firmware.

What happens to my PLC program during a firmware update?

The load memory and the work memory are cleared. The currently loaded program is lost. Before updating, perform "Online & Backup of device" in TIA Portal (saves a .s7pbkp file) or read the project archive. After the update, recompile and re-download the project. Retentive tags with the "Retain" attribute are also cleared unless the CPU's retentive memory map is preserved by the new firmware - this is not guaranteed across major firmware jumps.

Why does the firmware update fail with a CRC error at 40-50 %?

Most often a brown-out on the 24 VDC supply. The S7-1200 loader writes firmware blocks into internal flash; if the supply drops below 20.4 VDC mid-write, the loader flags a CRC mismatch. Check the PSU sizing, verify the cable gauge, and consider a UPS-backed supply for any production update.

Can I use a third-party SD card for the firmware update?

Not reliably. The S7-1200 CPU's loader checks the Siemens volume label and the card's SPD signature. A cloned third-party card occasionally works for V1.x/V2.x CPUs but fails on V3.x and V4.x. Genuine Siemens SIMATIC Memory Cards are 6ES7954-8LF02-0AA0 (4 MB) and 6ES7954-8LE03-0AA0 (12 MB).

How do I confirm the firmware version after the update without TIA Portal?

For V4.x CPUs, navigate to the web server's "Module Information > Firmware" page. For V1.x/V2.x/V3.x CPUs, the only field option is the front-panel LED pattern (MAINT yellow, RUN blinking) combined with a memory card reader reading the firmware info file the loader writes after a successful update. TIA Portal's "Online & Diagnostics" is the most reliable verification method when available.

Back to blog