PriiDash(TM): Enhanced Instrument Panel / Data Logger - Now Open Sourced!

Discussion in 'PriiDash (TM)' started by 2009Prius, Jun 26, 2011.

  1. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Welcome to the PriiDash(TM) main thread! PriiDash(TM) is an enhanced instrument panel and data logger for the Prius and more. Obtain and display real time CAN bus data on a car PC through the OBD port via an ELM327 compatible OBD-USB device.

    [​IMG]

    Quick links | Table of contents:

    If you find PriiDash(TM) useful, please "give a heart" (vote "I like it"), write a review, and/or make a donation to support the development of the software. Thank you!
     
  2. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Safety - Read Me First!

    Drive safely and responsibly.
    Keep your eyes on the road at all times while driving.
    You don't want to end up like this,
    [​IMG]
    do you?
     

    Attached Files:

  3. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Acknowledgements

    • Gary Briggs, author of obdgpslogger, who introduced me to FLTK and cygwin.
    • Michael Pearce, who started the Fl_Gauge program, upon which I have expanded functionality and added many new gauges.
    • Flyer at scantool.net, who came up with a brilliant method to toggle between passive and active CAN message handling.
    • Attila Vass, who pioneered in cracking the Prius CAN codes.
    • Planetaire at priuschat.com, and kinetik (kiki.netik at google.com) who provided many updated Prius CAN codes since Vass' work.
    • The PriusChat forum community, that inspired my interest in the Prius technology.
    • Many other forums that provided answers to various questions during the development of the software.
    • The PriusChat staff Tony, who kindly created this dedicated sub-forum.
    • SteveDH at PriusChat, who made the Windows version working.
    • Ingo Berg, author of muParserX, without which the customizable formula list won't be possible.
     
  4. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Features



    2012 Major update: Please see the project home page at
    PriiDash(TM) - Enhanced Instrument Panel and Data Logger for the Prius and more
    for many changes to the new version.

    • Originally designed for Gen 2 Prius (2004 ~ 2009). Now can be used for any car that supports standard OBD-II interface.
    • Customizable commands and formulas to selectively decode and display data to suit individual user preferences.
    • "Green Zone" and "Red Line": Gauge changes color when the value crosses certain thresholds for easy visualization. Some examples:
    • [​IMG]
    • Each gauge displays min and max values logged.
    • High precision speedometer (0.1 MPH) and odometer (0.01 mile).
    • Description for each gauge:

    1. ICE T(F): engine temperature(T) in F.
    2. wT2(F): engine coolant T in F.
    3. wT(F): engine coolant T in F.
    4. dhvBV(%): HV battery block voltage (max-min)/max in %. This relates to the balance among the blocks thus the health of the HV battery pack.
    5. dsc(%): some think it is the difference in HV battery block capacities thus relating to the HV battery health, others think it is not used and always zero. I haven't observed non-zero values.
    6. Inv1 T(C): motor generator 1 (MG1) inverter T in C.
    7. Inv2 T(C): MG2 inverter T in C.
    8. Cnvt T(C): converter T in C.
    9. mg1 T(C): MG1 T in C.
    10. mg2 T(C): MG2 T in C.
    11. blC: lowest measured T in C from 3 HV battery T sensors.
    12. buC: highest measured T in C from 3 HV battery T sensors.
    13. cat1 T(C): cat 1 T in C.
    14. cat2 T(C): cat 2 T in C.
    15. MPH or km/hr: speed.
    16. A: HV batter current in A.
    17. brake: brake pedal input in raw data (0~127).
    18. gaspdl: gas pedal input in %.
    19. SOC(%): HV battery state of charge in %.
    20. HV(V): HV battery voltage in V.
    21. 3 "indicator lights" to the right of gaspdl & HV(V):
      • top (red square): door open warning
      • middle (yellow circle): lights
      • bottom (cyan square): shift position (drive
    22. aLR & acc: accelerometer readings in raw data.
    23. hvFanV: HV battery cooling fan voltage in V.
    24. Load(%): engine load in %.
    25. gph or lph: instantaneous fuel consumption in gallon or liter per hour.
    26. time delta (s): time since clicking "Go" button to start monitoring in second.
    27. fuel cost: fuel cost for this trip.
    28. gal or liter: fuel used for this trip in gal or liter.
    29. RPM: engine RPM.
    30. kW: engine power in kW.
    31. eff(%): efficiency calculated from kW.
    32. kW2: another engine power in kW.
    33. eff2(%): efficiency calculated from kW2.
    34. kWreq: engine power request in kW.
    35. regenkW: regen braking in kW.
    36. MG1 kW: MG1 power in kW.
    37. frickW: friction braking in kW.
    38. MG2 kW: MG2 power in kW.
    39. frickW2: another friction braking in kW.
    40. IGN: ignition timing.
    41. 12V: 12V battery voltage in V.
    42. DTC dist: distance driven since last DTC clear in mile or km. This will saturate at some value if there hasn't been DTC clearing. On the other hand if you are buying an old car and this reads very low then you better ask the seller what DTC(s) he just erased before showing the car to you (what problem he is trying to hide).
    43. avg MPG or avg km/l: average fuel consumption for this trip.
    44. MPG or km/l: instantaneous fuel consumption.
    45. OAT(F): outside air T in F.
    46. intake T(F): engine intake air T in F.
    47. Trip: trip meter (distance traveled since pressing the "Go" button to start monitoring) in mile or km.
    48. atm(kPa): atmospheric pressure in kPa.
    49. date and time.
    50. fuel(gal) or fuel(l): fuel gauge. This is only approximate. Don't risk running out of gas.
    51. ODO: odometer reading in mile or km - only if the user has entered the correct reading in the main control window of course.
    52. PSD: power split device.
    53. MG2 RPM: MG2 RPM.
    54. RPM2: engine RPM.
    55. MG1 RPM: MG1 RPM.
     

    Attached Files:

    hill likes this.
  5. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Hardware & Software Setup | How to Use - Please read thoroughly!


    2012 Major update: Please see the project home page at
    PriiDash(TM) - Enhanced Instrument Panel and Data Logger for the Prius and more
    for many changes to the new version.

    • Hardware: We need a laptop or netbook, and an ELM327 compatible OBD-USB device. Connect the hardware and set the baud rate to 2M bps. Just as an example and without any implied endorsement or promotion, I am currently using an Eee PC 1001PXD-EU17 10.1-inch netbook with Intel Atom N455 CPU, 1 GB RAM and Win7 Starter (as out of box without any upgrade), and an OBDLink device.
    • Operating System: The software assumes Linux system so it is slightly time consuming to set it up on a Windows machine. (Update: native Windows version available as of 2011-12-02.) Linux users need to recompile from the source and link with X11, FLTK and Boost_thread libraries. Windows users may do the same or use the precompiled "priidash.exe" file and set up directories and the USB-serial port as instructed below. Windows users please download and install Cygwinwith the following components:
      1. devel/cmake
      2. devel/gcc ("gcc-core" and "gcc-g++")
      3. devel/make
      4. devel/gdb
      5. devel/subversion (just "subversion")
      6. X11/xinit
      7. X11/libfltk-devel
      8. X11/libfltk1.1-gdi
      9. lib/boost
      The Cygwin installer will suggest some other dependent components. Please keep them selected. Then it will go to the web to download and install all the selected components. On my laptop Cygwin (with the components listed above) takes about 700 MB of disk space.
    • Directories and Ports: (Update: ODO.txt no longer needed as of 2011-11) The precompiled "priidash.exe" file needs a text file "ODO.txt" (containing the current odometer reading) in the same directory, assumes the USB-serial port is COM7, and saves the log data in the path "f:\OBDLog\". So to use the precompiled "priidash.exe" file directly we need to create the file "ODO.txt" with the current odometer reading and put it in the same directory as the "priidash.exe" file, go to the Device Manager to set the USB-serial port to COM7, and go to the Disk Management to either create a partition "f:" or change the drive letter of a disk to "f:", and then create a directory "OBDLog" under it. Once these are set the program needs to be executed from a cygwin xterm, not from a Windows cmd.exe window.
    • Disk Space: The data logs are plain text and csv files and can take a lot of disk space, about 160 MB per hour of driving. It is probably wise to use a solid state device as opposed to a hard disk unless it's shock proof. For example I use an 8 GB HDSC card and set its drive letter to "f:".
    • Usage: To run the program, first open an X terminal (Start | All Programs | Cygwin-X | XWin Server). Change directory (cd) to where the "priidash.exe" file is and type "./priidash". If the program is run for the first time, then an "About" window will appear, displaying the license agreement. Please read the license agreement carefully and click the "Accept License" button. At a later time the "About" window can be opened by clicking the "About" button in the "Main Control" window. Click the "Go" button in either the "Main Control" window or the "Gauges" window to start data logging and display. Click the same button (text on the button should have changed to "Stop") to stop data logging and display. Click the "x" (close window) button at the upper right corner of the "Main Control" window to quit the program.
     
  6. usbseawolf2000

    usbseawolf2000 HSD PhD

    Joined:
    Sep 22, 2004
    14,487
    2,931
    0
    Location:
    Fort Lee, NJ
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    I got mine running! It is a cool dashboard with a bunch of information, only possible with a netbook screen.

    I just made a donation to support this project for future improvements. Great job!
     
    1 person likes this.
  7. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    2011-11-28 new features added

    User can now enter some initialization parameters in the main control window, which will be auto saved in INI_Settings.xml file (auto created; no longer need ODO.txt): odometer (mile or km), serial (COM) port name and baud rate, fuel (US gal, UK gal, or liter) and distance (mile or km) units, fuel cost. Added some tool tips.

    Download here:
    PriiDash | Free Science & Engineering software downloads at SourceForge.net

    :)
     
  8. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
  9. TheForce

    TheForce Ron Paul 2012

    Joined:
    May 30, 2005
    3,438
    446
    0
    Location:
    Wheelersburg, Ohio
    Vehicle:
    2006 Prius
    Model:
    N/A
    This looks cool!

    Is the data based just on Attila Vass's information or is there other information such as battery module voltages and TPM sensor PSI values?

    Does this have an Ah counter or can one be implemented? If this can be done it would be great for plug-in conversions.

    I need to look into this some more.
     
  10. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
  11. TheForce

    TheForce Ron Paul 2012

    Joined:
    May 30, 2005
    3,438
    446
    0
    Location:
    Wheelersburg, Ohio
    Vehicle:
    2006 Prius
    Model:
    N/A
    SOC on the MFD is OK but having a resettable Ah count down would be nice. This way I can see about how many Ah are remaining in the extra battery pack. I'm currently using the CAN-View to do this. I have it set for 16.5Ah and reset it each time I get in the car after a full charge. 16.5Ah is about what the CAN-View thinks I have in the Hymotion battery. Having a number helps with estimating range and hypermiling with a plug-in. At least for me it does.

    When I get some of my other projects done I'll take a look at the source and maybe play around with it.
     
  12. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Sounds good! :)
     
  13. schsergsch

    schsergsch Junior Member

    Joined:
    Aug 8, 2011
    2
    0
    0
    Location:
    serg
    Vehicle:
    2006 Prius
    Model:
    Two
    Is it possible to connect your cable - Mongoose Toyota (MFC)

    Car toyota prius 2006, right-hand
     
  14. arkey

    arkey Junior Member

    Joined:
    Dec 4, 2011
    9
    1
    0
    Location:
    UK
    Vehicle:
    2010 Prius
    Model:
    N/A
    Is there a list off all the data available through ODB port? (for European Prius 2010)
    Is there any data/signal through the port for the other indicators on the instrument cluster? (like door open, signal, head lights on, etc..)
     
  15. zenMachine

    zenMachine Just another Onionhead

    Joined:
    Mar 3, 2007
    3,354
    293
    0
    Location:
    Texas
    Vehicle:
    2007 Prius
    Very geeky, wicked, and cool!

    If this could run as an app on a tablet it could be a big hit!
     
  16. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Any cable that is ELM compatible should work. I am not sure about that particular cable though. If you already have the cable handy then just give it a try and let us know. Car should be fine.

    Does that correspond to US 2009 or US 2010? Currently the program only works with US gen 2 (US 2004 ~ 2009). Currently door open, head light status, and drive mode are implemented.

    Check out the Torque app for Android.
     
  17. arkey

    arkey Junior Member

    Joined:
    Dec 4, 2011
    9
    1
    0
    Location:
    UK
    Vehicle:
    2010 Prius
    Model:
    N/A
    its the 1.8 Gen III prius.
    ahhh. not working with the 3rd gen prius yet? :(
    when are you going to implement that and is it too complicated to implement custom "skins" to customize the look of the gauge screens?
     
  18. 2009Prius

    2009Prius A Wimpy DIYer

    Joined:
    Mar 25, 2009
    2,693
    461
    63
    Location:
    USA
    Vehicle:
    2009 Prius
    Sorry I don't have a gen 3 car so not in the near future. It's open source so you are welcome to customize for gen 3 and the "skin" look. Another option would be the Torque app for Android.
     
  19. schsergsch

    schsergsch Junior Member

    Joined:
    Aug 8, 2011
    2
    0
    0
    Location:
    serg
    Vehicle:
    2006 Prius
    Model:
    Two
    Mongoose Toyota (MFC)-no virtual port
     
  20. nh7o

    nh7o Off grid since 1980

    Joined:
    Dec 10, 2011
    1,686
    308
    0
    Location:
    Hawaii
    Vehicle:
    2009 Prius
    Model:
    II
    On my 1600X1200 screen I find some of the displays too small to be seen from a distance, but the Windows magnifier helps to enlarge those of particular interest.
     
Loading...