diff --git a/sys/arduino/base.cpp b/sys/arduino/base.cpp
index 4c800018ab20ff8f29977848bd390dec8259cdf0..65f6a450c001043b63c88079c65d18f0e5fbe214 100644
--- a/sys/arduino/base.cpp
+++ b/sys/arduino/base.cpp
@@ -62,6 +62,16 @@ void delay(unsigned long msec)
     xtimer_usleep(1000 * msec);
 }
 
+void delayMicroseconds(unsigned long usec)
+{
+    xtimer_usleep(usec);
+}
+
+unsigned long micros()
+{
+    return xtimer_now_usec();
+}
+
 /*
  * Bitfield for the state of the ADC-channels.
  * 0: Not initialized
diff --git a/sys/arduino/include/arduino.hpp b/sys/arduino/include/arduino.hpp
index d14e346f889f32a469ea6bada49b40d3dbbe71a8..1d4fbcf6571b1089615c3d684e3b15d3956c70e1 100644
--- a/sys/arduino/include/arduino.hpp
+++ b/sys/arduino/include/arduino.hpp
@@ -89,6 +89,20 @@ int digitalRead(int pin);
  */
 void delay(unsigned long msec);
 
+/**
+ * @brief   Sleep for a given amount of time [microseconds]
+ *
+ * @param[in] usec      number of microseconds to sleep
+ */
+void delayMicroseconds(unsigned long usec);
+
+/**
+ * @brief   Returns the number of microseconds since start
+ *
+ * @return value of microseconds since start
+ */
+unsigned long micros();
+
 /**
  * @brief   Read the current value of the given analog pin
  *