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