curious technology logo

Compass :: An NMEA and OBD-II Graphical Information Display  -   A skinnable compass which automatically connects to the XPort interface or Windows Sensor for GPS information, and XOBD for OBD-II information.
If you like it, please donate on the homepage

Version 1.24   6/02/13 Added support for Windows Sensors.  XPort will be used otherwise.  For Windows 7 use GPSDirect.
Version 1.23  11/09/10 Fix for 1.20 auto-adjust ranges. RPM gauge was over sizing.
Version 1.21  3/28/10 Rebuild for compatibility with new XOBD
Version 1.20  1/11/10 Drag objects while config window open. Gauges auto adjust if range limits hit.
Version 1.18 11/ 1/09 XOBD interface improvements.  Fixed many gauge errors.
Version 1.17 10/26/09 Different drawing methods for Windows XP or Vista/7, Windows 7 compatibility for OBD2 interface
Version 1.16 10/16/09 Eliminated flicker, added some OBD-II text and gauges
Version 1.15  8/16/09 Added a few things, switched to GdiPlus for better graphics
Version 1.14  4/14/09 Switched to XPort interface

Version 1.13  9/21/08

compass graphics

Many example skins are included but I'm not an artist. :-)

clock compass
  corner compass
compass gps breadcrumb trail   horizintal compass rpm speed obd
xport horizontal gagues   obd 2 no gauge

Move the compass by dragging it.

Task Tray Menu functions:

   Configure - Right-click on the compass or use the menu from the tray icon to open the config window
   Start With Windows - Start when Windows starts
   Always On Top - Always on top, otherwise normal
   Hide Mouse - Hide cursor arrow after 5 seconds of inactivity
   Trip Log - logs each trip to C:\GPSLog\Trip.log as comma delimited text lines (Start-date,Start-time,End-time,Miles)

Config window (left side):

compass graphics editor
The check box enables the selected graphics item.  The 2D slider moves the selected item. (Note: Hovering over an item also selects it, holding down the left button allows for dragging the item)
The 4 value settings depend on the item.  For text, only size is used.  Trails size controls Trails, Sats and Home Target.
Clock: Width = width of hands if no images are available
  Range = max value of gauge (i.e. 150 = 150 MPH)
  Start = Starting value (i.e. 100 for temp sets needle to far left until it reaches 100+)
  Type = 0-3-Round dial, 4/5-Horiz Bar, 6/7-Vert Bar (with and without dial for those who want to draw the gauge in the skin)
                         Angle and Sweep for each gauge is controlled by text item just above it. Ascending/descending is determined by angle of 45-180 deg.
Font name

Font, gauge, trails, etc. color, in decimal as red, green, blue

ComboBox item list:

 0  Course
 1  Horiz Compass
 2  Compass
 3  Knots
 4  Altitude
 5  Odometer
 6  Longitude
 7  Latitude
 8  Time
 9  Short Date
10 Long Date
11 Trip
12 Distance Home
13 Signal
14 Satellites
15 Clock
16 Home Target
17 Trails
18 Speed 
19 Speedometer
20 NeedleColor
21-22 OBD2 Speed+Gauge
23-24 OBD2 MPG + Guage
26-27 OBD2 RPM + Gauge
28-29 OBD2 CLV + Gauge
30-31 OBD2 TimingAdv + Gauge
32-33 OBD2 AIT + Gauge
34-35 OBD2 MAF + Gauge
36-37 OBD2 TP + Gauge
38-39 OBD2 IMP + Gauge
40-41 OBD2 STFT1 + Gauge
42-43 OBD2 STFT2 + Gauge
44-45 OBD2 LTFT1 + Gauge
46-47 OBD2 LTFT2 + Gauge
48-49 OBD2 FP + Gauge
50-51  OBD2 CT + Gauge
52  OBD2 Odometer
53  OBD2 Trip
54-55 OBD2 Volts + Gauge
56-57 Graphs
Track made good degrees true
Horizontal Compass
The arrow (sizing is disabled if Arrow.png is present)
Feet or Meters
Adds up distance

Display is based on locale settings
" "
" "
Distance in miles/kilometers since start or hibernate
Distance in miles/kilometers from the marked point
Signal strength bars.  Size is based on font size.
Round display of satellite locations
Analog clock
Box drawn relative to current location (if "Set Home" waypoint is set)
Breadcrumb trails
Speedometer dial.
Used for color of all needles and gauge bars
MPH/KPH from OBD2 (Uses XOBD Interface)
Instantaneous/Average MPG based on MAF+Speed+LTFT1
MPG Average long term (will be removed)
RPM Text + x100 Gauge
Constant Load Value
Timing Advance degrees
Air Intake Temperature
Mass Airflow Sensor
Throttle Position Sensor
Intake Manifold Pressure
Short term fuel trim, bank 1
Short term fuel trim, bank 2
Long term fuel trim, bank 1
Short term fuel trim, bank 2
Fuel pressure
Coolant Temp
Distance traveled since install
Distance since reset
Battery Voltage
Graphs use the above numbers for item to chart

Other controls:

Stop, log files, and speed slider are for playback of logs.  Just click on a file to start it.  The logs are broadcast to other GPS apps, and the compass clock and all displays will reflect the original data.

Metric - Sets all displays to metric values
Fixed North - Inverse rotation of compass.  Display of Sats, Home Target, Trails and compass will be north up.

The skin combobox shows folders which contain several bmp or png files and are in the same folder as Compass.exe
  Background.png is the background image
  Arrow.png is the compass
  Needle.png is the needle used for all gauges
  Needle2.png is the needle used for all 120 degree gauges (Needle.png is used if not present) (120 and 240 is default if Sweep set to 0)
  Hour.png, Minute.png,  Second.png  is the clock hands
  GaugeH.png and GaugeV.png are for H/V gauges
If Background.bmp is missing it will have a transparent background a little larger than the arrow.
If any other image is missing it will be drawn internally
For bmp use black as the transparent color.

Command Line Parameters for embedding:

  Compass <Parent Window> <X offset> <Y offset> <Skin Folder>

  Parent Window - Window to attach to.  Will move with window
  X and Y offset - Position offset of parent window or or desktop if no window given
  Skin Folder - Name of folder with shin images to load on startup
  Compass "Command Prompt" 30 10 Cyan   (Will attach to a command prompt window with the Cyan skin)
  Compass "Command Prompt" -1 -1             (Will attach to a command prompt window in the bottom right corner)
  Compass "Untitled - Notepad" 0 -1              (Will attach to a notepad window in the top right corner)
  Compass  400 100                                     (Will set position and 400x 100y on desktop)

Log path names:


Copyright 2017 Curious Technology