Sponsored

MattVT

Member
First Name
Matt
Joined
Sep 17, 2025
Threads
3
Messages
20
Reaction score
46
Location
Vermont
Vehicles
2025 F-150 Lightning Lariat
One of my grievances about new cars is how many things are moving to apps which require cloud access and often subscriptions to use them. When we bought our Subaru Crosstrek a couple of years ago, we paid an extra $400 to have the dealer install the OEM remote start module so we could use our factory key instead of the app.

When I bought my 2025 Lightning in September this year, I was pretty disappointed to see that remote start was once again an app-only feature. Here in Vermont, being able to pre-warm the vehicle is incredibly valuable during our long, cold winters. And unfortunately, where we live we have very poor cellular signal for whichever carrier the vehicle's modem is using, so the app experience is very poor. Using the app for anything that requires a vehicle connection (e.g. remote start, configuring departure times, etc) is at best hit-or-miss - sometimes it works fine, but often it will repeatedly time-out and fail.

While I can (and do) schedule departure times for regular journeys (e.g. my morning commute), doing this for one-off journeys is a painful experience. With my previous F-150, I'd just click the key fob a couple of times 10 minutes before I wanted to go out, and that was that.

We have an extensive home automation system in the new house we're building, and integrating the truck into that was a priority for me. From research on this forum and elsewhere, I decided to buy a new key fob from North Coast Keyless for about $90 which did have the remote start feature, then wire this up to an ESP32 giving me control via Home Assistant (our home automation system).

The key was out of stock for a while, but a couple of weeks ago I checked and it was in stock, so I bought it and it arrived a few days later. I programmed the key myself using my 2 existing factory keys which only took a couple of minutes following the instructions in the owner's manual.

Then I tore the key apart. I had hoped that like other key fobs, it would simply clip together, but as best I can tell it was actually glued shut, so I ended up cutting and prying it open, taking care not to damage the PCB inside.

With my digital multimeter, I confirmed the behavior of the 5 small SMD buttons. Opposite pairs of legs are electrically coupled, with one pair tied to ground. So pressing the button simply pulls the other two legs to ground. All the buttons are oriented identically and work exactly the same way.

From there, it was simply a case of soldering wires onto one of the output pins on each button. I'm not the best at soldering, and these pins are tiny. 4 out of the 5 buttons were easy, but the remote start one by the chip was trickier to get to and I ended up prying off the button top to make things a little easier. I soldered a short female DuPont wire to each button, as well as to the positive and negative battery terminals on the other side of the board. I bought a small, angled soldering iron tip for my Pinecil just for this, and liberally applied solder flux. It's not the neatest job, but my DMM confirmed I had connections.

Ford F-150 Lightning Local Home Assistant integration via ESPHome and key fob IMG_8558


Ford F-150 Lightning Local Home Assistant integration via ESPHome and key fob IMG_8559


I used the female DuPont wires as they were what I had on hand and in future I may do something a little cleaner using a proper connector. For now, I simply connected them to a $7 M5Stack AtomS3 Lite I had lying around which has an ESP32-S3 and just enough exposed GPIO pins for my use case.

I programmed it with ESPHome, and my config is below in case anyone is interested. I'm sure this could be cleaned up and improved, but for now it works. The basic approach is that it exposes a virtual button to Home Assistant for each of the key fob functions. Pressing the button in Home Assistant pulls the GPIO to ground for 500ms, then lets it float again.

Ford F-150 Lightning Local Home Assistant integration via ESPHome and key fob IMG_8560


For the tailgate open / close button, I trigger it twice from one press in Home Assistant as that's what the remote requires. For the remote start, it "presses" the lock button twice, then the remote start button. I also exposed the remote start button directly so you can turn the vehicle off after it's been remote started.

Power is only sent to the key fob just before each key press, and turned off shortly after the key press has finished. I think I'm giving it enough time to maintain synchronization, but I'll report back if I run into issues. I could probably just keep the key powered on, but from a safety and security perspective I felt like only powering it on when needed is best. Also, technically the coin cell battery was delivering ~3.0V and I'm giving it 3.3V, so keeping it disconnected except when needed seems to make sense.

I've tested it and it all works exactly as expected. Unfortunately, there's no feedback other than looking at the truck to see if it worked. While the key fob fascia makes it look like it has an LED (and I swear my old truck key did), there's no LED on the actual circuit board. I was thinking of tapping into this as a feedback loop of sorts.

For now though, being able to remote start the truck from Home Assistant is huge. I can expose this feature through any number of means now - the LocalDeck by our front door, voice control, a button in Home Assistant, etc. I can also schedule it or integrate it into other scripts.

I've also done some other related "mods" too. I have a couple of automations which remind me to plug the truck in if it isn't already (using connection status from our EVSE) - it reminds me 10 minutes after I get home, or at 9:15pm each evening, but only if the truck is home.

I know this isn't new or novel and plenty of people have done this before, but I didn't see much mention of it on this forum so thought I'd share, if nothing else to confirm that it works with a 2025 Lightning Lariat.

Here's my ESPHome config for anyone interested.

YAML:
esphome:
  name: f150-key
  friendly_name: Ford F-150 Lightning Key

esp32:
  board: esp32-s3-devkitc-1
  variant: esp32s3
  framework:
    type: esp-idf

logger:
  level: DEBUG

api:
  encryption:
    key: [REDACTED]

ota:
  - platform: esphome
    password: [REDACTED]

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

switch:
  - platform: gpio
    pin:
      number: 38
      mode: OUTPUT
      inverted: false
    id: fob_power
    restore_mode: ALWAYS_OFF
    internal: true

  - platform: gpio
    pin:
      number: 5 # green
      mode: OUTPUT_OPEN_DRAIN
      inverted: true
    id: gpio_unlock
    restore_mode: ALWAYS_OFF
    internal: true

  - platform: gpio
    pin:
      number: 6 # yellow
      mode: OUTPUT_OPEN_DRAIN
      inverted: true
    id: gpio_lock
    restore_mode: ALWAYS_OFF
    internal: true

  - platform: gpio
    pin:
      number: 7 # orange
      mode: OUTPUT_OPEN_DRAIN
      inverted: true
    id: gpio_start
    restore_mode: ALWAYS_OFF
    internal: true

  - platform: gpio
    pin:
      number: 8 # white
      mode: OUTPUT_OPEN_DRAIN
      inverted: true
    id: gpio_vehicle_alarm
    restore_mode: ALWAYS_OFF
    internal: true

  - platform: gpio
    pin:
      number: 39 # brown / blue
      mode: OUTPUT_OPEN_DRAIN
      inverted: true
    id: gpio_tailgate
    restore_mode: ALWAYS_OFF
    internal: true

button:
  - platform: template
    name: "Unlock"
    icon: "mdi:lock-open-variant"
    id: unlock
    on_press:
      - switch.turn_on: fob_power
      - delay: 500ms
      - switch.turn_on: gpio_unlock
      - delay: 500ms
      - switch.turn_off: gpio_unlock
      - delay: 500ms
      - switch.turn_off: fob_power

  - platform: template
    name: "Lock"
    icon: "mdi:lock"
    id: lock
    on_press:
      - switch.turn_on: fob_power
      - delay: 500ms
      - switch.turn_on: gpio_lock
      - delay: 500ms
      - switch.turn_off: gpio_lock
      - delay: 500ms
      - switch.turn_off: fob_power

  - platform: template
    name: "Remote Start"
    icon: "mdi:refresh-auto"
    id: remote_start
    on_press:
      - switch.turn_on: fob_power
      - delay: 500ms
      - switch.turn_on: gpio_lock
      - delay: 500ms
      - switch.turn_off: gpio_lock
      - delay: 500ms
      - switch.turn_on: gpio_start
      - delay: 500ms
      - switch.turn_off: gpio_start
      - delay: 500ms
      - switch.turn_on: gpio_start
      - delay: 500ms
      - switch.turn_off: gpio_start
      - delay: 500ms
      - switch.turn_off: fob_power

  - platform: template
    name: "Remote Start Button"
    icon: mdi:refresh
    id: remote_start_button
    on_press:
      - switch.turn_on: fob_power
      - delay: 500ms
      - switch.turn_on: gpio_start
      - delay: 500ms
      - switch.turn_off: gpio_start
      - delay: 500ms
      - switch.turn_off: fob_power

  - platform: template
    name: "Alarm"
    icon: "mdi:bullhorn"
    id: vehicle_alarm
    on_press:
      - switch.turn_on: fob_power
      - delay: 500ms
      - switch.turn_on: gpio_vehicle_alarm
      - delay: 500ms
      - switch.turn_off: gpio_vehicle_alarm
      - delay: 500ms
      - switch.turn_off: fob_power

  - platform: template
    name: "Tailgate"
    icon: "mdi:truck"
    id: tailgate
    on_press:
      - switch.turn_on: fob_power
      - delay: 500ms
      - switch.turn_on: gpio_tailgate
      - delay: 500ms
      - switch.turn_off: gpio_tailgate
      - delay: 500ms
      - switch.turn_on: gpio_tailgate
      - delay: 500ms
      - switch.turn_off: gpio_tailgate
      - delay: 500ms
      - switch.turn_off: fob_power
Sponsored

 

B177y

Well-known member
First Name
Bill
Joined
Jul 16, 2024
Threads
12
Messages
540
Reaction score
686
Location
Oly Pen, WA
Vehicles
2024 Pro ER Max Tow
I love seeing stuff like this!

The programming part is out of my comfort zone, but tinkering with the key fob is giving me some interesting ideas.

I also purchased a 3rd fob with the start button but I do miss the ability to open the frunk with that fob. Is it possible to add the frunk opening without sacrificing another fob? Also, if you can point me towards a link with your automation program, I'd love to learn more about how that works.
 
OP
OP

MattVT

Member
First Name
Matt
Joined
Sep 17, 2025
Threads
3
Messages
20
Reaction score
46
Location
Vermont
Vehicles
2025 F-150 Lightning Lariat
Is it possible to add the frunk opening without sacrificing another fob?
Not without a totally different approach. The way I'm doing it is that my little ESP device is just emulating a button press. If the button doesn't exist, there's nothing for it to "press". It is a little annoying there being no frunk control - I'd rather have that than tailgate - but I guess at the very least I can do that from my regular key.

The only ways I can think of to do it are:

  1. Buy another key fob with the frunk control, and wire it up in a similar way to this one. That would be another $90 just for that feature, but technically I can have 4 key fobs for the truck so it would theoretically work
  2. Reverse engineer the key fob and see if I can work out how each button press is turned into a signal by the fob. If I had to guess, there's probably a pin somewhere on the PCB that you could pull to ground and emulate a frunk button press, but I don't really have the tools for that type of tiny tracing. Not to mention then trying to solder to that.

Also, if you can point me towards a link with your automation program, I'd love to learn more about how that works.
I use Home Assistant as the overarching home automation system, and ESPHome is the specific firmware I'm running on the Atom S3Lite device in the pictures. I've been running Home Assistant for years and it is the hub for all our home automation. Unlike things like Alexa, Google Home, etc, it all runs locally on a server in our house - there's no cloud dependency, no company to one day shut off / charge for access, and none of my data is being sold. The flip side is that I have to manage it all myself - a trade I'm happy to make.
 

fhteagle

Well-known member
First Name
D
Joined
Jun 15, 2025
Threads
6
Messages
94
Reaction score
104
Vehicles
'22 Lightning Lariat, '23 MYLR, '13 Forester, sold '13 Volt
Great idea and write up.

Anyone have any idea if a remote start fob would actually begin HVAC and/or battery warming on a '22? It's about to get cold for real up here in the mountains and I'm sure I'm going to miss warming everything from wall power, as I had with my previous vehicles.......
 
Joined
Sep 17, 2025
Threads
1
Messages
19
Reaction score
8
Location
Midwest
Vehicles
2025 Star White Lightning Lariat
Why not just use the Fordpass custom integration in HACS? Besides tailgate control, I think it gives all of these features and more.
 

Sponsored
OP
OP

MattVT

Member
First Name
Matt
Joined
Sep 17, 2025
Threads
3
Messages
20
Reaction score
46
Location
Vermont
Vehicles
2025 F-150 Lightning Lariat
Why not just use the Fordpass custom integration in HACS? Besides tailgate control, I think it gives all of these features and more.
I do use the FordPass integration in Home Assistant, and it's great! But it still just uses the exact same API that the Ford App uses, meaning that if the truck is struggling with cellular signal, like it often does for me at home, the request to start never makes it to the truck so it fails.

Ford also has a poor reputation for allowing / supporting their API with 3rd parties, and there's always a chance it might suddenly disappear - this insulates me against that risk.
 

chl

Well-known member
First Name
CHRIS
Joined
Dec 16, 2022
Threads
7
Messages
2,198
Reaction score
1,346
Location
alexandria virginia
Vehicles
2023 F-150 LIGHTNING, 2012 Nissan Leaf, 2015 Toyota Prius, 2000 HD 883 Sportster
Occupation
Patent Atty / Electrical Engineer
Interesting and kudos for the accomplishment!

AT&T (the cell carrier if I am not mistaken) is also sometimes weak in our neighborhood, often can't get it indoors like when a vehicle is in the garage (my 2012 Nissan Leaf also used AT&T for communications, I say "used" because it was 2G and that is no longer supported by AT&T).

I wonder if you considered a cell signal booster for the Lightning, and if so, why did you decide against that? Such as the weboost Drive Reach OTR (link below)?

-----
From the Q&A:

Q: My truck(2020 gmc 3500hd) has a built in cellular and wifi system. will the trucks system pick up the weboost to run better in low signal areas?

A: Hi there! Depending on what the truck's cellular system is working on, it may work. Our boosters are designed to work with all US/Canadian cell carriers.

Q: Does this boost your data connections and speeds?

A: This device is made to boost both voice and data, but data has some uncontrollable factors like amounts of users on the tower, data capacity, bandwidth, and others that effect it before a booster picks it up. In many cases, the booster will bring in the data speeds that are outside.

----
Review by alvin evans in the United States on July 5, 2024

My carrier is AT&T and if you have them, then you already know they have been on the decline in terms of celluar signal or data signal, I tavel out of the DFW area to the west coast and to the east cost. signal is terrible. that dreaded 4 dots or sos displaying on the phone is a bummer, i know. well Ive traveled to new york and as far as california testing this product. I can gauurantee this weboost booster is a life changer. I can honestly say I lost signal once and that was on I10 comming and going down that mountain before you get to desert springs in California. I was able to maintain signal for calls and netflix, youtube and spotify worked great. If your are a traveler I have to reccomend this weboost to you. I was about to spend over $1k on a new phone before this purchase and i am glad i tried this out first since you have 30 days to try it. Kinda pricey but well worth it.

----
https://www.amazon.com/weBoost-477154-Booster-Networks-Carriers/dp/B08WYQND57?ref_=nav_signin&th=1
----
This is a CONSUMER device. Before use, you must register this device with your wireless provider and have your provider’s consent. Most wireless providers consent to the use of signal boosters. AT&T, Sprint, T-Mobile, Verizon and 90 additional carriers have already given consent for all consumers to use this device. Some providers may not consent to the use of this device on their network. If you are unsure, contact your provider. You MUST operate this device with approved antennas and cables as specified by the manufacturer. Antennas MUST be installed at least 20 cm (8 inches) from any person. You MUST cease operating this device immediately if requested by the FCC or a licensed wireless service provider. WARNING. E911 location information may not be provided or may be inaccurate for calls served by using this device. Please note, the four largest carriers, namely, AT&T, T-Mobile, Verizon and Sprint, and more than 90 regional carriers have given a blanket consent to all boosters meeting the new certification standards. "

-----------------------------------

I wonder if folks who don't have the home assistant capability like you did could maybe use the weboost or something like it if they are in a weak cell zone?

If anyone has used the weboost and has tested it with the Lightning functions through FordPass (now just "Ford") app, let us now how it worked for you.
 

chl

Well-known member
First Name
CHRIS
Joined
Dec 16, 2022
Threads
7
Messages
2,198
Reaction score
1,346
Location
alexandria virginia
Vehicles
2023 F-150 LIGHTNING, 2012 Nissan Leaf, 2015 Toyota Prius, 2000 HD 883 Sportster
Occupation
Patent Atty / Electrical Engineer
Related video:
Sponsored

 
 







Top