-
Content Count
369 -
Joined
-
Last visited
-
Days Won
35
Content Type
Profiles
Forums
Gallery
Calendar
Store
Everything posted by Karter16
-
Well I've made some excellent progress this evening in item 2 on my list. I've located the series of routines that calculate ignition timing and have mostly figured out the routine that retrieves values from the maps I'm interested in understanding. The below is a C-style reasonable-equivalent of the assembly code. In this I've added comments as I've figured bits out and have managed to give my own names to most of the local and global variables involved. The key thing of interest I've uncovered is confirmation that use of the KF_TZ_GRUND, KF_TZ_LL and KF_TZ_VL maps are mutually exclusive based on operating mode. I'm pleased to have confirmed this as there is some ambiguity on the matter depending on where on the internet you look and this greatly aids in my understanding of blending the M3 and CSL maps. Secondly I now have the addresses of where the global variables TMOT, RPM and Relative Fill are stored. Given these are commonly used variables knowing what they are will be useful in further understanding the code. Next is to continue to follow the chain of TZ (ignition) related routines to understand the rest of them. From a quick look the next function appears to overlay adjustments from the MomentManager in response to signals from ASC/DSC.
-
Well I feel like a bit of a muppet but I've figured out the memory reference issue - it's a very simple reason and I should have realised sooner.. The MSS54HP has 2x processors operating in a Master/Slave arrangement. The full binary that I'm ingesting has the individual binaries for the master and slave conjoined together. The issue with this is that both Master and Slave have the parameter space at 0x00008000 - 0x0000ffff. This is then mapped to virtual location 0x00088000. FOR BOTH PROCESSORS. What I was missing was that when loading and disassembling the binary as a whole, the code on both the master and slave were together referencing the same 8000 bytes between 0x00088000 and 0x0008ffff. What made this tricky to spot is that the full binary for the Master is 0x80000 bytes long, so the virtual offset aligned perfectly to the offset of the start of the slave binary plus the 0x8000 physical offset of the slave's parameter space in the binary. It made it appear as though the references to the slave parameter space was just fine. Anyway, the solution is to simply split the binary in two, ingest them both separately into Ghidra and offset the 0x00008000-0x0000ffff memory space to 0x00088000 for both. On and I've also labeled all of the memory locations used by the Internal Register Map which shows me where the code is accessing things like the QADC, CTM4, QSM, TPU, etc. which will further help to identify what various functions are doing. In loosely related news the CSL dipstick tube finally shipped today so I should have it in time for the Christmas break 🙂 Onwards and upwards.
-
Haha, I don't code for a living, but I have coded since I was about 14. I did a BE majoring in Mechatronics (which is marketing for Robotics and Embedded Systems Engineering), and worked in that space for a period of time. So I have a reasonable grasp of embedded systems (which is what DMEs are), assembly language, etc. I would describe myself as someone who has some background in this space, rather than an expert. I certainly don't have any prior experience with disassembly, so am figuring it out as I go (although tbh understanding the concepts and being able to read technical documentation are pretty much all you need anyway). Ghidra as a tool is super-impressive at what it can do and makes a lot of it significantly easier when it comes to identifying patterns, likely function entry and return points, etc. which saves a lot of time.
-
hahahaha such a good show!
-
A couple of things have been playing on the back of my mind while I've been working on CSL tune file. 1: Confirming that the lookup tables are definitely linear interpolated - Given the MC68336/376 has the CPU32 TBL instructions built in it would make sense, but it would be nice to see it with my own eyes. 2: Identifying exactly how some of the ignition/injection maps are utilised in the program. I decided the best way to figure this out would be to do some disassembly of the full (program) binary. After a number of sessions playing around learning Ghidra (and adding the CPU32 instruction set to Ghidra) I've managed to confirm #1. I've found the Curve/Table lookup functions in the program code and confirmed their use for things like interpolating between VANOS table values (Below is a snippet of part of one of the lookup functions). I don't think there was ever really that much doubt that this wouldn't be the case, but it's good to know for sure. Having identified the lookup functions in the code means that I can now use them to look "backwards" to their calling functions and more easily identify where the various tables are used. This leads into #2 on my list which is to identify the functions that use tables like KF_TZ_LL so that I can see exactly how those tables are used and how they influence the final calculated ignition timing (the draft FunktionsRahmen floating around is unfortunately not complete in this regard). The current problem I have is that the data space (which holds the contents of the partial binary) is split into to sections in the memory space. The lower half of the partial (addresses 0x0000-0x7FFF as you would read them in TunerPro) is at offset 0x88000 and the upper half (0x8000 - 0xFFFF) is at 0x8000. Ghidra is linking references to the lower half (so with the offset 0x88000 - 0x8FFFF) just fine, however it is not for the upper half (0x8000 - 0xFFFF). I suspect that this is probably because when BMW compiled the original code the assembler has used relative offsets for accessing the low memory as doing so is more efficient that using calls that are capable of accessing high memory. This makes perfect sense from an efficiency perspective, but makes it difficult when it comes to disassembly. I simply need to spend some more time working through this. Why do all this? Just because it helps reduce the room for error if I better understand exactly how the maps are used. I might also discover something new/useful along the way that might be helpful knowledge for the community. Also my 3 year old was up at 4am and there's only so many things you can do in the middle of the night when the rest of your family is asleep 🙂
-
Haha yeah have had the same conversation on Nam3Forum - my bad, I thought I'd seen someone else do that but clearly not. FYI the Karbonius box needs M6x18. I've ordered some suitable items 🙂 Re the CSL dipstick - yeah I did look into that, but a couple of things made me ultimately go with the CSL dipstick, firstly not everyone seemed completely satisfied with the mounting arrangement for the bent dipstick, and secondly I may well want to revert to stock at some point in the future and would rather my standard M3 one not be bent :-). Appreciate it's going to be a pain though...
-
Some of the bits of hardware I was waiting on for the airbox install arrived today. 07119905016 - original silver bolts that hold the two pieces of the airbox together. The black ones that come with the Karbonius look great, but I'm wanting to replicate the original CSL look with the silver hardware. 07119901780 - original bolts that attach the snorkel to the airbox. The Haimus Racing snorkel comes with silver through-bolts and nuts, plus insertable collars to go in the 3D-printed mounting holes. I'm not sure whether the Haimus Racing airbox doesn't have threaded mounts on the airbox, but anyway the Karbonius does. I did a quick test fit and confirmed that using the Haimus collars with the OE bolts works. 07119902626 - original bolts for the MAP sensor to secondary air rail. As George Hill noted some time ago these are too short to fit on my MAP sensor adapter, but with them in hand I was able to confirm that these are DIN7984 spec bolts, and have ordered some M6x18mm DIN7984 bolts which will fit perfectly. Only item (I think) I'm waiting on now is the CSL dipstick tube. I realised I have a bit of a problem when I went downstairs to find something and couldn't even remember what's in all of the boxes of parts on my shelves. Need the Christmas break to come round so that I can get some of this stuff installed!
-
Well look what arrived yesterday, less than 6 weeks after I ordered it! I saw a few months ago that Karbonius had made another mold for the CSL replica airbox to speed up production and certainly would seem to have helped! Can't really say anything about this piece that hasn't already been said. It's spectacularly good. The memory of the cost simply melts away when you hold it in your hand and look at it. I'm still waiting on the CSL dipstick tube plus a few minor pieces of hardware, but hopeful of having everything by the time the Christmas break rolls around! In the meantime all these parts continue to clutter up my spare room!
-
yeah from memory I think I had to drill it out slightly, but aside from that was straight forward.
-
This weekend I spent a bit of time finishing up the first cut of my CSL clone tune. Essentially I'm making my own clone along the lines of the approach Bryson has taken with his Mullet Tune, but doing it myself for the entertainment/learning value. All credit to Bryson for pioneering this approach, I'm basically just building my own version of what he's already done. If you haven't read up already I highly recommend following along in his journal. When I do the swap, I'm going to do it in two stages. Stage 1: Flash the car with the base CSL tune. This will give me a baseline datum point and is a known configuration to start with and ensure that the install has been successful. Stage 2: Flash the car with V1 of my customised tune. This is a starting-point tune which blends Ignition, Injection and VANOS tables from my current Euro M3 tune with the CSL tune. The hope is that this will be an improvement on the base CSL tune and a starting point for iterative fine tuning. (I'm getting in to a bit of detail now, so those who know more about this than me will be able to point out my mistakes :-)) Scope For a vehicle with MSS54HP DME (not modified for flap) Vehicle is running a Euro tune Vehicle has a CSL airbox conversion using a MAP sensor (OE 1.0 Bar so no conversion factor required) Vehicle is MSS54HP so does not require IAT conversion factor For Stage 1 I'm starting with Terra's 0401 PD31 Full binary. This binary is a modified version of the 0401 full binary with support for the non-CSL boot loader, error codes, etc. I'll be loading this full binary at the time that I do the install. I'll then be flashing the CSL tune (partial binary) as well. There are a number of changes to be made to the original 0401 PD31 partial. Change 0xE002 from 00 to 01 to make the partial work with Terra’s modified full binary (support for the non-CSL boot loader) Enable Alternator light over canbus Set non-CSL cam offsets Set CSL intake flap control to always be open Disable DTC 124 (CSL flap) I used TunerPro to make the above changes to the partial, and now have this saved ready to go when I do the airbox install. For Stage 2 I then took the partial I'd just generated and then added the modified ignition, injection and VANOS maps that I'd prepared. The preparation of these maps were of course the bulk of the work. The merging of the maps is an interesting maths challenge. For this first version I took the following approach: 1: Take the standard M3 and CSL tables and interpolate both tables to allow for direct comparison. 2: Compare the difference between the tables (allowing for any conversion adjustments between the two) 3: I then manually applied a mask to blend the 2 tables together into the output table. 4: We then finish up with a nice optimisation problem. Finding the x-axis points that best describe the table as a whole and thus minimising the error. The M3 tune tables tend to have more x-axis points in the lower half of the RPM range and the CSL tune tends to have more in the upper half. This of course means that you can't just use all of the x-axis points from both maps. Ideally I would dust off my very rusty Matlab skills and write something to do it, however for now I simply added some calculations in the sheet to identify absolute change, rate of change, inflection points, etc. and then rank them by importance, this made it fairly straightforward to more manually identify the most important x-axis values to bring across. The VANOS maps in particular are quite fascinating. There is a very significant difference in the lower RPM range between the M3 Euro and CSL tunes (example of the difference in the exhaust maps below). It's easy to see why cars with standard cams struggle so much in the lower RPM ranges with the CSL map. Methodically working through these maps took me a reasonable amount of time (although to be honest a lot of that was diving into researching various topics to help make sure I understood correctly. The end result was updates to the following maps: KF_TI_N_RF_VL: Fuel Injection Full Throttle KF_TZ_VL: Ignition Full Throttle KF_TZ_GRUND: Ignition Ground KF_TZ_MIN: Ignition Minimum KF_TZ_LL: Ignition Idle KF_EVAN1_SOLL: Intake Target KF_EVAN1_SOLL_KATH: Intake Target Cold KF_EVAN1_SOLL_DMAX: Intake Target Max Deviation KF_AVAN1_SOLL: Exhaust Target KF_AVAN1_SOLL_KATH: Exhaust Target Cold KF_TZ_MIN and KF_TZ_LL are the ones that concern me most. For both I've erred on the side of taking the values from the CSL map, as for KF_TZ_MIN at least they appear to be more conservative. and for KF_TZ_LL it is different enough that I can't be sure there aren't changes in the 0401 program that interpret this map differently. I'll find out I guess when I get the tune running. It's worth noting that once I have the tune up and running I'll also be doing the VE map tuning process described here. Oh and the Haimus Racing snorkel arrived today. Well packaged and in a lovely soft bag. It seems to be a fairly nice piece. You can certainly see it's 3D printed when you look at it closely, and there is evidence of printing errors in places. The exterior has been post-processed to a fairly nice finish, and unless you look closely it looks good. It also feels nice and light for its size, but seems sturdy. All in all I'm ambivalent about it given the price (especially with shipping to NZ) (that said I haven't actually looked into how much it would cost to get one printed from CAD file), but it will look pretty nice in the engine bay I think once all is done.
-
@Vass here’s a photo I took just before - unfortunately the camera captured the red quite saturated so not sure if it’s very helpful, but this is what they are currently like. Will try to remember to report back on this in another 6 months or so.
-
Haha - well currently they look like they've recently had plastic trim protectant applied 😂 so they look great. Yeah I definitely wouldn't suggest repeatedly doing this trick as you'll destroy the plastic. I chose to do it once to "restore" the plastic and am regularly treating with protectant to prolong it as long as possible. Worth noting that I left it untreated for about a month or so to give plenty of time for the plastic to harden up as much as it was going to before putting any protectant on it. Since then they've looked great, but it hasn't really been very long. I'm very happy I did it because it looks massively better than it did before, and in the absence of any other realistic solution the alternative to more permanently fix it remains buying new ones.
-
Yeah quite possibly - there's no visible evidence through the seam sealer (which there wouldn't be unless there was bad damage) but agree that popped welds could well be hiding underneath the seam sealer.
-
This weekend I made a start on preparation for installing the 6 point rear brace. The plan is to get as much pre-work done as possible so that the process of dropping the subframe and bolting through can be as straightforward as possible. I got this done in a few hours here and there across Saturday and Sunday in between adventures with Mr 7, Mr 3 and Mrs Karter16. First up is to remove the interior: I need to get the isopropyl alcohol out and clean up the rear seat and prep it for repainting some rust spots, but I won't do that until the heavier prep-work is done. Before I got started with drilling I wanted to place the brace in the car just to see, with my own eyes, the placement of the mounting points etc. I had all the measurements from Marin at Yurkan Cages, but figured seeing it with my own eyes would help avoid any mistakes. I wanted to make sure though that I didn't damage the paint on the brace, so spent some time first taping up all of the contact surfaces: I carefully dropped the brace into place (obviously sitting higher than it will eventually with the floor sheet metal in the way. But this meant I could sight the approximate locations and reassure myself about the approach. Note: You don't see it in the photos because I removed some of it to get better lighting for photographs, but I was very careful to ensure that interior surfaces were covered and protected when drilling, cutting, sanding, etc. It's really worth taking the time to protect everything well. First up to prepare for cutting the top layer of sheet metal is removing the two little brackets that sit atop the locations where the front mounts will go. The diameter of the hole for the spot weld is about 6mm, and I found a 7mm bit was necessary to drill out the weld entirely. Note that the brackets are stuck on as well (presumable to hold them in place before being spot welded). I needed to carefully encourage them to lift off with a flathead screwdriver (which I taped with masking tape to protect the metal surfaces). With these out of the way I then moved on to cutting the holes for the rear two mounts. I carefully measured and remeasured several times to make sure I was in exactly the right spot. I used a centre punch (always use a centre punch) to mark the point and then drilled out with a 3mm bit. I had some old, unused, BMW M TwinPower Turbo 10W60 which I used for lubricating on the drill bits and hole saw (only ever 10W60 for my car 😂). Note: With things like this it's worth taking the time to clean your drill bits after each cut, that way they're clean for the next cut and aren't flinging more mess around than necessary. I then drilled out to 6mm before making the final cut with the 44mm hole saw. You can see in this photo that there was some overspill from when the BMW RACP "foam" resin procedure was done. I've only just realised I didn't take a photo, but the way I cleaned this up was to carefully down down as far as I dared with the hole saw (not wanting to damage the next layer of sheet metal) and then use a chisel to very careful chip away at the resin bit by bit. By carefully doing this I was able to completely clear it from the vicinity of the hole without causing any damage to anything else. Side note: calling this stuff "foam" does a disservice to people's understanding of it. The stuff is much better described a plastic-like resin - It's absolutely solid stuff. I then did the other side (the resin had only just domed up from underneath so didn't need to clean it up like on the left hand side. Pretty soon I had the rear points taken care of: \ Then it was on to the front points, which are certainly the harder pair to do. I realised, as I went to write this, that I didn't take any photos of this in progress, probably because I was cramped in the back of the car and carefully concentrating on what I was doing. Essentially though it's a case of carefully measuring in from the sides and then siting the pilot hole in the right place. In order to do this correctly I used a flat edge on the top of the RACP and measured out and down to find the bottom edge of the pocket. I then split the distance in two horizontally and dropped down to get the centre point at which to drill the pilot hole. I then drilled this out to 6mm and "verticalized" it to guide the hole saw. I then cut down vertically from the top using the hole saw, and then cut out the bottom of the pocket with a cutting disk on the Dremel (highly recommend having/getting a Dremel if you're taking this job on). Working carefully resulted in this (wife's beauty product as a conveniently sized stand in for 40mm tube steel): After some careful work on both sides (including removing burrs with the sanding attachment on the Dremel) I then took the time to use a magnet to remove all trace of the cutting, including from inside the cavities. Handy tip - if you use a medical disposable rubber glove as a cover for your magnet it makes cleaning up easy. Each time the magnet is "full" just invert the finger of the glove and move on to the next finger, after 5 goes throw the glove away and grab the next one. The front now looked like this: I then dropped the brace back in to check the fit. Fitted into place first time! (obviously still sitting higher as it's resting on top of the rear shock mount nuts). Having reached this point and confirming the fit I then took the brace back out and cleaned up the cuts and area around them (inside and out) with isopropyl alcohol, before applying a coat of kill rust undercoat to the exposed edges of the cuts. I have an enamel top coat in the same colour as the e-coat BMW used which I will apply as well, but only after confirming the fit once the new extended subframe bolts are in and I can check the fitment exactly. Until then the undercoat will protect the edges from rust. I'm glad that I decided to tackle this part of the project separately, as it took a number of hours to do and means the top side is ready to go when we drop the subframe. Oh, and in an entirely expected and predictable turn of events, the top side of the front right RACP mount has cracks in it. I'm unsurprised given the cracks that we welded on the bottom side when Dad and I did the reinforcement plates. We'll stop drill the cracks and weld prior to dropping the subframe. I wish it hadn't been quite so long between doing the plates and getting to the top side, but such have been the realities of dealing with medical kids. On the plus side the car has done very few km's since the plates were done!
-
Yes installing new parts is extremely satisfying. Such a pleasant experience compared to cleaning up old dirty parts!
-
My son and I spent some time this morning removing the rear bumper and having a look at why it sits so badly and with a view to affixing the replacement speed clip brackets to the kevlar support. Unfortunately the reason is a little more serious than I was expecting. The rear bumper had been replaced prior to my ownership due to a collision (something I was aware of when I bought the car). I suspected that the reason that the bumper didn't sit well was because it wasn't installed properly. This was indeed the case, with the foam screws missing, etc. and the lower brackets of the rear bumper cut up, presumably to make the diffuser fit. I was expecting to have to get these items sorted and plastic weld the bumper, but I wasn't prepared for the fact that the kevlar support is damaged (in hindsight I should have realised it likely would be). The kevlar support has several folds/tears toward the centre of the piece which has broken the resin. This in turn appears to have allowed, over time, moisture to absorb into the kevlar weave. As a result the support appears to be beyond practical repair. Also as an integral part of the collision system I'm keen not to skimp on it. The red outline in the photo below shows the affected section. In the meantime we have reinstalled the bumper as-is, while I source a new kevlar support and a couple of other bits and pieces. Oh, and it's time to replace the exhaust hangers again... Aren't old cars just the best!
-
Gave the car a quick wash this afternoon and was finally able to put the door trim back on the driver door. I took the trim off several months ago to adjust the drivers door window, but the rubber grommets on the clips were too hard and brittle to be able to use again, so had to wait for replacements from Schmiedmann (I ordered a significant amount for the future). Anyway, here the trim is with new clips ready to go back on. And reinstalled.
-
Got a chance this morning to quickly sort out and consolidate the various parts that have arrived over the last 6 weeks. I now have most of what I need to commence on the 6 point RSM/RACP brace install. I still have a few bits and pieces to get: Replacement diff fluid LH side tray to go with the non-CD changer trunk lining End caps for the 2x exposed tube ends on the brace Rubber seals/grommets for where the brace goes through the top layer of sheet metal to the rear RACP threaded sections I'm looking forward to getting the new rear diff cover on and enjoying the new bushes. I'm curious to see if/what difference it makes. Not pictured below is the brace and the LH side trunk lining. I also now have in hand most of the OE items that I need for the airbox install. I'm still waiting on the CSL dipstick tube (that's currently slated to arrive sometime in November), and I have a few more bits and pieces to get for the wiring side of things, but most of the key bits are now in. I also ordered the airbox itself yesterday from Karbonius. With their standard 12 week lead time the theory is that it should arrive around Christmas or so, which will then mean I can play round with it over my (southern hemisphere) summer break. There'll be some downtime while I work through the install, get the wiring install just how I want it, iterate on the one piece SMG expansion tank bracket, etc. so summer break will be the perfect time for that. I'll also be working on my own M3/CSL hybrid tune (basically doing a worse job of the amazing work that Bry5on (over on NAM3Forum) is doing). This is probably the part I'm most excited about to be honest - as someone who studied as an embedded systems engineer (and now spends their days as an IT consultant) it's great fun getting into the weeds of the DME. The one thing for the install that I haven't 100% committed on is the snorkel. I'm 85% sure I'll go with the Haimus resin snorkel, but keep holding off actually ordering it. I like the idea of the OE snorkel, but given my approach of keeping everything reversible/as unadulterated as possible, I'm not super keen on having to add the H-Bridge and associated componentry to the DME, plus the significant additional expense for something that I'm not confident would make that much difference to the end result. I love the OE snorkel look (flat black contrasts well with the CF intake) and for this reason am not a fan of the Karbonius snorkel (if I went this route I'd want to paint it black and that's just silly). The Haimus snorkel seems to be the closest to the OE look, without the added complexity and cost of running a functioning flap. Maybe I'll convince myself that the flap is purely for noise control (even though I know it isn't really), and that therefore a simple snorkel with no flap is what BMW would have done in an alternate universe anyway. Anyway - shaping up for some fun projects to work on in a few months!
-
Well I haven't had many updates the last couple of months - it's mostly been a case of hurry up and wait on parts deliveries, I've now received most of the parts I ordered back in June both for the rear shock mount brace install, as well as the OE parts needed for the CSL airbox install (just waiting on the factory to do a run of CSL dipstick tubes). A few weeks ago I also ordered a set of A/B/C pillar trims. I had been planning to go down the route of covering with BM-3109, but then discovered that the plastic mounting points on my current trims are damaged, and that I was therefore going to have to fork out for a new set. I ordered those a few weeks ago and looks as though they should arrive at the end of the year or so. Last Friday I also dropped off the RSM brace to Arkro Powercoating (excellent - highly recommend) in Porana Rd , and yesterday it was ready to be picked up. I opted for matte black, as it matches the OE powder coat finish on items like the front strut bar, etc. My goal with this install is to make it look as OE as possible.
-
Yep that yellow is spot on - looks awesome!
-
Another piece of the RSM/RACP brace puzzle arrived today. As part of doing the brace the rear trim and carpet needs to be cut for the brace. I'd rather not cut up my original pieces so am sourcing spares. This one though I had to buy new as finding one in New Zealand was too much of a struggle. The left hand side trim that came with my car includes the larger space for the CD stacker, etc. Given I've removed the stacker and am just running the hi-fi amp I wanted to get the left hand trim to go with it so that I have more boot space (plus it will be an easier cut for the brace. I was fortunate to find one on eBay at a very reasonable price with $39 international shipping (which was about $250 cheaper than shipping via Schmiedmann or the like) so I jumped on it, and it arrived today. Also apologies to anyone who is upset by me planning to cut up a brand new item. It upsets me too 🙃 BNIB
-
I would think the result would be the same with a heat gun. I would caution that for this particular use case you'd want a pretty fine nozzle on the heat gun so that you don't end up blasting everything with too much heat. The little flame jet I used was nice in that it was a small, controlled area.
-
I took a small, and carefully controlled amount of flame to the buttons on the front seat belt latches today. First up - please note that this process works to remove white oxidation and restore the red colour, but it will not work if the surface of the plastic has degraded too far. do not do this if you have any breakdown of the surface of the button. To begin with I carefully cleaned the surface of the button. If you're going to heat up the surface of the plastic you do NOT want any dirt, skin oils, grime, etc. to be on the button. To ensure that I cleaned this well I used a small piece of magic eraser (note that magic eraser is abrasive and wouldn't normally be recommended on car surfaces, however in this case because we're effectively resurfacing the button the slight abrasion doesn't matter and helps make sure that all the dirt is removed). For the cleaning step I used the magic eraser with warm water with dish soap in it and gave the button a good scrub (be careful to not let water get down into the latch), making sure I worked carefully around the raised "PRESS" letters. I then rinsed off the remaining soap with several rounds of clean water, before carefully drying the button with paper towel. I then left it a few minutes to ensure all moisture on the surface of the button had evaporated. Next step is to carefully use aluminium foil to shield the rest of the latch. I was very careful to make sure that the foil wasn't touching the button surface as we don't want to be accidentally bonding things to other things that they shouldn't be. I then used a towel to shield the wider area. This resulted in something that looked like this: The next step is to apply the fire. Firstly, ensure that you take all normal precautions around the use of fire. Secondly, make sure that your fire is clean burning. I used one of these because no matter how long I had a go at a piece of tin foil I could not get it to leave any carbon residue. If your preferred fire source leaves any carbon residue (black soot) at all, do not use it. I did not take photos of applying the fire. My advice is to go slow and carefully get closer with the flame jet until you see the surface change. I made sure to keep the jet moving the entire time and I took several breaks to ensure that I didn't get any part of the surface too hot. You do not want to end up applying too much heat in one place for too long and causing bubbling or smoking, you want just enough for as short a time as possible to get the surface to glass up. By being careful and going slow I was able to get a perfect result with no mistakes, it's a straightforward process so long as you carefully prepare and take your time. Hopefully it goes without saying to not touch the button or the foil for some minutes until the plastic has cooled. I'm very happy with the end result: And the passenger side: I don't need to do the rear seats as they already look perfect, so this job is done!
-
Time for an update on the CAD projects. CAD Project 1: SMG Expansion Tank bracket I now have a reproduction of the OE bracket that the tank slots into. This is a simplified bracket that doesn't have mounting holes, or the stand off that the original does. That's because I will be mating this to the other part of the bracket that I'm working on. Anyway I'm happy to have this part done. I won't be able to mate the two parts of the bracket together and finalise the part until I actually have the intake in hand so I can ensure everything fits perfectly. So this project will go on ice until then. CAD Project 2: Adapter for Bosch *101 MAP sensor And excitingly the adapter for the Bosch 101 MAP sensor is now done! I have a final print in CF-PETG which I will now clean up and bond to the sensor. Key differences from the last prototype I showed are: - Return to 1.5mm stand-off. in the CF-PETG 1.5mm is more than strong enough and this allows a bit more of the nose of the sensor to fit into the rail. - Ever so slightly widened body for better fitment. - Slight changes to some of the fillets to match the sensor. And here's some photos of it bolted to the rail (note that it is not bonded to the sensor in these photos). The bolt hardware is temporary just for demonstrating fitment. I'll be using Loctite 401 to bond the bracket to the sensor. The sensor itself is PBT which can be a bit tricky to bond, however my research suggests that Loctite 401 should be suitable to bond PBT and PETG together (and be heat resistant enough for the application). I'll post the end result when I have it all sorted.
-
Sourcing parts in general to NZ is a lot of effort. I would estimate that when I'm buying parts I spend about 4 times longer working out the cheapest combination of parts + shipping + GST + import duties than I do actually researching what parts I need to buy. It results in some seemingly non-sensical combinations. E.g. when ordering parts for CSL intake recently it was cheaper to order the CSL dipstick tube by itself from Turner, than it was to include in the rest of my package coming from Schmiedmann.