diff --git a/sbp.cabal b/sbp.cabal
--- a/sbp.cabal
+++ b/sbp.cabal
@@ -1,5 +1,5 @@
 name: sbp
-version: 2.2.16
+version: 2.2.17
 cabal-version: >=1.22
 build-type: Simple
 license: LGPL-3
@@ -56,6 +56,7 @@
         SwiftNav.SBP.Gnss
         SwiftNav.SBP.Imu
         SwiftNav.SBP.Logging
+        SwiftNav.SBP.Mag
         SwiftNav.SBP.Navigation
         SwiftNav.SBP.Ndb
         SwiftNav.SBP.Observation
@@ -76,8 +77,8 @@
         bytestring >=0.10.6.0,
         conduit >=1.2.10,
         conduit-extra >=1.1.16,
-        sbp,
-        resourcet >=1.1.9
+        resourcet >=1.1.9,
+        sbp
     default-language: Haskell2010
     hs-source-dirs: main
     ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
@@ -91,8 +92,8 @@
         binary-conduit >=1.2.4.1,
         conduit >=1.2.10,
         conduit-extra >=1.1.16,
-        sbp,
-        resourcet >=1.1.9
+        resourcet >=1.1.9,
+        sbp
     default-language: Haskell2010
     hs-source-dirs: main
     ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
@@ -106,8 +107,8 @@
         bytestring >=0.10.6.0,
         conduit >=1.2.10,
         conduit-extra >=1.1.16,
-        sbp,
         resourcet >=1.1.9,
+        sbp,
         yaml >=0.8.23
     default-language: Haskell2010
     hs-source-dirs: main
diff --git a/src/SwiftNav/SBP.hs b/src/SwiftNav/SBP.hs
--- a/src/SwiftNav/SBP.hs
+++ b/src/SwiftNav/SBP.hs
@@ -12,21 +12,22 @@
   ( module Exports
   ) where
 
+import SwiftNav.SBP.Msg as Exports
+import SwiftNav.SBP.Types as Exports
 import SwiftNav.SBP.Acquisition as Exports
-import SwiftNav.SBP.Bootload    as Exports
-import SwiftNav.SBP.ExtEvents   as Exports
-import SwiftNav.SBP.FileIo      as Exports
-import SwiftNav.SBP.Flash       as Exports
-import SwiftNav.SBP.Gnss        as Exports
-import SwiftNav.SBP.Imu         as Exports
-import SwiftNav.SBP.Logging     as Exports
-import SwiftNav.SBP.Msg         as Exports
-import SwiftNav.SBP.Navigation  as Exports
-import SwiftNav.SBP.Ndb         as Exports
+import SwiftNav.SBP.Bootload as Exports
+import SwiftNav.SBP.ExtEvents as Exports
+import SwiftNav.SBP.FileIo as Exports
+import SwiftNav.SBP.Flash as Exports
+import SwiftNav.SBP.Gnss as Exports
+import SwiftNav.SBP.Imu as Exports
+import SwiftNav.SBP.Logging as Exports
+import SwiftNav.SBP.Mag as Exports
+import SwiftNav.SBP.Navigation as Exports
+import SwiftNav.SBP.Ndb as Exports
 import SwiftNav.SBP.Observation as Exports
-import SwiftNav.SBP.Piksi       as Exports
-import SwiftNav.SBP.Settings    as Exports
-import SwiftNav.SBP.System      as Exports
-import SwiftNav.SBP.Tracking    as Exports
-import SwiftNav.SBP.Types       as Exports
-import SwiftNav.SBP.User        as Exports
+import SwiftNav.SBP.Piksi as Exports
+import SwiftNav.SBP.Settings as Exports
+import SwiftNav.SBP.System as Exports
+import SwiftNav.SBP.Tracking as Exports
+import SwiftNav.SBP.User as Exports
diff --git a/src/SwiftNav/SBP/Acquisition.hs b/src/SwiftNav/SBP/Acquisition.hs
--- a/src/SwiftNav/SBP/Acquisition.hs
+++ b/src/SwiftNav/SBP/Acquisition.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Acquisition
@@ -24,12 +24,12 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
-import SwiftNav.SBP.Gnss
 import SwiftNav.SBP.TH
 import SwiftNav.SBP.Types
+import SwiftNav.SBP.Gnss
 
 {-# ANN module ("HLint: ignore Use camelCase"::String) #-}
 {-# ANN module ("HLint: ignore Redundant do"::String) #-}
diff --git a/src/SwiftNav/SBP/Bootload.hs b/src/SwiftNav/SBP/Bootload.hs
--- a/src/SwiftNav/SBP/Bootload.hs
+++ b/src/SwiftNav/SBP/Bootload.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Bootload
@@ -26,7 +26,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/ExtEvents.hs b/src/SwiftNav/SBP/ExtEvents.hs
--- a/src/SwiftNav/SBP/ExtEvents.hs
+++ b/src/SwiftNav/SBP/ExtEvents.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.ExtEvents
@@ -25,7 +25,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/FileIo.hs b/src/SwiftNav/SBP/FileIo.hs
--- a/src/SwiftNav/SBP/FileIo.hs
+++ b/src/SwiftNav/SBP/FileIo.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.FileIo
@@ -29,7 +29,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Flash.hs b/src/SwiftNav/SBP/Flash.hs
--- a/src/SwiftNav/SBP/Flash.hs
+++ b/src/SwiftNav/SBP/Flash.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Flash
@@ -27,7 +27,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Gnss.hs b/src/SwiftNav/SBP/Gnss.hs
--- a/src/SwiftNav/SBP/Gnss.hs
+++ b/src/SwiftNav/SBP/Gnss.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Gnss
@@ -24,7 +24,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Imu.hs b/src/SwiftNav/SBP/Imu.hs
--- a/src/SwiftNav/SBP/Imu.hs
+++ b/src/SwiftNav/SBP/Imu.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Imu
@@ -24,7 +24,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Logging.hs b/src/SwiftNav/SBP/Logging.hs
--- a/src/SwiftNav/SBP/Logging.hs
+++ b/src/SwiftNav/SBP/Logging.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Logging
@@ -24,7 +24,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Mag.hs b/src/SwiftNav/SBP/Mag.hs
new file mode 100644
--- /dev/null
+++ b/src/SwiftNav/SBP/Mag.hs
@@ -0,0 +1,76 @@
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
+
+-- |
+-- Module:      SwiftNav.SBP.Mag
+-- Copyright:   Copyright (C) 2015 Swift Navigation, Inc.
+-- License:     LGPL-3
+-- Maintainer:  Mark Fine <dev@swiftnav.com>
+-- Stability:   experimental
+-- Portability: portable
+--
+-- Magnetometer (mag) messages.
+
+module SwiftNav.SBP.Mag
+  ( module SwiftNav.SBP.Mag
+  ) where
+
+import BasicPrelude
+import Control.Lens
+import Control.Monad.Loops
+import Data.Binary
+import Data.Binary.Get
+import Data.Binary.IEEE754
+import Data.Binary.Put
+import Data.ByteString.Lazy    hiding (ByteString)
+import Data.Int
+import Data.Word
+import SwiftNav.SBP.TH
+import SwiftNav.SBP.Types
+
+{-# ANN module ("HLint: ignore Use camelCase"::String) #-}
+{-# ANN module ("HLint: ignore Redundant do"::String) #-}
+{-# ANN module ("HLint: ignore Use newtype instead of data"::String) #-}
+
+
+msgMagRaw :: Word16
+msgMagRaw = 0x0902
+
+-- | SBP class for message MSG_MAG_RAW (0x0902).
+--
+-- Raw data from the magnetometer.
+data MsgMagRaw = MsgMagRaw
+  { _msgMagRaw_tow :: !Word32
+    -- ^ Milliseconds since start of GPS week. If the high bit is set, the time
+    -- is unknown or invalid.
+  , _msgMagRaw_tow_f :: !Word8
+    -- ^ Milliseconds since start of GPS week, fractional part
+  , _msgMagRaw_mag_x :: !Int16
+    -- ^ Magnetic field in the body frame X axis
+  , _msgMagRaw_mag_y :: !Int16
+    -- ^ Magnetic field in the body frame Y axis
+  , _msgMagRaw_mag_z :: !Int16
+    -- ^ Magnetic field in the body frame Z axis
+  } deriving ( Show, Read, Eq )
+
+instance Binary MsgMagRaw where
+  get = do
+    _msgMagRaw_tow <- getWord32le
+    _msgMagRaw_tow_f <- getWord8
+    _msgMagRaw_mag_x <- fromIntegral <$> getWord16le
+    _msgMagRaw_mag_y <- fromIntegral <$> getWord16le
+    _msgMagRaw_mag_z <- fromIntegral <$> getWord16le
+    pure MsgMagRaw {..}
+
+  put MsgMagRaw {..} = do
+    putWord32le _msgMagRaw_tow
+    putWord8 _msgMagRaw_tow_f
+    putWord16le $ fromIntegral _msgMagRaw_mag_x
+    putWord16le $ fromIntegral _msgMagRaw_mag_y
+    putWord16le $ fromIntegral _msgMagRaw_mag_z
+
+$(makeSBP 'msgMagRaw ''MsgMagRaw)
+$(makeJSON "_msgMagRaw_" ''MsgMagRaw)
+$(makeLenses ''MsgMagRaw)
diff --git a/src/SwiftNav/SBP/Msg.hs b/src/SwiftNav/SBP/Msg.hs
--- a/src/SwiftNav/SBP/Msg.hs
+++ b/src/SwiftNav/SBP/Msg.hs
@@ -1,8 +1,8 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
+{-# LANGUAGE OverloadedStrings           #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Msg
@@ -32,6 +32,7 @@
 import SwiftNav.SBP.Gnss
 import SwiftNav.SBP.Imu
 import SwiftNav.SBP.Logging
+import SwiftNav.SBP.Mag
 import SwiftNav.SBP.Navigation
 import SwiftNav.SBP.Ndb
 import SwiftNav.SBP.Observation
@@ -39,8 +40,8 @@
 import SwiftNav.SBP.Settings
 import SwiftNav.SBP.System
 import SwiftNav.SBP.Tracking
-import SwiftNav.SBP.Types
 import SwiftNav.SBP.User
+import SwiftNav.SBP.Types
 
 
 -- | An SBP message ADT composed of all defined SBP messages.
@@ -115,6 +116,7 @@
    | SBPMsgIono MsgIono Msg
    | SBPMsgLog MsgLog Msg
    | SBPMsgM25FlashWriteStatus MsgM25FlashWriteStatus Msg
+   | SBPMsgMagRaw MsgMagRaw Msg
    | SBPMsgMaskSatellite MsgMaskSatellite Msg
    | SBPMsgNapDeviceDnaReq MsgNapDeviceDnaReq Msg
    | SBPMsgNapDeviceDnaResp MsgNapDeviceDnaResp Msg
@@ -244,6 +246,7 @@
           | _msgSBPType == msgIono = SBPMsgIono (decode (fromStrict (unBytes _msgSBPPayload))) m
           | _msgSBPType == msgLog = SBPMsgLog (decode (fromStrict (unBytes _msgSBPPayload))) m
           | _msgSBPType == msgM25FlashWriteStatus = SBPMsgM25FlashWriteStatus (decode (fromStrict (unBytes _msgSBPPayload))) m
+          | _msgSBPType == msgMagRaw = SBPMsgMagRaw (decode (fromStrict (unBytes _msgSBPPayload))) m
           | _msgSBPType == msgMaskSatellite = SBPMsgMaskSatellite (decode (fromStrict (unBytes _msgSBPPayload))) m
           | _msgSBPType == msgNapDeviceDnaReq = SBPMsgNapDeviceDnaReq (decode (fromStrict (unBytes _msgSBPPayload))) m
           | _msgSBPType == msgNapDeviceDnaResp = SBPMsgNapDeviceDnaResp (decode (fromStrict (unBytes _msgSBPPayload))) m
@@ -365,6 +368,7 @@
       encoder (SBPMsgIono _ m) = put m
       encoder (SBPMsgLog _ m) = put m
       encoder (SBPMsgM25FlashWriteStatus _ m) = put m
+      encoder (SBPMsgMagRaw _ m) = put m
       encoder (SBPMsgMaskSatellite _ m) = put m
       encoder (SBPMsgNapDeviceDnaReq _ m) = put m
       encoder (SBPMsgNapDeviceDnaResp _ m) = put m
@@ -490,6 +494,7 @@
         | msgType == msgIono = SBPMsgIono <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
         | msgType == msgLog = SBPMsgLog <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
         | msgType == msgM25FlashWriteStatus = SBPMsgM25FlashWriteStatus <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
+        | msgType == msgMagRaw = SBPMsgMagRaw <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
         | msgType == msgMaskSatellite = SBPMsgMaskSatellite <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
         | msgType == msgNapDeviceDnaReq = SBPMsgNapDeviceDnaReq <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
         | msgType == msgNapDeviceDnaResp = SBPMsgNapDeviceDnaResp <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj
@@ -616,6 +621,7 @@
   toJSON (SBPMsgIono n m) = toJSON n <<>> toJSON m
   toJSON (SBPMsgLog n m) = toJSON n <<>> toJSON m
   toJSON (SBPMsgM25FlashWriteStatus n m) = toJSON n <<>> toJSON m
+  toJSON (SBPMsgMagRaw n m) = toJSON n <<>> toJSON m
   toJSON (SBPMsgMaskSatellite n m) = toJSON n <<>> toJSON m
   toJSON (SBPMsgNapDeviceDnaReq n m) = toJSON n <<>> toJSON m
   toJSON (SBPMsgNapDeviceDnaResp n m) = toJSON n <<>> toJSON m
@@ -736,6 +742,7 @@
   msg f (SBPMsgIono n m) = SBPMsgIono n <$> f m
   msg f (SBPMsgLog n m) = SBPMsgLog n <$> f m
   msg f (SBPMsgM25FlashWriteStatus n m) = SBPMsgM25FlashWriteStatus n <$> f m
+  msg f (SBPMsgMagRaw n m) = SBPMsgMagRaw n <$> f m
   msg f (SBPMsgMaskSatellite n m) = SBPMsgMaskSatellite n <$> f m
   msg f (SBPMsgNapDeviceDnaReq n m) = SBPMsgNapDeviceDnaReq n <$> f m
   msg f (SBPMsgNapDeviceDnaResp n m) = SBPMsgNapDeviceDnaResp n <$> f m
diff --git a/src/SwiftNav/SBP/Navigation.hs b/src/SwiftNav/SBP/Navigation.hs
--- a/src/SwiftNav/SBP/Navigation.hs
+++ b/src/SwiftNav/SBP/Navigation.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Navigation
@@ -32,7 +32,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Ndb.hs b/src/SwiftNav/SBP/Ndb.hs
--- a/src/SwiftNav/SBP/Ndb.hs
+++ b/src/SwiftNav/SBP/Ndb.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Ndb
@@ -24,12 +24,12 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
-import SwiftNav.SBP.Gnss
 import SwiftNav.SBP.TH
 import SwiftNav.SBP.Types
+import SwiftNav.SBP.Gnss
 
 {-# ANN module ("HLint: ignore Use camelCase"::String) #-}
 {-# ANN module ("HLint: ignore Redundant do"::String) #-}
diff --git a/src/SwiftNav/SBP/Observation.hs b/src/SwiftNav/SBP/Observation.hs
--- a/src/SwiftNav/SBP/Observation.hs
+++ b/src/SwiftNav/SBP/Observation.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Observation
@@ -24,12 +24,12 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
-import SwiftNav.SBP.Gnss
 import SwiftNav.SBP.TH
 import SwiftNav.SBP.Types
+import SwiftNav.SBP.Gnss
 
 {-# ANN module ("HLint: ignore Use camelCase"::String) #-}
 {-# ANN module ("HLint: ignore Redundant do"::String) #-}
diff --git a/src/SwiftNav/SBP/Piksi.hs b/src/SwiftNav/SBP/Piksi.hs
--- a/src/SwiftNav/SBP/Piksi.hs
+++ b/src/SwiftNav/SBP/Piksi.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Piksi
@@ -26,12 +26,12 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
-import SwiftNav.SBP.Gnss
 import SwiftNav.SBP.TH
 import SwiftNav.SBP.Types
+import SwiftNav.SBP.Gnss
 
 {-# ANN module ("HLint: ignore Use camelCase"::String) #-}
 {-# ANN module ("HLint: ignore Redundant do"::String) #-}
diff --git a/src/SwiftNav/SBP/Settings.hs b/src/SwiftNav/SBP/Settings.hs
--- a/src/SwiftNav/SBP/Settings.hs
+++ b/src/SwiftNav/SBP/Settings.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Settings
@@ -28,7 +28,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/System.hs b/src/SwiftNav/SBP/System.hs
--- a/src/SwiftNav/SBP/System.hs
+++ b/src/SwiftNav/SBP/System.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.System
@@ -24,7 +24,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
diff --git a/src/SwiftNav/SBP/Tracking.hs b/src/SwiftNav/SBP/Tracking.hs
--- a/src/SwiftNav/SBP/Tracking.hs
+++ b/src/SwiftNav/SBP/Tracking.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.Tracking
@@ -24,12 +24,12 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
-import SwiftNav.SBP.Gnss
 import SwiftNav.SBP.TH
 import SwiftNav.SBP.Types
+import SwiftNav.SBP.Gnss
 
 {-# ANN module ("HLint: ignore Use camelCase"::String) #-}
 {-# ANN module ("HLint: ignore Redundant do"::String) #-}
diff --git a/src/SwiftNav/SBP/User.hs b/src/SwiftNav/SBP/User.hs
--- a/src/SwiftNav/SBP/User.hs
+++ b/src/SwiftNav/SBP/User.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
+{-# LANGUAGE NoImplicitPrelude           #-}
+{-# LANGUAGE TemplateHaskell             #-}
+{-# LANGUAGE RecordWildCards             #-}
 
 -- |
 -- Module:      SwiftNav.SBP.User
@@ -24,7 +24,7 @@
 import Data.Binary.Get
 import Data.Binary.IEEE754
 import Data.Binary.Put
-import Data.ByteString.Lazy hiding (ByteString)
+import Data.ByteString.Lazy    hiding (ByteString)
 import Data.Int
 import Data.Word
 import SwiftNav.SBP.TH
