diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+arduino-copilot (1.5.1) unstable; urgency=medium
+
+  * Fix type of pullup, limiting it to digital IO pins.
+
+ -- Joey Hess <id@joeyh.name>  Fri, 28 Feb 2020 23:15:39 -0400
+
 arduino-copilot (1.5.0) unstable; urgency=medium
 
   * Added whenB and scheduleB sketch combinators.
diff --git a/arduino-copilot.cabal b/arduino-copilot.cabal
--- a/arduino-copilot.cabal
+++ b/arduino-copilot.cabal
@@ -1,5 +1,5 @@
 Name: arduino-copilot
-Version: 1.5.0
+Version: 1.5.1
 Cabal-Version: >= 1.8
 License: BSD3
 Maintainer: Joey Hess <id@joeyh.name>
diff --git a/src/Copilot/Arduino.hs b/src/Copilot/Arduino.hs
--- a/src/Copilot/Arduino.hs
+++ b/src/Copilot/Arduino.hs
@@ -195,7 +195,7 @@
 -- will be read from the pin.
 --
 -- > pullup pin12
-pullup :: Pin t -> Sketch ()
+pullup :: IsDigitalIOPin t => Pin t -> Sketch ()
 pullup (Pin p) = tell [(\_ -> return (), \_ -> f)]
   where
 	f = mempty
