diff --git a/frc971/wpilib/ahal/ControllerPower.cc b/frc971/wpilib/ahal/ControllerPower.cc
index 9637d17..413f324 100644
--- a/frc971/wpilib/ahal/ControllerPower.cc
+++ b/frc971/wpilib/ahal/ControllerPower.cc
@@ -7,11 +7,11 @@
 
 #include "frc971/wpilib/ahal/ControllerPower.h"
 
-#include <stdint.h>
+#include <cstdint>
 
+#include "frc971/wpilib/ahal/ErrorBase.h"
 #include "hal/HAL.h"
 #include "hal/Power.h"
-#include "frc971/wpilib/ahal/ErrorBase.h"
 
 using namespace frc;
 
diff --git a/frc971/wpilib/ahal/CounterBase.h b/frc971/wpilib/ahal/CounterBase.h
index 868dbe6..553575f 100644
--- a/frc971/wpilib/ahal/CounterBase.h
+++ b/frc971/wpilib/ahal/CounterBase.h
@@ -7,7 +7,7 @@
 
 #pragma once
 
-#include <stdint.h>
+#include <cstdint>
 
 namespace frc {
 
diff --git a/frc971/wpilib/ahal/DigitalInput.h b/frc971/wpilib/ahal/DigitalInput.h
index 2053e4e..cd26773 100644
--- a/frc971/wpilib/ahal/DigitalInput.h
+++ b/frc971/wpilib/ahal/DigitalInput.h
@@ -7,8 +7,7 @@
 
 #pragma once
 
-#include <stdint.h>
-
+#include <cstdint>
 #include <memory>
 #include <string>
 
diff --git a/frc971/wpilib/ahal/SPI.h b/frc971/wpilib/ahal/SPI.h
index d7c6b95..1d439b2 100644
--- a/frc971/wpilib/ahal/SPI.h
+++ b/frc971/wpilib/ahal/SPI.h
@@ -7,14 +7,13 @@
 
 #pragma once
 
-#include <stdint.h>
-
-#include <memory>
-
 #include <hal/SPITypes.h>
 #include <wpi/ArrayRef.h>
 #include <wpi/deprecated.h>
 
+#include <cstdint>
+#include <memory>
+
 namespace frc {
 
 class DigitalSource;
@@ -39,8 +38,8 @@
 
   ~SPI();
 
-  SPI(SPI&&) = default;
-  SPI& operator=(SPI&&) = default;
+  SPI(SPI &&) = default;
+  SPI &operator=(SPI &&) = default;
 
   /**
    * Configure the rate of the generated clock signal.
@@ -119,7 +118,7 @@
    * If not running in output only mode, also saves the data received
    * on the MISO input during the transfer into the receive FIFO.
    */
-  virtual int Write(uint8_t* data, int size);
+  virtual int Write(uint8_t *data, int size);
 
   /**
    * Read a word from the receive FIFO.
@@ -134,7 +133,7 @@
    *                 that data is already in the receive FIFO from a previous
    *                 write.
    */
-  virtual int Read(bool initiate, uint8_t* dataReceived, int size);
+  virtual int Read(bool initiate, uint8_t *dataReceived, int size);
 
   /**
    * Perform a simultaneous read/write transaction with the device
@@ -143,7 +142,7 @@
    * @param dataReceived Buffer to receive data from the device
    * @param size         The length of the transaction, in bytes
    */
-  virtual int Transaction(uint8_t* dataToSend, uint8_t* dataReceived, int size);
+  virtual int Transaction(uint8_t *dataToSend, uint8_t *dataReceived, int size);
 
   /**
    * Initialize automatic SPI transfer engine.
@@ -191,7 +190,7 @@
    * @param rising trigger on the rising edge
    * @param falling trigger on the falling edge
    */
-  void StartAutoTrigger(DigitalSource& source, bool rising, bool falling);
+  void StartAutoTrigger(DigitalSource &source, bool rising, bool falling);
 
   /**
    * Stop running the automatic SPI transfer engine.
@@ -222,7 +221,7 @@
    * @param timeout timeout in seconds (ms resolution)
    * @return Number of words remaining to be read
    */
-  int ReadAutoReceivedData(uint32_t* buffer, int numToRead, double timeout);
+  int ReadAutoReceivedData(uint32_t *buffer, int numToRead, double timeout);
 
   /**
    * Get the number of bytes dropped by the automatic SPI transfer engine due
diff --git a/frc971/wpilib/ahal/SensorBase.h b/frc971/wpilib/ahal/SensorBase.h
index 1d95330..a4de9cc 100644
--- a/frc971/wpilib/ahal/SensorBase.h
+++ b/frc971/wpilib/ahal/SensorBase.h
@@ -7,7 +7,7 @@
 
 #pragma once
 
-#include <stdint.h>
+#include <cstdint>
 
 #include "frc971/wpilib/ahal/ErrorBase.h"
 
diff --git a/frc971/wpilib/ahal/Utility.h b/frc971/wpilib/ahal/Utility.h
index be8dc35..196dfce 100644
--- a/frc971/wpilib/ahal/Utility.h
+++ b/frc971/wpilib/ahal/Utility.h
@@ -11,8 +11,7 @@
  * Contains global utility functions
  */
 
-#include <stdint.h>
-
+#include <cstdint>
 #include <string>
 
 #include "wpi/StringRef.h"
diff --git a/frc971/wpilib/ahal/WPIErrors.h b/frc971/wpilib/ahal/WPIErrors.h
index da72d00..482240c 100644
--- a/frc971/wpilib/ahal/WPIErrors.h
+++ b/frc971/wpilib/ahal/WPIErrors.h
@@ -7,7 +7,7 @@
 
 #pragma once
 
-#include <stdint.h>
+#include <cstdint>
 
 #ifdef WPI_ERRORS_DEFINE_STRINGS
 #define S(label, offset, message)            \
