Skip to content

tylerharvey/Ioniq5_CAN

Repository files navigation

Car, give me the grace to accept with serenity the things that cannot be changed, courage to build the buttons that Hyundai will never offer as an update, and the wisdom to distinguish the one from the other.

Purpose

We have begun shipping a fully open-source Ioniq 5/6/EV6 preconditioning button that can be implemented with a hardware retrofit kit. With the kit, preconditioning is activatable and cancelable by an existing button in your car. Other activation options are in development. For a brief background on battery preconditioning, see "What is preconditioning?". For a brief technical overview of the kit, see the basic preconditioning kit explanation. This repository serves to document progresss on Ioniq 5 CAN reverse-engineering and status updates on the hardware and software for the kit. Major contributors to date:

  • Liz: firmware, CAN reverse-engineering
  • Roy: CAN reverse-engineering, prototyping
  • Corbin: testing, strategy, marketing, retail, 3D printing
  • Tyler: glue guy/productizing
  • Michaël: technical review, EV6 testing

Other contributors:

  • people who have contributed to install guides are specifically noted in those guides
  • Kenny: technical review
  • Thomas: CAN reverse-engineering

Other repositories for this project:

How to Buy

We have begun shipping orders to customers. To purchase in the US, visit ElectroniqButtons.com. To purchase outside the US, buy on Etsy. Etsy does not support HTML, so the product pages are much clearer at ElectroniqButtons.com. It's advisable to browse there first. If you have any questions not answered on the product pages, please ask us at info@electroniqbuttons.com. If you do make a purchase, please fill out this email form so we know which car(s) you have.

Structure

This kit has a few moving parts:

  • CAN messages (talking to the car)
  • microcontroller to inject CAN messsages (box that talks to the car)
  • firmware for that microcontroller (programming for the box)
  • wiring harnesss to adapt microcontroller to car (how to plug the box into the car)
  • user interface (the button that triggers preconditioning)

The CAN messages for preconditioning have been documented since March 2026. We are shipping a first version of the microcontroller now with a free upgrade to a man-in-the-middle-capable version in a few months. The current firmware works well, and we are rapidly developing new features in firmware. The wiring harness has been extensively tested and is in bulk production, and may only slightly change in length to accommodate new installation methods. The current user interface allows for a choice of existing buttons on the car to trigger preconditioning, and we are working hard on physical buttons.

Videos of the button in action:

Current Status

We have successfully tested manual preconditioning on 3 different microcontrollers, on 3 Ioniq 5s from 3 different markets, on a US Ioniq 6, and will shortly test on a Canadian EV6. First orders shipped in late June.

  • selectable CAN harnesses
  • head unit harnesses

We are shipping Liz's WiCAN firmware on stock WiCAN-OBD-C3s for the beta run.

Roy is gathering known E-GMP CAN bus information in DBC files and has prototyped a UI based on a Lilygo T-Display S3.

History

  1. CAN messages:
    • The necessary CAN messages to initiate preconditioning on 2021-2024 E-GMP cars were isolated by Roy and I in early March 2026.
  2. microcontroller:
    • We are using a low-cost prepackaged microcontroller to piggyback on existing work and open-source code
    • Beta test units will use a stock WiCAN-OBD-C3 initially, and receive a customized WiCAN later
    • The customized WiCAN has been designed and is in testing now
  3. firmware:
  4. wiring harness:
    • First inventory has been ordered from one wiring harness vendor
    • We have a sample from a separate vendor as a backup in case of problems
  5. user interface:
    • Liz designed logic to activate and deactivate preconditioning on star button press; a choice of mapping onto other buttons is now also possible
    • We are actively exploring physical button add-ons

Business Info

In the spirit of keeping things open, here's some basic info about the structure of the business to date. Electroniq Buttons Boutique LLC is a US sole-member LLC fully owned by Tyler. Handshake agreements are in place to pay significant contributors from the net margin (and more of these are possible if you want to make a significant and sustained contribution). This structure was chosen for a few reasons:

  • Tyler was most interested in professionally-made wiring harnesses and prebuilt microcontrollers, which are the two largest costs, and had the available capital to do this
  • US LLCs are relatively easy to start; nonprofits and other structures require a lot more work on guiding documents and potentially a board of directors
  • None of us expect to make big bucks; this structure is subject to change if we're very wrong about this

As of early June, the business has incurred roughly the following costs:

  • at least $1150 in prototype/test expenses (e.g. WiCANs, pandas, wiring harness samples, handmade wiring harnesses, etc.)
  • $7400 for inventory, including WiCAN originals (the largest cost), two wiring harnesses at the minimum order quantity, installation tools, and packaging materials; this includes the cost of development of the customized WiCAN, bundled to protect others' business details, but does not include the cost to produce or ship the customized WiCAN yet
  • $500 in miscellaneous business expenses
  • $500 in various shipping costs

Roy, Liz and Tyler have committed several hundred hours in labor to date, and Michaël has also put in a lot of work on a related project that may be merged in. If all current inventory sold at currently listed prices on the Shopify or Etsy shops, after platform fees but before any taxes, the business would see about $14,500 in revenue. As we still will order customized WiCANs (expected to cost about $4000 for all beta test kits), this leaves about $1000 available to pay people for labor on the first inventory and break even. We hope to eventually make minimum wage on this project, but it may take some time!

Contents

Structure of this repository:

1. minimal working CAN messages

Two logs (in SavvyCAN format, with timestamps in microseconds) of CAN messages filtered/edited down from logs recorded using SavvyCAN and a WiCAN Pro that can be sent back to Ioniq 5s with a battery PTC heater equipped and battery preconditioning mode enabled to initiate or cancel preconditioning manually. These messages were reverse-engineered by dragz and I. See dragz's articles or our Ioniqforum notes for more documentation.

2. best real logs and parsing script

I am including two real recorded logs 1 and 2 that included activation of preconditioning; two real recorded logs designed as control experments using the built-in navigation but not navigating to a nearby charger 1 and 2; and a parsing script that I retroactively edited to show the most valuable parsing steps I took to identify the minimal working examples (MWEs)

3. harness designs

This harness design is shipping: drawing 007

I am also including the source file used to render the drawings with wireviz. Wireviz was easy to learn and good for a reasonably straightforward harness, but has some limitations:

  • no built-in way to draw resistors or any other basic circuit component besides wires
  • no way to directly connect a wire to a wire besides an invisible splice, which confused some vendors

4. guides

Written guides are available for:

CAN Reverse Engineering Tips/Resources

One or two good logs is far more valuable than 10 questionable logs. I had much better success after identifying my best logs and cleaning them (e.g. out-of-range timestamps from buffered data). Think of log acqusition as a scientific experiment: you want a test and a control condition. In the case of preconditioning, that meant setting the nav to a charger nearby vs. to a school nearby. You can also tag logs with known messages, such as the star button. If all else fails, plotting temporal changes in a large range of messages can offer a lot of insight and help identify interesting frame IDs.

General CAN resources:

Related projects:

Contributing

Feel free to join the conversation on our Fluxer server. PRs are welcome for install guide changes, harness requests, or CAN parsing tools.

Rebatable Contributions from Customers

The following contributions are welcome and potentially eligible for a rebate:

  • Offer suggestions or photos to improve the manual or install guides or product descriptions:
    • Document alternate EV6 OBD mount locations
  • Translate technical documentation into your language, particularly for German, Korean, Spanish and French
  • Accepted pull request to firmware repository or DBC repository
  • Prototype physical button (note: Michaël is currently working on this; get in touch with us to avoid duplication of effort; this probably goes beyond a rebate)

About

Project coordination home for the Ioniq 5/6/EV6 manual preconditoning button, and other CAN reverse engineering.

Topics

Resources

License

Stars

47 stars

Watchers

8 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors