diff --git a/sys/arduino/base.cpp b/sys/arduino/base.cpp
index 4c800018ab20ff8f29977848bd390dec8259cdf0..99a7e794e2e69d9e02fbf0b67e729036b78017b2 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 int 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 b94f17519f9759993dc1f13689004f5e385fc923..6043b31c5760f4f7655e4a97bff061c734f849fe 100644
--- a/sys/arduino/include/arduino.hpp
+++ b/sys/arduino/include/arduino.hpp
@@ -82,6 +82,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
  *