The function prototype did not match the function in keyboard.c, the len var changed to uint16_t from uint8_t: void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len)