Here’s a quick writeup on how to make a “9005 to 2-wire solenoid” adapter, for connecting bi-xenon projector (e.g. AL aka “E46”) actuators to the high beam circuit inside the headlight housing of your P1 Volvo without permanent modifications (i.e. cutting wires). This assumes that you have the pigtail for the projector – if not, you’ll need to get that, too.
If you have 3 wires coming from your projector pigtail, and/or 3 wires running from the green circuit board to the coil, the connections are more complicated and you will need to get a 3-pin controller or use the BMW OE ballast.
The 2-wire solenoid is connected in parallel with the high-beam bulb, so we need a connection to both wires, and the easiest way to do this is using a 9005 (aka HB3) extension. I used the iJDMToy adapter which has a ceramic output connector (probably intended for “hyper” watt cut-coil bulbs) and seems to be acceptable quality. The black loom was not split, so I had to cut it off.
Cut the extension, preferably as far away from the output (bulb side) as possible while leaving enough wire to work with on the input side. Strip off 1/4″ (6-7mm) of insulation from the projector and the extension wires. If possible, try to find some high-quality butt-connectors (e.g. 3M) that have glue-lined heat-shrink (or use uninsulated ones and add your own shrink). The glue acts a stress relief which is important in automotive applications to stop vibration stress at the crimp point.
I like to light crimp the easy side (close to the end of the barrel) before doing the tricker 2-wire connections. Once you’ve got the output side lightly crimped, twist the positive (pin 2, red or yellow wire) and the negative (pin 1, black, brown, or green wire) to the respective wire on the input side (male) connector and finish the crimp.
Once everything is nice and tight (check by pulling hard on the wires) use a torch or heat gun to shrink and seal them.
You can reuse the loom for a nicer look, not really necessary though..
And that’s it!
Interestingly, I haven’t found many places you can buy these pre-made…
The solenoid connector (female) is TE AMP 9-1718346-1 (replaces 968705-1), though 2-1718346-1 will work if you trim a small tab, and takes MQS pins, e.g. 20-18AWG tin is 965906-1, 23-20AWG tin is 962885-1
Started packing. Each order gets a whole bunch of stuff that needs to be put together…
By 3PM I had the pre-orders packed and off to the post office. Not sure if they will get processed today or tomorrow, but they are in the mail! Finished the Batch1 orders when I got home and will take them in to the regional hub tomorrow.
Then I took a nap. And then wrote this post. Mic drop.
PS. There are only two lonely SKBOWE kits left that are in need of a good home… Can anyone take them in?
Before I do the final connector termination I wanted to get together an install guide, and might as well practice what I preach, so my car it is. It took me 15 minutes to install the SKBOWE pair while taking pictures and figuring it out for the first time.
Ironically it took about 30 minutes to get the original pre-KBOWE out. I forgot how big of a PITA it was to get that thing installed.
Just for the record, it still works fine – 8 years later (2009-2017) – still under 1V pk-pk at driving 50W at 50%PWM. Anyway, out with the old, in with the new!
Step 1: Pull the pin
JKJK if you can’t figure out how to get your headlights out of a P1 car please return your SKBOWE .
Real Step 1: Mount SKBOWE
The recommended quick-install mounting location is behind the OEM GDL (gas discharge lamp) control module cutout, directly behind the headlight housing. The best way would be to drill two holes in the upper member and secure the SKBOWE with stainless screws like my ballasts are:
But I know 99% of you won’t do that (and it’s hot outside), so for demonstration purposes here’s how one might secure them with zip-ties (included) in about 30 seconds.
Fits like a glove! Alternately, depending on how your ballast is mounted you could shove them in the gap between the quarter panel and wheel well, and secure it with a single zip tie or industrial strength velcro (not included)
Step 2: Ground SKBOWE
The recommended grounding location is the M8x1.25 quarter-panel mounting bolt at the top of the headlight housing opening. This was painted with the car so you will need to clean it up.
This is the most important step in the install process – the grounding is what protects your WMM.
You should really use a Dremel Tool with a burr or sanding disk, but I will include a small piece of sand paper in the kit for those who don’t have them. Using the sand paper will take a long time (spend 5 minutes per side)! THE METAL HAS TO BE SHINY.
Once the bolt is clean, route the ground strap up and around to come in from behind.
I will include two M8-1.25 stainless nuts with each kit. Tighten the hell out of this nut.
Step 3: Install the Ballast
Make sure to mount the ballast such that the connector(s) won’t collect water:
9005/9006 connectors from Headlight -> SKBOWE -> Ballast. It only hooks up one way.
Do check to make sure the red goes to red (or +), black to black (or -), 99% of manufactures use the same configuration (as does the SKBOWE) but it never hurts to check.
Here’s a diagram if you are having trouble with my blurry iPhone pics
If you want to get fancy and have the Morimoto ballasts, the “Nick-style” setup which eliminates the need for a grommet is shown below. This is exactly how the original BMW E46 Gen1 headlight assemblies were wired, with both the ignitor input and 12V output passing through the housing.
Note that this only works for ballasts with detachable ignitors, since there is only 85VAC or so in the blue/green wires. Don’t even think about running the HV (20kV) next to battery voltage!
Start out testing by activating the headlights with the engine off just to make sure everything is hooked up right.
If that works, button her up, do a quick FOD check, fire her up and go for a spin! Enjoy your beautiful error-free headlights.
Epoxy Encapsulation (potting) serves to waterproof the SKBOWEs, insulate them from vibration, prevent corrosion, and conduct heat away from the components to the enclosure. It’s the messiest and trickiest part of the build process, as there is no turning back once you’ve mixed a batch of compound – and it’s $260/gallon.
Long day of work (8AM – 7PM) but Batch 1 is nearly complete! Enjoy the pics…
Last night, I was able to get all the resistors and the flyback diodes (R1 and D3) installed and leads trimmed. I also got the wires soldered on, and ended with this lovely ball.
This AM I got the primary wires trimmed, and capacitors stuffed, soldered, and trimmed… This is a lot of capacitors – 2,132,000uF aka 2.132 Farads to be precise.
Next came the diodes. As I had suspected laying out the new PCB, and confirmed when building #002, the heat sink (anode) of D2 does overlap the leads of D1. This shouldn’t be an issue if it’s assembled properly, but once the potting goes it it’s impossible to verify or adjust so I added some UHMWPE tape over the leads of D1 just to be safe.
By 3PM everything was soldered, trimmed, and ready to go. I have a lot of respect for the poor souls at Foxcon who do this all day, every day, with much smaller components. Wow.
Next I cut the wire pen into the enclosures. Took a little extra time to jig it up but it was well worth it.
Finally, and this was the most physically exhausting part, assembling the PCB assembly, heatsink, and insulator into the enclosure. But 2 hours later, sweet victory:
Also jigged up a workstation for potting so spills are easier to contain. Just a piece of plywood with the right shape cut out.
As much as I want to jump in to the potting, I’m mentally wiped and will almost certainly make a mistake. Better to wait till tomorrow.
The 11 hours I was working today I left SKBOWE #002 running on the testbench, powering Morimoto XB55 at worst case DRL duty cycle (50%). The temp never broke 90°F (ambient +20°) anywhere on the enclosure. That’s really cool (excuse the pun), especially compared to the only other error eliminator that seems to (barely) work on 82Hz PWM, which had a +80°F rise after an hour at 80% duty. For comparison, the XB55 was hanging around 140°F
After much ado, the production PCBs are here! Worked like crazy today to get everything ready for cranking up production this weekend.
And unit #002 put together for testing
Also made some heatsinks – enough for 50 pairs. Didn’t take as long as I thought it would, once I got the system figured out.
Also decided to go for cutting the wire, since I was on a kick. Each zip tie holds the wires for 5 pairs. The in/out wires will be soldered to the boards as loops, then cut to length and terminated after encapsulation to protect the ends. Here’s 50 pairs-worth of wire cut out:
Tried out the potting system, worked pretty well, but there will be a learning curve. Lots of wasted goop on the first try. Vacuum system worked well though.
So here we go, the first official pair off the line… Drumroll please:
Don’t worry, the real ones will be prettier! I mixed up the wire lengths on the first one, and then crimped the connectors backwards (out-in and vise versa) so had to cut off the connectors and ended up with short stubs. These will most likely be destructively tested.
Emboldened by this success I decided to just jump in and bang out the remaining 25 or so units left to build for the preorders and batch 1.
An easy way to speed up production is to split a complex process into small steps and do all of the same step at the same time, probably as a combination of deveohpling muscle memory as well as reducing the number of different tools required. Downside is, should you make a mistake, it is likely to be repeated many times. After going through all steps serially with unit #002, and stuffing #003, I decided to do the next 5 in parallel.
Only 4 pairs fit in my vice at a time, but by the time these were finished I found it faster to skip the vice all together except for soldering the wires, where they have to go in one at a time anyway.
Crimped connectors on #003A to check the process, and it tested good, so off to do the rest at once.
Hopefully be done with assembly today and can focus on potting this week. I just hope I can pot each one in less than the 2 hours it took me to do the first one (above).
I thought it might be useful to determine when exactly the Volvo P1 CEM decides that a bulb has failed, and what the behavior is at that threshold. As it turns out, the threshold is 2.0A, or about 25W, meaning a 5.0Ω resistor for an error-free relay harness.
To work this out, I needed a way to try many different wattage bulbs, or better yet, a change variable wattage – also known as a dummy load. I had an 15o ohm 50W Soviet-surplus rheostat and some 3.9 ohm 75W wire wound resistors (full parts list below), so it didn’t take too much to throw a quick and dirty build together.
This kit is being peddled on C30crew as direct-fit compatible, allegedly no SKBOWE or relay harness required. Well, we shall see about that… Picked one up for testing, note that the ballast case is not as pictured online.
The kit does indeed run without a SKBOWE, even at DRL duty cycles. There’s a catch though!
That current (red line) is off the chart – the peak is over 15A in every cycle! The thin purple line is where the red line should be. This current distribution is characteristic of a “warm start” strategy where the arc is extinguished and re-initiated every cycle, but at low voltage (without using the ignitor) rather than ignition voltage (30kV).
This is not good for the CEM or the ballast, indeed the integrated “error canceler” gets VERY hot after a short time. Notice the noise on the input voltage – this will only get worse as the internal components age – and is what can cause WMM failure without an additional ground point.
Update 7/5/17 – Upgraded test bench data
On the upgraded test bench, after about an hour the relative output dropped 10%. The whole time this 35W kit is pulling 55W (i.e. wasting 20W somewhere). But the real question is how hot is really hot?
The “error canceler” on this thing hit 150°F, which is a +80° rise over ambient. In the car’s engine bay that starts around 140°F, this thing would be running near 220°F or 105°c – literally the top of the temp range for the cap(s) inside. I suspect that there is a resistor in there causing some of that heating, but it runs cooler at higher duty cycles so there is something else going on.
Stay tuned, when production is complete this bad boy will get dissected!
With the first prototype complete, it was time to build a test bench to evaluate the real-world performance of the SKBOWE. I wanted this simulator to allow instrumentation, but also to be as accurate as possible without physically installing it in the car.
The CEM basically follows the datasheet verbatim, down to the 1k R_IS, so I did the same. Rather than try to mess with the tiny BCP54C SMT transistor I used an old school 2n2222A, which doesn’t affect the performance of the circuit at all, but other than that the circuit is identical to that on the CEM, down to the 7.5A fuse and the 1000uF capacitor.
The MCU that emulates the CEM’s PWM is a Rugged Circuits Rugged MEGA which is pretty much bullet proof – a very good thing considering what’s coming for it! For those who are curious, there’s an 8-position rotary switch connected to pins 30-37 (for the duty cycle).
Interestingly, there is no way to make the Arduino hardware PWM run at 82 Hz without messing up all the timing libraries, so I had to get creative with a 122uS ISR. Pardon the ugly code…. This was like 7 minutes:
Anyway… The lower deck has a 12V 30A power supply (set to 14.2V) and a 55W dummy load (aka an old H7 bulb stuck in the end of a mason jar):
On the upper deck I added a ground bolt (simulating the chassis) and 5 feet of 16AWG wire (simulating the wiring harness), the selector knob, and a terminal block to make it easy to change out connectors.
I will post detailed data later, but Prototype #1A is performing flawlessly, exactly as designed! This was obviously expected but always nice to see theory turned into a hefty feeling block of capacitors 🙂
Here’s a video showing why you want to have a SKBOWE in a P1 car:
In the video, the yellow trace is the headlight voltage (PWM), and the red trace is the current flowing out of the CEM. You can see this ballast is definitely not happy about even 95% duty cycle PWM when hooked up directly. In the car, this may or may not trigger a short-circuit fault code before it takes out the WMM!
The test bench doesn’t emulate the open circuit (bulb fail) or over current (current fault) detection in the CEM – these levels are handled by an ADC in software, so I’d have to test on my car to see where they are at. Maybe another day…
Update 6/29/17: Test Bench Upgrade
Today I upgraded the SKBOWE test bench with a second can for an H11 HID bulb and mounted my flux meter.
The Dr. Meter LX1330B is designed for photography applications, so this is operating at the top end of it’s range (200000 lux). The absolute measurement won’t be meaningful (in terms of lumens, for instance) but it will do nicely as a relative measurement to ensure that the ballast is working at full capacity.
This is with a new bulb, I’ll have to burn it in for a few hours before using it to compare HID ballasts in the upcoming Ballast Review Page.
Appendix A: Data
With the SBKOWE installed and driving a 55W ballast (HID50), I measured current draw for each duty cycle by monitoring the feedback pin (#4) on the BTS443P. The current to ground through that pin is proportional to the current flowing through the switch, with around an 8200:1 ratio. Since I used IS = 1kΩ, the current is about 121.95 times the voltage (mV) on that pin. The Input and Output voltages are measuring the Mean RMS, the “battery voltage” is a constant 14.2V. Pk-Pk ripple was measured with AC coupling on the highest sensitivity.
PWM Duty Cycle (%)
RMS Input (V)
RMS Output (V)
Peak Current (A)
Min Current (A)
Ripple P-P (mV)
As you can see, at the DRL-level duty cycles (50% and 60%), the peak currents are extremely high (8-9A) and while the minimum current is below 7.5A (the fuse), it might be above what the CEM is willing to provide before soft-shutdown. Also, the SKBOWE is working 2x-3x harder (both caps and diodes), which means more heat and shorter lifespan.
That said, running with DRLs will not instantly kill the SKBOWE, and depending on your ballasts it may actually work fine. Just don’t complain if they don’t!