http://mbed.org/users/nyatla/code/libMiMic/#f525c6e5e27b