Displays

3.12″ 256×64 OLED

This display will be used in the CMSP panel. I got them from AliExpress for about $20/each. They are green and look very nice, absolutely worth the money. However, they are not well documented by the seller.

This display uses an SSD1322 controller and works with the U8g2 library in 4-wire SPI mode. This does however require the resoldering of a 0603 SMD resistor. It needs to be moved from R6 to R5 as the displays are delivered in 8080 mode.

Once that’s done, use the following pinout for hardware SPI:

DisplayArduino NanoArduino Mega
16D10D53
15D8D48
14D9D49
5D11D51
4D13D52
25V5V
1GNDGND
Source

Then you can use the display with the U8g2 library, my sample code for the CMSP panel is available here. This is only a sample and needs some more work, font is not correct etc.

Note: While it is possible to used the display with the Arduino Nano, i recommend the Mega because the Nano cannot fit the whole frame buffer in memory, so the Mega will redraw faster. Its not a huge deal, but if possible use the Mega.

3.5″ 480×320 Arduino Mega LCD Shield

This display was also purchased from AliExpress and is documented here. The original library is here, however it’s quite slow. I recommend TFT_HX8357 which works out the box and is a lot faster.

There is no support for dimming the backlight, but it’s possible with a very simple hardware mod. I used a simple MMBT4401 transistor and the original resistor. Desolder the 2Ω resistor from the board and check which of the pads is GND. Don’t follow my picture blindly as there are multiple revisions of this board, some with the pads flipped! Once you have established the position of GND and the backlight cathode, you can install the MMBT4401. Solder the emitter to GND, collector to the cathode via the original resistor, and the base the header pins where the Arduino Mega pin 46 (PWM) connects. This pin is NC on the shield so if you carefully melt away the plastic of the pin header you can connect the base to this pin and use it to drive the backlight from software.

Schematic
The modified shield

Custom Fonts

For U8G2-displays

I’m still on the look for the proper fonts for all the displays in the A-10C, and if i can’t find them, here is how to make fonts for use with the U8G2 library.

  1. Fony can be used to draw bitmap fonts, i can be run in Wineskin on macOS.
  2. From Fony you need to export a .bdf font.
  3. Then you need to run bdfconv and import the result into your Arduino sketch:
    • bdfconv -f 1 -m '32,44-90' -n CMSP_Small_font -o CMSP_Small_font.h CMSP\ Small.bdf

For Adafruit-GFX (TFT_HX8357)

Use the Adafruit Font Customizer.