Reading the source code we see that the arduino creates a QR code and sets up a display to show this QR code. We get i2c logs between the communication of the arduino and the display. Going through the library used, we can easily see the structure of the messages and how each pixel is sent to the display.
We decode the logs to get the display and get the flag from the resulting QR code.
See URL for [full implementation](https://github.com/pberba/ctf-solutions/blob/master/20190907-trendmicro/iot-100/solution.ipynb)