Qwiic Digital Desk Sign with MicroMod

Pages
Contributors: bboyho
Favorited Favorite 2

Making It Better

There’s always room for improvement. After the project was completed, I realized that the project could be improved. Below are a list of possible upgrades and improvements that could be implemented for future builds.

  • Efficient Arduino Code
    • After the finishing the code to display a message on the serial character LCD, I found out there was also an SerLCD Arduino Library to control the serial character LCD. The examples used in this tutorial could be updated with latest SerLCD Arduino Library functions to reduce redundancies in the code.
    • I could also create modular function to move the cursor on the serial character LCD to reduce redundancies in code.
    • To make the code more efficient, run slightly faster, and save space on the processor, I could use #ifdef's use Serial.print() only when I am debugging the code. The trade off is that this would create more lines of code. *The display would react slowly to the button press. Adjusting the delay between each I2C transmission and using the SerLCD Arduino Library could increase amount of characters sent to improve the performance.
  • More macros to include more predefined messages
    • The predefined messages were limited to just the function keys. I could include more predefined messages by using button combinations.
  • Alternative Processors
    • When writing the code, the only processor that had USB host was the MicroMod SAMD51 Processor Board. Now that the MicroMod Teensy Processor Board is available, the code could be modified to use with PJRC's USB Host Library, which can has additional keyboard support. There's also the MicroMod RP2040 Processor Board also has host support through the Raspbbery Pi Pico SDK.
  • Alternative Displays
    • The 16x2 and 20x4 Character LCDs only provide a limited number of characters on the display. Using a different display from the SparkFun catalog could allow for more space to add longer messages or add intricate animations depending on the type of display.