SavvyCAN is a QT based C++ program that can be used with the CANDue / CANKIT hardware from EVTV. SavvyCAN is cross platform and has binary versions posted for 64bit Windows, LINUX, and OSX (10.9+).


Links to all of the binary versions (Updated Sept 13 2016 - Version 157)



Windows (64 Bit)

Windows (32 Bit)


Beta Version (Updated Jan 08 2017 - Version 163)



Windows (64 Bit)

Windows (32 Bit)


GVRET Firmware Updater  (Updated June 30, 2016 - Version 334)


The GVRET firmware updater has scripts for use with Windows and OSX. It can be used to automatically update the firmware to the newest version without having to compile anything. 


A half hour video that walks through SavvyCAN and how to use it. The video is a little dated now (several SavvyCAN versions old) but still a good resource for getting into SavvyCAN. 


GVRET compatible capture devices are available at (Dual CAN with sdCard) (Single CAN all-in-one board) (Tesla Model S Kit with adapter)


The source code can be accessed on GITHub.


Recent Changelog (for a more complete changelog see github):


  1. Jan 08 - 2017 (V163)

    1. Changed PCAN extension to be the proper one.

    2. Changed "little endian" text to be more descriptive

    3. Fix broken DBC string signal code

    4. Make signal size automatically update in signal editor

    5. Fix crash bugs in discrete and flowview windows

    6. Fixed multiplexed signal code

  2. Jan 05 - 2017 (V162)

    1. Fixed crash bug when trying to send to a socketcan device without it actually being connected

    2. Fixed bug that allowed spaces in signal names (but this isn't allowed)

    3. Show the number of actually connected buses instead of the number of potentially connected buses

    4. Fix visual issues only found on OSX involving the 8x8 data grid

  3. Jan 02 - 2017 (V161)

    1. Switched to a new connection system that supports multiple devices at once and socketcan (Linux only)

    2. Added a bisect window which can cut the master frame list into two pieces

    3. Misc bug fixes

    4. More DBC bug fixes

    5. Attempts to synchronize timebase of all connected devices

    6. Firmware updater window works now

  4. Sept 13 - 2016 (V157)

    1. Added PCAN file format for loading

    2. DBC loading bug fixes

    3. More timing info in the Frame Info Window

    4. Now possible to double click the name of a graph to edit it

  5. Jun 7 - 2016 (V156)

    1. More implementation of "Discrete State" window

    2. Fixed custom frame sender

    3. Better implementation of UDS scan window

    4. Fixed various crash bugs

    5. Better time synchronization between GVRET hardware and SavvyCAN

    6. Stability improvements

    7. Better, less brittle file loading

    8. New data graphing system built more closely with DBC signals.

  6. Feb 7 - 2016 (V151)

    1. Fixed some nasty crash bugs in the graphing system

    2. Increased communications and program stability

  7. Jan 30 - 2016 (V150)

    1. Fixed a wide variety of crash bugs 

    2. Added saving of last used connection method. It is now possible to click "Connect" immediately upon starting the program if settings haven't changed.

    3. Fixed up old file loading code in playback window (now uses unified system)

    4. Added Vehicle Spy format for input (not saving yet)

    5. Added a screen that allows for very configurable fuzzing on the bus

    6. Added a screen that somewhat automates UDS scanning

  8. Jan 21 - 2016 (V148)

    1. Changed the default file format to the native GVRET format (from CRTD)

    2. Fixed CAN-DO loading and saving

    3. Added ability to create new DBC files

  9. Jan 19 - 2016

    1. Added IXXAT file format for frame loading/saving

    2. Added CAN-DO format for loading/saving

  10. Jan 17 - 2016

    1. Added ability to load and use more than one DBC file at a time

    2. Fixed some issues with the use of DBC files

    3. Added ability to directly graph signals (even multiplexed signals)

  11. Jan 11 - 2016

    1. Added multiplexed signals to DBC screen and the rest of the program

    2. The signal editor now shows all used bits in light gray making it easier to