After a few weeks of research, forum perusing, and tinkering I finally fixed the electrical problems with the E90. I believe this all stemmed from the battery. 2 years ago I replaced the battery with a factory equivalent 90ah AGM unit. I forgot to use a coding tool to tell the car it was an AGM battery, and according to some stuff I've read the power output of the two types is slightly different. Without the coding, it can cause subtle voltage spikes to flow through the car's various ECUs. Long story short, through forgetting to code it and harsh winter storage, that battery caused quite the issues, namely frying my front footwell module.
Some symptoms of a failed FRM are: no power windows, no central locking system, headlights permanently on, no interior lights, no 6MT hill assist, no blinkers, amongst a very illuminated dash, and a host of other issues.
To fix it I had to buy a replacement FRM and go scouring the internet for the coding tools. If you didn't know, Bimmergeeks, who used to host the resources was hit with a cease and desist from BMW NA and removed access to things like Inpa, WinKPF, NCSExpert, along with all the sp-daten files for all the different chassis. After days of digging / testing I got my laptop setup and coded a new FRM - surprisingly it all worked like a charm! Aside from the fact the FRM came from an E9X M3 and the previous owner (who I can only imagine has dog shit for brains) had coded it to turn on the high beams when the headlight switch was set to off (position 2) - this literally took me weeks of wire tracing and headaches only to figure out it was coded that way...
Edit: I did also send the original FRM off to an ECU repair shop, but they deemed it "un-salvageable" and could not find the issue.
The steps were:
- Install new FRM module in the footwell
- Flash the car to accept a newer FRM3 from the previous FMR2 module via WinKPF
- Read the VIN/car data from the CAS via NCSExpert
- Write the VIN/car data from the CAS to the new FRM3 module
- Revert some weird settings the previous FRM3 owner had via BimmerCode app
- Clear all faults and verify VIN matches between CAS and FRM via Inpa
Here is the car with a sweet sweet error free dash and fully working!

