Skip to content
ADeedsPublic

About

Sambok: Give your car the Dog Mode that your pet deserves (NEMESIS package for Gen5W Ioniq 5)

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

Repository files navigation

Sambok: The Missing Dog Mode

Sambok running on a car's head unit

My goal with Sambok is to create the "Dog Mode" that my car should have. I've tested it with my 2023 Ioniq 5, and it should work with other Android-based Gen5W vehicles that are compatible with NEMESIS.

Caution

Sambok is a nice UI wrapper for the car's built-in utility mode. As such, it has all of the same downsides, and potentially introduces extra failure modes. Do not use this software in any sort of safety critical context. It may misbehave, brick your head unit, or kill your entire family.

Why should I use it?

Compared to the car's stock utility mode, Sambok has these features:

  • Inform passers-by that the A/C is on and display the set temperature

  • Activate utility mode and set the battery discharge limit on the same screen. No more digging through multiple layers of unintuitive menus

  • Measure the car's realtime power consumption to estimate remaining battery runtime

  • More useful status messages when Utility mode is unavailable

  • EXPERIMENTAL OPTION: Auto-unlock when returning to your car, based on Bluetooth proximity.

Any downsides?

Because Sambok is built on Hyundai's utility mode, it shares some of the same limitations:

  • You can turn it on with a button press, but to turn off utility mode you have to power cycle the car

  • The key fob's lock/unlock buttons still do not work while the car is in utility mode

Installation

Download sambok.zip from Releases and place it in the packages/ folder on a FAT32 or exFAT USB drive (e.g. packages/sambok.zip).

  • Via NEMESIS Manager: Open Manager on the head unit and install Sambok from your USB drive.
  • Direct install on USB insertion: Place a NEMESIS.data file at the root of your USB drive:
    [nemesis]
    version=1.0
    type=install
    path=packages/sambok.zip

Usage

  1. Open the app. Make sure the battery estimate will cover the time you'll be out of the car.

  2. Enable utility mode.

  3. Use the lock button in the car to lock all the doors.

  4. Exit the car, and use the keyblade to re-lock the door you just opened

  5. When you return, use the keyblade to unlock your car

Key management alternatives

One alternative approach for locking the car is to roll down the window, hit the lock button from outside, roll up the window, and pull your arm out before it gets stuck. I do not recommend this approach, because it's possible to forget your key in the car.

As an experimental alternative, Sambok also supports Bluetooth presence for unlocking the car. If you use this feature, choose a paired Bluetooth device to monitor before starting utility mode. Walk away from your car to arm the unlocking feature (It's based on signal strength. With my phone, walking away about 20 ft is enough). You must stay away from the car for 15 seconds. Once you return to the car, it should unlock automatically. I've only tested this feature a few times, and only with one Bluetooth device. You MUST always have your key with you as a backup. Even if the auto-unlock feature works 100% of the time (no promises), you don't want to be locked out when your phone battery dies.

Once the Bluetooth auto-unlocking is more battle-tested, I'd like to support auto-locking with some reasonable failsafes (force-unlock after a set amount of time?).

Architecture

The codebase has no external dependencies or Gradle wrapper; it compiles directly against android.jar using the Android SDK build-tools:

Build, Test & Package

Requires a JDK (8+) and the Android SDK with build-tools (set ANDROID_HOME or ANDROID_SDK_ROOT).

Run the unit and package test suite:

./tests/run.sh

Build the signed APK (build/sambok.apk):

./build.sh

Build the NEMESIS package (dist/sambok.zip):

./tools/make_package.sh

Copy dist/sambok.zip into packages/sambok.zip on a FAT32 or exFAT NEMESIS USB drive to install on the head unit.

Boring But Important Disclaimer

Sambok is an independent, open-source project and is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Hyundai Motor Company, Kia Corporation, or any of their subsidiaries or affiliates. All product and company names (including Hyundai, Kia, and Ioniq) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

About

Sambok: Give your car the Dog Mode that your pet deserves (NEMESIS package for Gen5W Ioniq 5)

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages