Building SKBOWE Batch #2

I had originally said October (based on the DigiKey backorder estimate) but the caps came early. Haven’t had too many Batch2 orders yet so I thought I’d get a head start on building them…

All of SKBOWE Batch #2 (22 units)

Got all of them soldered together, and 10 sets potted…

10 SKBOWE Batch2 sets potted

I’ll be traveling for the rest of the month, so I am pushing to finish these tomorrow so orders placed before 9/15 will get in the mail on Monday. If you haven’t ordered yet, yours will ship out before October 15th.

Batch 1 + Preorders Complete & Shipped

Sorry for the delay since the last update – been really busy getting Batch 1 together – so I’ll consolidate the last of the build updates into one post.


The second order of potting goop came Thursday so I knocked that out.

final bunch potted
The third and final bunch potted after waiting for the second order of potting compound to arrive.

As it turns out, it’s 10 units to the ZipLoc gallon bag, and two bags to the 0.45 Gallon kit, so it was only 6 pairs, not too bad.


Was a long day… Started with 52 potted units, each needs to be unwrapped, cleaned of flashing (belt sander), and given a good wipe down with isopropyl alcohol.

potting done
After tape has been removed, flashing ground down, and cleaning with isopropyl

Then 7 hours here…

One Down 51 to go
Setup a improvised workstation. There are a lot of steps.

After the potting is set, the procedure is:

  1. Clip temporary zip tie, discard
  2. Cut wire loop to correct lengths for input/output/ground
  3. Crimp on ring terminal
  4. Heat shrink ring terminal
  5. Cut split loom to length for input  + output
  6. Tape one end of input + output split loom and slide on to respective leads
  7. Secure split loom at base of enclosure
  8. Install weather seals on wires (4x)
  9. Strip wire ends (4x)
  10. Crimp terminals (4x)
  11. Install male connector housing and seat weather seals
  12. Install female connector housing, seat weather seals, and install retaining clip
  13. Tape up split loom
  14. Test
  15. Sticker
Testbench used for burnin
Each unit got a burn in while the next one was being built – about 8 or 9 minutes running an HID ballast on 82Hz PWM (Start at 50%, run at 80%). Units that work get a yellow paint-pen mark, matching a commonly used Volvo OEM QC color.

Anyway, around 1AM

26 finished SKBOWEs…


Started packing. Each order gets a whole bunch of stuff that needs to be put together…

skbowe kit contents
SKBOWE kit ready for shipping

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.

Packed and off to the post office

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?

These poor SKBOWEs need a good home!

Building SKBOWE Batch 1

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.

giant ball of wire
This is where I started this AM – a giant ball of wire… Each board has the five leads, R1 and D3.

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.

All capacitors soldered to the boards
All 26 pairs with their caps soldered on. This is a lot of capacitors! (2,132,000 uF aka 2.132F 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.

diodes ready for stuffing
Diodes with leads bent and ready for stuffing. Note tape on leads of D1. This is not all of them, I had already done 16 or so when I remembered to take a picture.

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.

SKBOWE Batch 1 electrically complete
SKBOWE Batch 1 electrically complete.

Next I cut the wire pen into the enclosures. Took a little extra time to jig it up but it was well worth it.

Enclosures cut and ready to go
Enclosures cut for wire passthrough.

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:

SKBOWE batch 1 ready for potting
SKBOWE batch 1 ready for potting. The insulator saves about 800mL of potting, a minimum of 1200mL will be required (assuming no leaks, spills, etc) to fill these boxes.

Also jigged up a workstation for potting so spills are easier to contain. Just a piece of plywood with the right shape cut out.

Jig for potting holds two SKBOWE units
Jig for potting holds two SKBOWE units (one pair) and has disposable parchment paper on top to help contain spills & overflow.

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

SKBOWE temperature after 11 hours of operation
SKBOWE temperature after 11 hours of operation does not exceed 90F (+20° above ambient) anywhere on the enclosure. This is excellent.
XB55 after 11 hours
XB55 after 11 hours, hanging around 130°F



Production PCBs arrived! Now the fun begins

After much ado, the production PCBs are here! Worked like crazy today to get everything ready for cranking up production this weekend.

production pcbs delivered
Production PCBs delivered

And unit #002 put together for testing

SKBOWE #002a assembled
SKBOWE #002a assembled
SKBOWE #002a assembled in enclosure
SKBOWE #002a in it’s enclosure. New layout fits like a glove!

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.

Heat sink forming process
Forming the heatsinks. Starts off as a 1/2″ strip of aluminum, bent using a simple jig. Each strip makes 2 heatsinks (1 pair).
Lots of heatsinks formed
Nice pile of finished heatsinks. Should be about 50 pairs worth in there.

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:

50 pairs of wires cut
50 pairs of wires cut to size!

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.

big old pile of potting goop mess
Big old pile of potting goop mess… Much better to do many at once, mixing up a small quantity wasted a bunch. And this stuff isn’t cheap – $120 for 1/2 gallon!

So here we go, the first official pair off the line… Drumroll please:

SKBOWEV2 SN #002 A and B after potting
SKBOWEV2 SN #002 A and B after potting
SKBOWEV2 SN #002 A and B assembled and tested
SKBOWEV2 SN #002 A and B assembled and tested

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.

Stuffing/soldering in parallel.
Stuffing/soldering in parallel. Only 4 pairs fit on my vice, which is annoying.

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.

Serial numbers 003-008 completed, ready for potting
Serial numbers 003-008 completed, ready for potting

Crimped connectors on #003A to check the process, and it tested good, so off to do the rest at once.

Beginning to stuff serials #009-#0028
Beginning to stuff serials #009-#0028

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).

See the rest of the Batch 1 build here.

SKBOWE Test Bench

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.

To that end, I decided to use one of the Infineon BTS443P 25A Smart Highside Power Switches out of the CEM that I took apart, and re-create the CEM circuitry that it uses for each low-beam exactly:

Location of one Infineon BTS443P on the CEM
Location of the sacrificed Infineon BTS443P

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.

Test bench control circuitry
Test bench control circuitry, showing the CEM analog and the Rugged-Circuits Rugged MEGA MCU

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).

Rotary switch assembly
8 position rotary switch assembly for controlling PWM duty cycle, with pull-down resistors.

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:

Testbench Code
// SKBOWE TestBench
// V1.0 2017-06-23
#include <TimerOne.h>
#include <elapsedMillis.h>

// output pin
#define PWM_PIN 7

// holds the target duty cycle percent
volatile uint8_t percent;

// Switch settings (in percent duty cycle)
const uint8_t LOOKUP[9] = { 0,
// 1 2 3 4 5 6 7 8
0, 50, 60, 80, 85, 90, 95, 100 };

void setup() {
  Timer1.initialize(122); // ~8200 hz

void loop() {
  uint8_t mode = getMode(), next = LOOKUP[mode];
  //sync with ISR
  percent = next;

// emulate 82hz PWM with percent (0-100)
volatile uint8_t counter;
  void pwmisr(){
  uint8_t cnt = ++counter, per = percent;
  if(cnt >= 100){
    counter = 0;

  digitalWrite(PWM_PIN, cnt < per);

//debounce more
uint8_t getMode(){
  int8_t timeout = 64, count;
  uint8_t first, next;
  retry: while(timeout-->0)
    first = readMode();
    for(count = 16; count-->0;)
      next = readMode();
      if(next != first) goto retry;
  return first;
  return 0;
// debounce
uint8_t readMode(){
  int8_t timeout = 64;
    if(digitalRead(30)) return 1;
    if(digitalRead(31)) return 2;
    if(digitalRead(32)) return 3;
    if(digitalRead(33)) return 4;
    if(digitalRead(34)) return 5;
    if(digitalRead(35)) return 6;
    if(digitalRead(36)) return 7;
    if(digitalRead(37)) return 8;
  return 0;

And it actually worked on the first try!

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):

Lower deck of test bench
Lower deck of test bench, with dummy load and power supply

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.

Side view of test bench
Side view of test bench showing the super professional graduations on the control knob
Test bench running dummy load
Here’s the test bench running it’s H7 55W dummy load

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.

H11 Rebased HID Bulb Test Fixture Mounting Detail
H11 Rebased HID Bulb Test Fixture Mounting Detail, showing how the top of a mason jar was modified to support the bulb.
Rebased H11 HID bulb test fixture, end view after assembly.
Rebased H11 HID bulb test fixture, end view after assembly. Not quite the efficiency of a true ellipsoidal reflector (as in a projector) but I’ll be looking at relative numbers so it doesn’t really matter.

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.

Lux meter setup on SKBOWE test bench.
Lux meter setup on SKBOWE test bench measuring the intensity of an HID bulb. The bulb is currently warming up, steady state the meter reads around 830.

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

Oscilloscope trace showing current measurement
Measuring the current (red trace) using the cursors to mark peak and min values. I really need to get a new scope with USB data capture, taking iPhone pictures of the screens gets old fast.

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!

Parts Arrived!!!! Building the first prototype

So both big shipments came early, so I decided to see how they are going to go together!

PolyCase enclosures delivered
Enclosures from PolyCase
Capacitors and diodes from Digikey
This is what $2000 in capacitors looks like…
First test fit of components into SKBOWE PCB Prototype
Test fitting components… Success!!
14AWG Marine Grade Red and Black wire
Here’s the marine grade wire and braid
Wire harness cutting jig, side view
Rigged up a simple jig for cutting the harnesses to the correct length
Wire harness cutting jig, top view
The wire threads through, then you cut where indicated to produce two different lengths of red/black and one length of braid
Output lead with 9005 connector crimped and assembled.
Crimped on the output lead. Will need to set this up assembly line style so I don’t forget the weather seals!
Male 9005 pins crimped with crimping tool
Crimping the male 9005 connectors. You really need this special crimping tool to do this correctly. It folds the ends of tabs over into the wires for a secure bond.
SKBOWE prototype soldered together
All soldered up (less the lead resistor, want to make sure it tests out first). Looking good!

The holes are a bit tight for 14AWG wire. I will go a size up now that I see how much extra room there is in the cases.

initial assembly, within case.
It all fits! Sort of. The diodes are wider than the case. I will be able to use the prototypes PCBs by grinding away some of the internal case, but for the production PCBs I’ll re-arange the diodes so that they sit entirely within the case.

Also, I’ll need to jig up the wire pass-through so that it is tighter-this one will leak epoxy like a sieve!

Heat sink with adhesive tape
Going to play with a few heat sink designs under load and see how well they do. This was my original idea, though I might wrap it around the bottom rather than around the edge.

Also, once I get going with the new PCB layout I will drill and rivet the diodes to the heatsink.

installed with heatsink
Here’s how the prototype heatsink sits when installed.
Back lid installed
Back lid installed – everything fits inside!

Remember this was the original design:

Drumroll please…..

Prototype #1A is complete!
Prototype #1A is complete!



Need to touch up the PCBs and I will get the main batch ordered. Back to work!!!

Preorder Status Update: On track for July 15th ship date

Just wanted to update everyone on the status of the Pre-Order batch:

All parts have been ordered, which will be delivered before the end of the month, so it’s looking like all 14 pre-orders will ship out on time (as expected) – perhaps even ahead of schedule!

Pre-orders will close at 11:59 EST on Sunday June 25th so make sure to get yours in by then if you want a SKBOWE before October!

Will update further as parts arrive.

– Jacob