Leaderboard
Popular Content
Showing content with the highest reputation on 03/12/23 in Posts
-
3 pointsI will not learn... New maf sensors, new turbo actuator. Same errors. Check fuse. Replace fuse. Errors gone. 😠🤨
-
2 pointsGot the wiring all sorted now and there is no more dummy data going to the screen ... just have to sort out the vacuum sensor I have on the crank case as its readings are bogus. Used 1500 ohm resistors to make voltage dividers for the two temperature sensors. This selection is based on wanting a fairly linear relationship (resistance to temperature) around the 90 degree mark. The pressure / vacuum sensors all output a voltage which I can happily read with the Arduino so no issues there. I took the standard sensor wiring that was previously going to the gauges and added a separate 5V supply so things are more self contained where the wiring terminates and to reduce the load on the Arduino itself. Working on the screen mounting also and it should work fairly well. Need to order some slim line right angle HDMI and USB cables from Amazon to make it functional. Will 3D print some end caps so the screen has a flush look once finally installed. The update frequency is a little sluggish (maybe 2 or 3 Hz ?) due to the Raspberry Pi not having enough juice to drive the Grafana dashboard in the browser. I will likely look to switch to something with more spice like the Orange Pi 5 which should be multiple times faster. Also still have to integrate the screens touch capability so I can switch between multiple dash views. Maybe throw a backup camera in the mix ? Who knows ...
-
1 pointHi all, I'm just toying with the idea of selling my 335i and was wanting some input on what it is worth. Any input on a ball park figure would be much appreciated as I don't know, thanks! Short history, took the car for some fun to Hampton downs, spun a rod bearing, crank could not be saved so I put a built bottom end with brand new crank at 158k kms in early 2018. Some of the mods below, along with the usual things, coils, plugs, water pump etc. 2009 e92 N54 with 203k kms DCT 7 speed Bilstein B8 shocks and Eibach springs JE 9.5CR Forged Pistons @ 158k kms FCP Engineering Forged Rods @ 158k kms New Crank @ 158k kms King main and rod bearings @ 158k kms 5" intercooler 17t turbos and Wedge tune @ 173k kms (July 2020) 500+ hp Walbro 400 LPF New HPFP @ 182k kms (March 2021) M3 front control arms 184k kms (April 2021) Cheers!
-
1 pointOn the hunt for the wiring loom that connects ambient temp sensor to OBC. It runs from front left brake air duct to under the glove box. Part number - 6121386981 looks like this..
-
1 pointAssuming your trademe name is similar to on here, Boxtser looks like a great buy at that sort of money, would be tempting if I had the garage space just to put away for sunny days.
-
1 point
-
1 pointReplaced the driver door lock actuator today. Been meaning to get around to this one for a while. Bit the bullet and glad to did it the old was one pretty worn. gettingit out and the new one in was extra challenging due to it being the drivers door and you need to fondle the lock barrel sprig into place in re entry as well as the tight Bowden cable for the door handle. Patience and breathing and it only took about an hour. Lol. discovered along the way I don’t need to retro grade my facelift door handle cables to fit the e38 illuminated interior handles despite what various sources say. Must be a difference for Japanese models? hopefully I can return the parts I bought for a credit or refund from Coombes.
-
1 pointGot all of the data on screen now, just with fake readings for the soon to be converted gauge sensors. Got to get a bit of wire and related items to get the sensors supplied with 5V and then plumbed in to the Arduino. Have the console apart again to start looking at the screen mounting also.
-
1 pointMade quite a bit of progress this weekend and now have the first 'polled' metrics displaying nicely. These are things that are not broadcast on the CAN network as they are not needed to be consumed by other modules in the car. Examples are oil temp, gas pedal position, air fuel ratios, intake air temp and injector duration. All of these thing in my case are coming from the Nissan ECM but there is no reason you can't do the same for the BMW or any other car for that matter. Have also tweaked some visuals on the temp graphs to display blue when 'too cold' then green for normal and red when cooked. Plenty of easy mucking about left to do here when frustrated with the harder work. For those curious, the rough process of reverse engineering has been: Set up some light weight Arduino code to listen on the Nissan CAN bus and setup basic filtration to NOT show messages destined to known ID's (the things broadcast under normal conditions like coolant temp). For me these are ID's 0x160, 0x180, 0x1f9, 0x182, 0x580, 0x551 and 0x6e2. Connect the ELM32 Bluetooth adapter to the diagnostic (OBD) port which I know works with the Android software on my phone which talks Nissan Consult 3 protocol ... no easy suite of OBD2 for me unfortunately. Go about connecting via the Android application to the dongle and ECM whilst 'sniffing' the CAN network via the Arduino. Turns out there are commands that need to be sent before you can query the parameters successfully, annoying. Go about logging data for a specific metric one at a time if possible via a custom 'dashboard' in the Android app. For example I setup a dash with ONLY the gas pedal position ... in the Arduino serial debug I can see the CAN messages that are being sent by the Android app as well as the reply from the ECM. Make note of the request payload and all of the responses plus what real world value they correspond with. For example to get the gas pedal position I know the request is sent to the ECM diagnostic ID of 0x7DF and the payload is {0x03, 0x22, 0x12, 0x0D, 0x00, 0x00, 0x00, 0x00}. For this Nissan generation the ECM replies to ID 0x7E8 with the requested info. An example of the data recorded which allows a formula to be worked out is as below ... you will see the actual values are represented in the bytes that change ... for this metric its bytes 4 and 5 (starting at 0, from the left): 0.67v is represented by {0x05,0x62,0x12,0x0D,0x00,0x86,0x00,0x00} 1.05v is represented by {0x05,0x62,0x12,0x0D,0x00,0xD2,0x00,0x00} 1.50v is represented by {0x05,0x62,0x12,0x0D,0x01,0x2C,0x00,0x00} 2.23v is represented by {0x05,0x62,0x12,0x0D,0x01,0xBE,0x00,0x00} 2.81v is represented by {0x05,0x62,0x12,0x0D,0x02,0x32,0x00,0x00} 3.06v is represented by {0x05,0x62,0x12,0x0D,0x02,0x63,0x00,0x00} 3.70v is represented by {0x05,0x62,0x12,0x0D,0x02,0xE3,0x00,0x00} 4.03v is represented by {0x05,0x62,0x12,0x0D,0x03,0x26,0x00,0x00} 4.26v is represented by {0x05,0x62,0x12,0x0D,0x03,0x54,0x00,0x00} 4.42v is represented by {0x05,0x62,0x12,0x0D,0x03,0x75,0x00,0x00} 4.82v is represented by {0x05,0x62,0x12,0x0D,0x03,0xC3,0x00,0x00} So from there you can try and work out how its representing the 'real' value in the data. This is quite the ball ache to be fair !! I used Chat GPT like any good geek to try and avoid fully understanding what I am doing and it got fairly close. In the end the learning from trying to get Chat GPT to do it allowed me to manually muck around with the data and come up with the formula. Good job if you are still reading I won't keep you in suspense any longer, the calculation is (the cool shades guy is an 8 then a right bracket hah): int raw_value = (buf[4] << 😎 | buf[5]; float voltage = raw_value / 200.0; If we take our value of 4.26v buf[4] is 0x03 and buf[5] is 0x54 this would be effectively concatenating the hex values to get 0x0354 (in hex) which is 852 in decimal ... 852 / 200 = 4.26 ta daaaaaaaaa !! Anyhooooo some pictures are below and my source code can be had at the link below also ... its starting to get pretty wild, needs a big refactor at some stage !! https://github.com/david-morton/BMW_E46_Gauge_Cluster_Control
-
1 pointGot a great condition console (shout out to @Dogballs !!) to mount the screen in when the time is right. Good progress also after the ethernet shield arrived. Got things all connected and real data is now populating on the screen ... had some teething issues which have all been resolved now. Not sure if folks are interested in the technical aspects or just keen to see pretty pictures ? Let me know if there is interest else i'll just keep a high level speel going. Next up will be back to trying to request the more interesting data from the ECM which is not streamed by default. On to the pics ... Raspberry Pi mounted to the back of the screen with HDMI jumper installed (comes with screen). Arduino and 3x shields now plus power distribution to the side. Getting things up and running USB power adapters for screen and Pi