Intro: Subaru BRZ Footwell Light Controller
I purchased a 2017 Subaru BRZ ...
The Subaru BRZ is a fun and affordable sports car that seems to have a pretty big aftermarket following. Every day it puts a smile on my face, and no, Subaru is not paying me. While underpowered, it hugs the road like superglue and steers with the resolution of an electron microscope. It comfortably earned its keep amongst a bunch of Dodge Vipers at a recent car rally I attended.
I wanted the under-dash footwell illumination option ...
There aren't a lot of options -- these cars are pretty "loaded" with features, especially if you purchase the "Limited" trim. One of them is lighting under the steering wheel and glove box at night -- a blue or red glow.
But it was not available, and for good reason ...
Few if any dealers offer that option. My guess is that there's a good reason for this -- the illumination is always on at 100% intensity whenever the headlights are on. Instead of providing a pleasant and classy touch, this quickly becomes annoying.
So I installed the OEM kit, but with a twist ...
I solved the problem by purchasing the OEM kit myself (turns out it is a dealer-installable option, apparently meaning that it's not installed at the factory) and adding a simple controller box.
About the OEM kit ...
The OEM kit part number from Subaru for the BRZ is H701SCA100 (blue); it's also available in red. The cost is about $130, and includes a wire harness, two LED modules, and some minor hardware. It does not come with instructions; you'll have to download that from the Subaru web site at https://stis.subaru.com/index.html (Subaru Technical Information System). You do not need a subscription to download the PDF.
An alternate (simpler) solution ...
I have heard of other people solving the always-on problem by simply connecting the LEDs to the dome light. That way, they'll follow whatever the dome light does, including a 2-sec dim sequence, coming on when the doors are opened, etc -- pretty much what you want. The other advantage is that it's MUCH EASIER to install that way, because it turns out it's easy to route the wires across the top window edge and then down the A-pillar on the passenger (or both!) side(s). By the time I found out, I was already well into this project, and anyway, I wanted to do something a little bit more customized.
So I made a Delay & Dim controller ...
When the car headlights go from off to on, the controller keeps the floor lights on at 100% for 2 minutes, then takes about 2-3 seconds to dim them to about 10%, and they then stay that way "forever" until the car headlights go off. Whenever the headlights are off, the floor lights are off. The 2-minute delay, the dim rate, and the 10%-dimmed-level can be set as desired before installation but can't be adjusted afterward.
The controller is analog ...
This is a simple 555 timer-based circuit straight from 1975. True, nowadays few would take such a low-tech approach. One would use a microcontroller; I like the Atmel ATtiny10 or ATtiny102 for this kind of application. But I felt like doing this one project all-analog because this way:
- There is no chance of RF interference with the radio, which is very close by.
- No chance of PWM strobing / flicker. This drives me nuts, especially anywhere in an automotive environment. No doubt that would be the way I'd have to control the dimming, and these lights are in your peripheral field of vision, where your eyes have very fast response time. (The D/A output on most micros would probably be the way to go.)
- I'd have to add extra parts to a micro / Basic Stamp / Arduino anyway, to be sure that there wouldn't be a problem with chips wanting less than 12V Vcc and conditioning RESET in the abusive power on-off-on start/ramp environment of a car.
So hold your flames :-) -- If I were making this as a sellable product, of course I would use a microcontroller!
Step 1: Overall Tips for Installation
- Budget an entire day for this if you are relying on daylight.
- It will take 2 people to remove and replace the radio because it's heavy, awkward, has 6-8 connectors, and has a front touch screen that you don't want to damage.
- The hardest part is disconnecting (and reconnecting -- be sure it clicks!) the connector that plugs into the back of the clock/hazard panel; this has to be done backwards in a mirror. All Subaru connectors have a tab to push in to release them (in the clock/hazard case, the tab is facing down), and Subaru loves to make them require about 30 pounds of force.
- Tether your tools so you don't drop them down the hole.
- Follow the instructions -- Disconnect the battery! Do not skip this step. I've heard of people blowing up the body computer, etc. Now, it's possible those are just unlucky ones who short things to ground with metal tools, but why risk it. And who knows what trickle power is going in/out of that radio, which goes to body stuff, the camera, the microphone, active antennas, etc. Just disconnect the battery. About the only thing you'll have tor reset is the clock and one or two cluster indicator prefs. All radio settings are kept. When reconnecting the battery, be very careful you tighten it enough! Try gently to rotate it on its post using its ground bracket as a lever arm -- it should not move.
Step 2: Overall Comments About Construction
- Making the controller board requires an intermediate level of skill with electronics assembly. (If I get around to posting a PC board then it will of course be easier.)
- It look me about 2 evenings to do/debug the design.
- It took me about 6 evenings to build the board (point to point wiring on a perfboard).
- I used digikey.com and mouser.com for parts -- it's a good idea to get several of everything and ranges of adjustables like resistors. Also note that today's electrolytic capacitors, even at 1000uF/16v are quite small (5x10mm-ish); old ones would have been huge.
- Required beyond parts: Soldering iron/solder/[flux]/[solder sucker], electronics wire cutters/pliers/screwdrivers/tweezers, electronics shrink tubing, electronics multimeter, electronics lab power supply, aligator/test clips, electronics white protoboard.
- Scrap acrylic for enclosure box (the box you see in the pictures was constructed by my father -- thanks Dad!) or you can get a box along with getting the electronic parts. But annoyingly, the 2.5"x2.5"x1" size of my board was pretty much impossible get a good-fitting project-box enclosure for.
Step 3: Order the OEM Footwell Light Kit
Order the OEM footwell light kit and download the instructions.
As mentioned above, the OEM kit part number from Subaru for the BRZ is H701SCA100 (blue); it's also available in red.
The cost is about $130, and includes a wire harness, two LED modules, and some minor hardware.
It does not come with instructions; you'll have to download that from the Subaru web site at https://stis.subaru.com/index.html (Subaru Technical Information System); you do not need a subscription to download the PDF.
I just searched for it and there were several aftermarket places (or were they dealers?) that sell them, but it's easier to just go to any local Subaru dealer's parts counter and have them order it for you.
What you get is not that impressive; in fact, you could use your own LEDs and it would be just as good, or better. The thing you need, though, is that harness with those connectors.
Step 4: Prototype / Debug the Controller Circuit
OK, so here is the simple microcontroller-less circuit. Also here is the schematic entered (only entered so far) into Eagle CAD. Disclaimer: I am not a EE; I only play one on Instructables. I have no doubt there are better/cheaper/easier ways to do this. Some stuff like that MOV is simply superfluous -- I just liked the way it looked. Components can be rather pretty sometimes. The (very low amperage) fuse is a hedge against a short by me. Subaru, I have heard, is not aways so great about fusing against damaging computer boxes in the car. For example, apparently it is possible to blow up the body computer (symptom: door lights stay on) by shorting the dome light when it's on, so never use metal tools if you're in there; better yet, disconnect the car battery, overkill as that may seem.
There are 3 main parts to the controller circuit: A timer, a voltage divider, and an amplifier/driver.
The amplifier/driver is not really needed here, because we're feeding LEDs that only take about 20mA between both of them at 100% brightness. But I was trying to solve a problem: The OEM kit's LEDs module manufacturing tolerances must not be great, because one was slightly brighter than the other. That drove me nuts, so I wanted to fix that, which led me to driving them both independently. By the way, with transistors like that, we could drive much brighter lights or even incandescents at, say 60mA each (even more if you use 2N2222 transistors instead) -- so if that's what you want, go ahead and replace the OEM kit LED modules. They're not all that great anyway. While we're on the topic of power budgets: The circuit in the 100% state takes about 22mA total; in the dimmed state (for me 10%), it's about 8mA total.
The timer and voltage divider both feed into the amp, and both have a "say" in how bright the lights are.
A) The voltage divider says "make it very dim, about 10% or so".
B) The timer says "make it 100% bright because I'm giving 100% +12V for a while, until I'll give 0% when the timer runs out" and "I'll run myself (the timer) only once on power-up of the entire circuit".
C) The one little additional trick is that there's a capacitor of 1000uF hanging on the output of (B), so that, when (B) turns OFF (LOW), its input to the mixer doesn't drop immediately, but drains over the course of a few seconds. This causes a GRADUAL dimming for a few seconds, rather than abrupt. It also causes the turn-*on* to ramp up over a time of about 1 second, also a classy touch.
The sum total effect is: It will be 100% for a while and then smoothly dim to 10%.
Part (A) is done with: Simply a 10K potentiometer variable resistor. The 27K resistor before it is just to set the scale a bit better.
Part (B) is done with: A timer, using a 555 timer chip, in its one-shot mode, taken straight from the 555’s Wikipedia page or the spec sheets it references, The chip is configured into this mode by the way pins 4, 5, 6, and 7 are wired. The one-shot mode makes the output (pin 3) go logic HIGH (nearly +12V in this case) for a set amount of time, and then will drop to logic LOW (nearly 0V or ground) when the time is up. The timer starts when TRIGGER is brought from HIGH to LOW and back to HIGH again (it's like another reset input). The amount of time is set by resistor/capacitor (RC) network connected to the DIS/THR (discharge/threshold) inputs. The RC combination of the 1000uF capacitor and the 100K potentiometer (variable resistor) is adjusted for 2 minutes or whatever you like; the 555 is stable even at multi-minute lengths of time, regardless of supply voltage and temperature. About 3 minutes seems to be a practical limit with commonly-available capacitors. If you need more, use a microcontroller.
One thing about this -- and this "little" thing is the peskiest part of this -- is how to tell the 555 to "start".
That's what that stuff connected to pin 2 (TRIGGER) is all about. Those few components are to hold pin 2 LOW for about 0.1 second. That's done by that 6.8uF capacitor charging up -- while an electrolytic capacitor is charging, it is a short circuit, until it is charged (e.g. that's what causes that speaker "pop" you often hear when turning on older power audio amplifiers).
Step 5: Build the Controller on a Board
After prototyping/debugging, you'll want to build the controller on a permanent board. I'll see if I can post a better schematic and maybe a PCB layout. I, myself, just used a Schmartboard (which was interesting, as some traces are connected in a pattern).
Step 6: Modify the OEM-Kit Wiring Harness
When you get the OEM kit, you'll have to modify the cable harness. The OEM kit harness is a simple power tap that's an "insert" between the clock/hazard control panel. The harness has two long wires to go to the left and right lights.
Rather than sending power to both sides directly, we want the controller box in between. So the harness needs to be cut so that instead, the "insert" harness feeds our controller box with 12V, and that our box then feeds the two lights.
I put Molex connectors on the modified harness and on my controller box, but that was because I didn't know what to expect during the installation. You can probably just wire everything to your box directly; there is tons of room inside the dash behind the radio.
Step 7: Test on Your Bench
Unfortunately, you will not easily be able to adjust the timing settings, etc, once it's installed into the car, and, anyway, you should have the car battery disconnected as per Subaru's instructions. So you'll want to test the whole setup as closely to the real thing as possible. This means plugging in the actual kit's LEDs and simulating powering on/off/on/off/abuse/that/way with a 12V source on your bench. Bonus points for flipping the power switch on a lab power supply that drops the voltage slowly and comes up slowly, so that you can test to be sure the 555 comes out of reset each time (and you're not stuck with the circuit not working correctly sometimes). Remember that a car when starting is a weird and harsh power environment. On the plus side, it seems that the Subaru's power at the clock panel is pretty good about that.
Step 8: Install in Car: Remove Radio
- Be sure the car battery is disconnected (and wait a few minutes).
- Put tape in places to prevent damage from your prying tools.
- Consider tethering your tools and using magnetized screwdrivers so you can't lose/drop tools or fasteners down any holes. Sometimes a drop of axle grease can hold a fastener in place as it’s being guided.
- Remove passenger side pad above glove box. The only reason for this is access to the top right corner of the radio bezel (at top left of the pad) for prying. Put in a safe place; the dashboard is a good place.
- Remove radio bezel. It's only snap clips. Lotta force. Put in safe place; the dashboard or back seat is a good place. It's somewhat fragile.
- Unscrew radio. Two machine screws. Put them somewhere safe -- I always use my back pockets; you can also get little magnetic containers for this purpose at auto stores. Losing them is completely unnecessary, as is dropping your tools down the hole; don't do either one, not with skill, but with preparation.
- The radio won't drop -- it slides out on rails.
- Remove radio with 2 people, disconnecting cables as you go.The connectors won't disengage unless their tabs are pushed in -- IIRC, one of the connectors has 2 tabs. Careful with the fragile RF coax connectors (circular-ish, blue) -- handle by connectors only and don't slip your fingers off onto/don't pull at the cables.
- Put radio somewhere safe. The back seat is a decent place. Protect the screen with something soft.
Step 9: Install in Car: Unplug the Clock/hazard Connector
This is by far the hardest step, and it will take an inordinate amount of time. Or maybe you'll get lucky.
Visualize the connector just behind the clock. I just could not figure out what was going on until I used a mirror (see picture).
The white connector on the end of the cable harness plugs into the panel at the panel's rear side (that is, the side toward the front of the car), and "points" toward you = toward the back of the car. Even though you might think of the connector on the harness as male and the panel as female, the fact is that the connector-with-pins is on the one with the panel. I say this only to alert you to be careful to not foul/bend those pins! They're pretty robust, but be careful anyway.
The connectors won't disengage unless the tab is pushed in. For this connector, the tab is at the BOTTOM (facing down).
I like to tether my tools to be sure I won't drop them down any holes.
Step 10: Install in Car: Install Controller Box
There is tons of room; you'll have no problem finding a place. Remember where the radio will go; remember to dress your cables against rattle; remember to pad your box against rattle.
"Installation is in the reverse order of disassembly." :-)