Bucket-list Project: Custom Recaro Sportster CS seats in the M3.

Finally got these bad boys installed!

Huge shoutout to AMX Performance aka Recaro Max for supplying the covers in early 2019. Back then, he had just started obtaining OEM BMW hide for all the Recaro builds you see on social media these days. The workmanship is fantastic, with perfect seams and 100% original quality leather. He even provides the covers with the original Recaro attachments for a complete factory swap without the use of hog rings or any custom work. Shipping from Poland was very quick and the parcel was carefully packaged. He even offered some customer support for the questions I had going along with the DIY process despite having no obligation to do so. I cannot praise AMX’s products enough.

I also bought aftermarket heating elements in a quest to integrate them with factory center console heating controls. Nowadays AMX sells the OEM BMW heating elements for a complete PnP solution with factory controls – if only he had them back in April last year!

Parts Required
  • Various small flat head screwdrivers and picks
  • various sockets, wrenches, and torx bits (to remove stock seat belt receptacle assembly) depending on your mounting hardware
  • set of seat heating elements
  • wire stripper & scissors
  • electrical tape
  • cloth wrapping tape
  • soldering kit

What I Did


Using the videos on AMX’s YouTube channel, I removed the stock black covers on the Sportster CS seats and replaced with AMX supplied covers. I went with OEM Fox Red hide, embossed ///M logo in the headrest, and a ///M tricolor motif in a nod to the E36 M3 Vader seats I always lusted for back in my E36 days.

  • Started by peeling back the sealing gaskets from the headrest and worked my way down:

  • Carefully peeled back the Velcro attachments near the seat belt cutouts:

  • Unclipped the attachments from the tension clips (in red along the backrest pictured below):

  • Installed aftermarket seat heating elements on the seat cushion and backrest foams.

  • Painted the cutout surrounds in a metallic satin silver:

  • All re-upholstered and buttoned up ready for wiring. You can see the creases and wrinkles needing to be tightened up with a heat gun (explained below):

  • Wired the cushion and backrest elements directly to the stock E92 underseat power and ground sources with the original BMW connections and plugs. This works perfectly as there is a heavy-duty power and ground wiring source, the stock seats use these to power the underseat module which controls heating and power adjustments. Clearly the power supply is adequate for powering only a heater circuit. And this source is fused at the Junction Box with a 30A fuse so it’s a safe source.

  • Luckily, the original Sportster seat frames already have provisions for installing a heating switch! In my case, my aftermarket kit’s switch dimensions are identical to the ones Recaro uses. I bet they use this supplier as well… I simply popped the switches into these cutouts.

  • Installed the stock seat belt tensioner and connected it to the car’s stock wiring and coded out a few items.

  • Used OEM wire management attachments which – again, luckily – fit into the various cutouts underneath the Recaro seat frames. Using OE factory cloth tape, I cleaned up my wiring to be as original looking and out of the way as possible. OE plugs/connectors were used for a full plug and play and 100% reversible solution.

  • All the wrinkles and creases in the leather hide from being stored for a year in my basement were an eyesore. AMX recommended I use a steamer, but it was not making any improvements. Seems like a heat gun is what the professionals use to really smooth out leather to like-new condition. The huge risk is you can easily burn the leather and damage it permanently. The trick was to keep the gun moving at a constant pace while applying heat to the desired area. This worked wonders as 99% of the wrinkles/creases are GONE and a uniformly smooth, tight fitting leather remains.

  • Swapped in a non-heated seat climate control panel to clean up the redundant buttons.

End Result


No errors, no warnings, heating works great and the seat belt butlers still deliver the belts.
I noticed a drop of approx. 2” from the factory seats. The entire assembly with the Sportsters, heating elements, wiring, sliders, Planted floor mounts, and seat belt tensioner weighs 48 lbs. The entire factory seat assembly including all controls and tensioner weighs 65 lbs, for a weight savings of 17 lbs/side. Not bad!

Notable Items


  • If I had to do it again, I would likely go with BK mounts with OE sliders. The Planted Technology mounts are okay for use with these seats and do a good job with ease of installation and still drop the seat height appreciably, but they’re not without issues. The bracket for the seat belt receptacle interferes with full fore/aft motion of the slider’s range. Though it doesn’t make any difference because I can’t imagine anyone would sit further up to the wheel than the limit this allows anyways.
  • The floor mounting hole positioning of the Planted mounts is at the extreme limit of clearing the floor board of the car. The bolts barely cleared to line up and thread straight. Stock bolts CANNOT be re-used here as their height will not clear the available vertical space between the floor and the plate to which the sliders are secured. M10x1.5 25-30mm bolts are needed.
  • Coding: ensure all of the following are set to nicht_aktiv in ABG module:
    SIDEBAG_LINKS_1 -side airbag (left)
    SIDEBAG_RECHTS_1 – side airbag (right)
    AKS_LINKS_1_CD – active head restraint (left, for 2009+ cars)
    AKS_RECHTS_1_CD – active head restraint (right, for 2009+ cars)
    OC3_1 – passenger seat occupancy mat 1/2
    GK/OC3/POL – related to the passenger occupancy mat 2/2
    SPSF_1_CD – seat position sensor (driver)
    SPSBF_1 – seat position sensor (passenger)

    Clear all errors in the ABG module via Tool32 > MRS5.PRG -> execute fs_loschen job

The Original Plan


Initially I wanted to use the aftermarket elements with factory controls for 100% OEM integration. I wired in a NTC thermistor into the cushion element’s connection as per TIS’ schematics and used OEM connectors to plug into the smaller/base underseat module. This would not work properly, and the circuit would shut off after about 3 minutes.

The reason being the thermistor I was using was not enough with the resistance values of the aftermarket elements compared to the stock setup. The power differentials were not within range of the stock PWM modulations.

Trying to reverse engineer this with aftermarket elements and a calculated NTC thermistor value is beyond my scope of understanding, and ultimately not worth the trouble. If I had to do it again, I would simply buy the OEM elements from AMX. Unfortunately in my case, by the time I had assembled the covers with the heating elements in summer 2019 there was no factory solution being offered until just a few months ago in 2020… C’est la vie.

One thought on “Bucket-list Project: Custom Recaro Sportster CS seats in the M3.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s