To see the functionality of the GUI, click here.

A screenshot of our GUI. The user draws in the black region and then sends the final image to the PIC to be displayed.

Our interface records the position of the cursor as a user clicks and drags across the drawing canvas. To make precise drawing easier, the current cursor position is displayed in the bottom left hand corner of the GUI. Clicks in the “draw” mode are recorded as high values (ones) in a 2D matrix storing the display information in a binary format; in the “erase” mode, these values are set low again (zeros). Once the final image has been created, the binary matrix data is converted into two integer arrays (one for each port register used on the PIC) which are sent via USB to the PIC microcontroller on the display. The GUI is also enabled with a “clear” function to reset both the information stored on the GUI and the information stored on the PIC so that it can be reprogrammed.

After the user has drawn an image, it can be saved as a text file which will become the default image the next time the GUI is opened. The “send” button refreshes the connection to the PIC and calls the USB vendor request for sending image data between the PIC and the computer. Multiple evenly-spaced frames in the same image can also be used to create an animation if the rotation speed is adjusted to display one more or one fewer frames than were drawn; for examples of this, check out our media page.