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.
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:
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.
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:
- dragz triggering preconditioning from a laptop
- triggering preconditioning with star button on a panda
- Liz showing first UI
- demonstration of beta kit
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.
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.
- 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.
- 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
- firmware:
- Liz and I (mostly Liz) have working firmware for one prototype microcontroller here
- Liz ported that logic to WiCAN firmware
- 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
- 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
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!
Structure of this repository:
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.
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)
This harness design is shipping:
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
Written guides are available for:
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:
- CSS electronics: many helpful introductory articles on CAN
- canbus tools: a better/longer list of resources
- OVMS DBC file documentation: basic explanation of the structure of a DBC file
- standalone Cabana: fork of openpilot Cabana for general-purpose CAN reverse-engineering
- kvaser.com: login needed but various CAN resources available free
Related projects:
- manual preconditioning firmware repository
- known CAN messages in DBC format
- ESP-based DIY build
- another Ioniq 5 CAN reverse engineering project
- original Ioniq CAN reverse engineering
- Hyundai Kona VESS reverse engineering
Feel free to join the conversation on our Fluxer server. PRs are welcome for install guide changes, harness requests, or CAN parsing tools.
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)

