DRL Conversion for Hyundai Tucson 2008 1st gen

Jump to the how-to

This is probably the easiest modification you can imagine, although it took a bit of time to figure out. When we imported our car from the US to Canada, we had to get Daytime Running Lights installed, as the US spec vehicles did not have this standard.

The DRL requirement is pretty broad, but basically, whenever the car is moving, your vehicle is required to have ‘some’ front facing lights on. The standard modification is to purchase a kit like this, which is just a relay you put in parallel with your existing headlight (or parking light) relay, and then wire up to turn on with your ignition.

Not particularly complicated, but it’s extra stuff you have to mount in the car, and connect etc. Surely there is a better way? Even in the US, we already drove the car with the headlights on the whole time. The car automatically turned them off when you stopped the car. But the DRL requirement means that even if the light switch is in the OFF position, the lights must still come on when driving. Lucky for me I had gotten hold of the service manual for our car, and was able to dig through the limited wiring diagrams provided.

Wiring Diagram for Light Switch
Signal names

From the above diagrams we can see that when the switch is in the ON (ll) position, the system connects “Lighting switch ground” to “Tail lamp switch”, “Head lamp switch” and “Auto light switch”. And when the switch is in the Parking Lights (l) position, it connects “Lighting switch ground” to “Tail lamp switch” only. When it’s OFF, no connections are made.

I couldn’t find the full circuit diagram for the lighting switch, but the circuit diagram for the Auto Lighting circuit (which our car doesn’t have) seemed like a good starting point.

Auto Lighting Circuit Diagram

If we just ignore all the connections to the Auto light unit, we probably get a good idea of the circuit. The key take away is that battery power is only provided to the headlamp relay when the ignition is on. So in theory, if we just short “Lighting switch ground” to “Head lamp switch”, the lights will come on and off with “IGN2”.

Another thing to keep in mind, is that this modification would then not result in your tail lamps being illuminated. This is fine from a legal perspective, but means that at night, you must ensure your light switch is in the ON position.

I considered just connecting the “Tail lamp switch” to “Lighting switch ground” at all times as well, but it leads to complications if you want to use your parking lights. On the Hyundai Tucson, the parking lights come on and off with the tail lamps. Additionally, default behaviour is that when you turn the car off, no matter what position your light switch is in, all lights turn off when the car is locked. Including parking lights. If you want the parking lights to stay on, you have to leave the driver’s side door open, turn the lights from ON/Parking to OFF, and then back to ON/Parking. Then when you close and lock they’ll stay on. Were I to permanently connecting the “Tail lamp switch” to “Lighting switch ground”, there would be no way to get the circuit into an OFF state, so that I could then activate the parking lights after I locked the car. It’s not that I’ve ever used my parking lights for their intended function, but I still have to pass an Ontario Safety inspection, and it’s not clear to me whether they check actual functionality, or just that I have working lights in the parking lights.

Instructions:

  • Remove steering column footwell cover (2 screws)
  • Remove steering wheel upper cover (clips into lower cover)
  • Remove steering wheel lower cover (3 screws under steering wheel column)
  • Unplug Lighting Switch connector on left hand side.
Head lamp wiring harness connector
  • Identify “Head Lamp Switch (15)” and “Lighting switch ground (17)” wires in connector.
Connector wiring diagram
  • To confirm you have correctly identified the wires:
    • Use a multimeter to confirm that pin 17 is shorted to vehicle ground.
    • Switch the Light switch to the OFF position and confirm no short between 14, 15, 16 and 17
    • Switch the Light switch to position l and confirm short between 14 and 17, but not between 15, 16 and 17
    • Switch the Light switch to position ll and confirm short between 14, 15, 16 and 17
  • Using whatever your preferred method is, make a permanent connection between pins 17 and 15. I took some of the insulation off the wires behind the connector and soldered a jumper cable in-between.
  • Reconnect Lighting Switch connector.
  • Test lighting works as expected:
    • With ignition on, Headlamps are on in all lighting switch positions (OFF, l and ll)
    • With ignition on, Tail lamps and Parking lights are on in Positions l and ll

HDMI Audio output not available

Preface: This was originally drafted in September 2020, and is only being published ~2 years later. I can’t remember my exact mood when I drafted this article, but apparently it was one of those days. It was also not the first time I’d experienced this issue. I hope posting it here will allow me to not experience this issue again, and help someone else who befalls a similar misfortune.


I hate everything. That’s right. Everything! ARGH! Cue continuos shouts into the void.

Issue: Laptop won’t output audio over HDMI. There is no setting anywhere that seems to allow you to output to HDMI, even though you could swear you’ve done it before. Also every ‘solution’ on the internet tells you to do something you’ve already done or change a setting that doesn’t exist.

Device: Asus FX502VM, Windows 10, GeForce GTX 1060

“High Definition Audio”, it’s all I wanted

Steps to resolve:

  • Uninstall everything Nvidia related. Everything. Clean clean clean.
  • Install whatever version of Nvidia graphics drivers you want. Make sure to install the Nvidia GeForce Experience.
  • Login to the Experience; do an update from within the Experience. For the Game Ready Drivers! Whatever that means.
  • During installation you’ll hopefully see mention of “HD Audio drivers”. Don’t know why they weren’t installed earlier. But /care.
  • Success.
  • Cry. etc

Tracking Time

Early in the pandemic my employer had us working from home. For the most part this was not an issue. But not having a dedicated office, I found it too easy to lose track of time, and spend too much (in my opinion) time working. With my computer set up in our lounge, it was too easy to check an email, or quickly test something else. It was right there.

There was also no separation that came from cycling/taking the train to or from work. Wake up in the morning, sit down at the desk with breakfast/coffee, start working. Without planned events in the evening, continuing to work was easy.

I have not worked enough (4+ hours). First LED is a status.

In an effort to limit this I once again repurposed my Particle Internet Button to do some time tracking. I’d used Toggl in the past to do some time tracking, but liked the idea of having a visual display available to me, without having to pull out my phone, or install additional applications on my work laptop.

My basic idea was to use the Particle Internet Button as a switch and display mechanism for interfacing with the Toggl API. The main issue I encountered with this approach was that Toggl was enforcing https for their API calls (and rightly so), but there were complications around the available Particle https libraries at the time.

I have worked too much (9+ hours)

Not wanting to spend the time on figuring that out, I somehow convinced myself that I should just spin up my own “Toggl-like” service. Obviously just for me, and not requiring https :) Hopefully my employer doesn’t hack my Wi-Fi to intercept my network comms and make me think I’m working less than I actually am.

And so that’s what I did. I setup a database, and threw together some php scripts to interpret different requests as start and stop commands, also taking a date-time string as a parameter. I expanded it a bit, allowing for different work-id’s, if I want to track different topics, and protected it all behind a nice long ‘key’ to limit the risk of someone messing with my data.

I have worked an appropriate length of times (8+ hours)

The Internet Button itself is round, and has a bunch of RGB LEDs on it. Eleven LEDs lets me use one for a notification, one as a spacer, and the other nine as hours worked increments. The Internet Button does have buttons that can be used as inputs, but instead I chose to use the accelerometer to give me a more intuitive input, without the need for labels.

My beautiful web interface

I 3D printed an octagon-shaped holder for it, which allows me to rotate the internet button to five fixed locations, which are easily distinguished from each other by the accelerometer. If you’re in the central position, the timer stops. If you shift to one of the other four positions, you start the timer associated with that position. In practice I’m only using one, so the other’s are mostly untested for now.

If I don’t have the hardware with me at any time, there’s also a basic web-interface, that allows me to view the entire week’s hours worked, and each stop and start event. I can also add events if I forgot to start or stop at some time.

Page title includes hours worked, and auto-refreshes every 5 minutes

Here you can find a link to a GitHub repo with some associated code: link

Below you can see a video of it working, and interspersed in this article are a couple photos of different stages.

Nike+ Sportwatch Teardown

I bought this watch back in ~2013 and used it track my runs for several years. I recently got an Android watch which also had a built-in GPS, so gave the Nike+ SportWatch to my wife. After a few months of using it, she could no longer download her runs. I wrote about this previously.

With no real use for it, I decided I’d open it up and see what makes it tick.

While iFixit has some nice photo guides to disassemble and replace different components, and someone even replaced the entire USB cable, this video shows a complete teardown and takes a look at some of the components used inside the now defunct Nike+ SportWatch.

The teardown is pretty straightforward. There are 6 screws on the back of the watch, that once cleaned of accumulated dirt come off quite easily. The back then separates from the front, with a half of the strap attached to each.

The back half contains the battery, and the front half the rest of the components and USB cable. The USB cable is soldered to the PCBA, so has to be desoldered to continue the teardown. Another two screws hold the PCBA in place.

The LCD comes straight out, but its backlight is held in place by a melted support that must be cut, and has to be unhooked from the bluetooth antenna. The last thing to open up is the shield can, which has many small, tight tabs holding it in place.

Other info:

  • US design patent US D636,686
  • KCC registration: KCC-REM-NSW-GP132
    • I was hoping there’d be an FCC registration, as then all the testing documentation is available, but I could only find reference to the KCC.

Features:

  • GPS
  • Backlit LCD Screen
  • Tap sensor
  • Lithium Ion battery
  • Built-in USB cable/connector
  • Pairs with:
    • Polar Wearlink + Transmitter (heart rate monitor)
    • Shoepod Nike+ Sensor

Components Used:

  • TI MSP430
    • Main microcontroller
    • Marked as M430V317, unsure which exact spec component it is.
    • 7x7mm BGA, most likely includes the USB interface.
  • NRF 24L01+
    • Bluetooth connection
  • Lithium Ion Battery
    • B&K E332430 170mAh 3.7V 0.63Wh
    • E130910-DV33-11
  • Uknown
    • U4 looks like an IMU, and the watch did have a tap functionality
    • U3 is almost certainly 16Mb of Flash Memory, but unclear which manufacturer.
      • Marking of 2SP16 matches Micron, but the form factor doesn’t
    • The actual GPS circuitry is likely custom TomTom hardware, and not off the shelf components.
Diagram of Nike+ Sportwatch PCBA with main components labelled
Diagram of Nike+ Sportwatch PCBA – rear