diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,3 +14,7 @@
 ## 0.1.1 -- 2021-04-06
 
 * Tested against ByteString 0.10, relaxed dependency constraint
+
+## 0.1.2 -- 2021-05-26
+
+* Added `with` as a wrapper for Serialport.withSerial
diff --git a/fxpak.cabal b/fxpak.cabal
--- a/fxpak.cabal
+++ b/fxpak.cabal
@@ -1,5 +1,5 @@
 name:                fxpak
-version:             0.1.1
+version:             0.1.2
 synopsis:            Interface to the FXPak/FXPak Pro USB interface
 description:         Wraps Serial interaction with FXPak/FXPak Pro devices
 homepage:            https://github.com/wuest/fxpak
diff --git a/src/System/Hardware/FXPak.hs b/src/System/Hardware/FXPak.hs
--- a/src/System/Hardware/FXPak.hs
+++ b/src/System/Hardware/FXPak.hs
@@ -20,7 +20,7 @@
                              , Packet, Opcode(..), Context(..), Arguments(..)
                              , FI.AddressGet(..), FI.AddressSet(..)
                              , FI.Flag(..), Flags
-                             , open, packet, send
+                             , open, with, packet, send
                              ) where
 
 import Prelude
@@ -175,6 +175,9 @@
 -- | Open a given serial device as an FXPak
 open :: FilePath -> IO FXPak
 open = flip Serial.openSerial Serial.defaultSerialSettings
+
+with :: FilePath -> (FXPak -> IO a) -> IO a
+with = flip Serial.withSerial Serial.defaultSerialSettings
 
 -- | Encode a packet to send to an FXPak, preventing encoding of invalid packets
 packet :: (FI.ValidPacket c o a ~ 'True) => Context (FI.Context' c) -> Opcode (FI.Opcode' o) -> Flags -> Arguments (FI.Arguments' a) -> Packet
