Hi
I am planning to build an Arduino-based autopilot module for my flight simulator running FSX. I am searching for an Arduino-compatible OLED/LCD/LED alpha-numeric display which is capable of displaying in the format shown in the photo attached.
Note that letters are on different lines and have less than half the height of the numerals.
I would be grateful to anyone who could point me to a suitable display and library.
Thank you!
Chakko.
How large would you like the displays to be ?
You can use 2 different font sizes on a single display, that wouldn't be a real problem.
See Oliver Kraus´ U8glib (click !) for lots of interesting stuff on that.
And how about this small and narrow module ?
Or this one which is the same width, but twice as high ?
The latter ones are used a lot, and keep in mind that it's size (0.96 inch) is really small.
Those are available in white on black, blue on black and yellow and blue on black.
Yellow and blue means there's a small (1/4th of the height) area where you can print yellow characters, and the rest would be blue, with about 1 line that can't be used between them.
Would look a bit like this:
Just some picture i googled to show you.
Be aware that these different types exist and order the correct one for your purpose.
@MAS3
Thank you so much for your pointers. I should have specified the display size I am looking for....I presently use 7-segment LED units whose digits are about 9 mm (0.36 inch) tall, and would be looking for displays of about the same size.....the displays you have pointed out are unfortunately too small. Nevertheless, you got me searching for 'multifont serial OLED's' and I came up with this:
These units are about ideal for my present application and there are libraries available to interface it with Arduino.
However, they are sold in the USA and rather expensive to import to my present location (India), so I will also be looking for equivalent models available in Europe/Asia/the Far East.
As before, I would be grateful to anyone who could point me to similar units, preferably in the 2x20 size.
Thanks,
Chakko.
@rowboteer
Thank you for your response!
I have used those MAX-7219-based 8-digit 7-segment LED modules for many of my autopilot displays over the last few years. Unfortunately, they are purely numeric displays and are NOT capable of displaying the alphabet, nor handling multiple font sizes.
I tend to use full colour TFT displays for these type of projects.
The attached image shows what is possible with a 7 segment font and a smooth font. I expect you have further design constraints so you will need to decide if this is an approach you want to take.
@rowboteer, @MAS3
Thank you so much for showing me the possibilities with TFT LCD displays......very promising indeed.....the only problem I can see is that the display aspect ratio is too square.....when compared with the displays that I am trying to emulate. A squarish module with an overall height of ~54 mm (= pcb width) as shown in your photo would eat into the space on my panel faceplate that is needed for other switches and knobs.....as I would be using only a little more than 10 mm of that height if I chose the smooth font.
Nevertheless this is the most promising lead I have so far...... and I will have to search for a unit with the narrowest footprint possible. Would you please post the links to the library and the sketch you have used to create the image displayed in your photo.....Thanks!
As I have not used such displays before, would you also be able to tell me how many could be controlled with one Arduino Mega?
Thank you again for the interest you are showing in my search.
OK, since the aspect ratio is important perhaps use the LED MAX7219 displays you are familiar with as a starting point and add some miniature OLED displays (Monochrome or colour) to the left of these for the parameter labels.
The code will not be much use to you unless you use that particular library and display as it includes library specific formatting (L/R justification, text baseline alignment, and padding functions to blank old numbers). In fact your needs were used as a test case for these, but here is the code segment of interest:
rowboteer:
OK, since the aspect ratio is important perhaps use the LED MAX7219 displays you are familiar with as a starting point and add some miniature OLED displays (Monochrome or colour) to the left of these for the parameter labels.
Yours is a brilliant idea.....and a very practical and cost-effective solution to my problem.......Thank you!
Thank you again for the time and trouble you have taken to help me with this.......absolutely appreciated! This is a Great community with Wonderful people!
Another super low cost option is to stick labels by the display and have a singe LED by each label to show which is active.
I just remembered that the eBay LED displays that I provided a link to sometimes have a PCB fault (you get what you pay for!). The Dout line (to feed another display) is shorted to VCC at the chip pin by a via which touches the Dout track (see photos). Easy enough to cut with a razor blade, but not so good. (It also means the module draws much more current than it should as the data line is shorted to the rail). See attached.
Another possible problem is that the VCC to the board is fed via a diode to prevent reverse connection burning out the MAX7219, but the "loopthrough" VCC also comes via the diode, so a second board gets fewer volts (and is therefore dimmer). Again, easy to fix (short out the diode).
EDit: Ha! You can even see the short in the eBay photo!
rowboteer:
Another super low cost option is to stick labels by the display and have a singe LED by each label to show which is active.
Yes, I was aware of that solution, but shied away from it because in this case it would require channeling the LED light into either the upper or lower row, and ensuring no spillover of this light into the other row or elsewhere in the panel......I have seen projects where this has been achieved, but as this display has rather small dimensions, I am not confident I can build that myself neatly with the tools I have at hand.
Thank you for the heads-up on the displays sold on eBay. I generally source mine from EastRising or AliExpress, but shall look out for this.
I know I will find the answer when I go through the documentation and posts about this 128X64 0.96 inch OLED, but would you know off-hand how many of these can be controlled from a single Arduino on a Serial I2C connection?
tomahawk66:
...how many of these can be controlled from a single Arduino on a Serial I2C connection?
The display supports both I2C and SPI busses. Both of these busses are designed to be multi-drop and hence you can daisy chain 10 or more devices. SPI usually needs a chip select per module. SPI can run at higher bit rates (many Megabits per second) whereas 12C runs slower, typically 100Kbits per second. The data rate will affect how quickly you can change what is displayed, however as you have relatively modest needs I2C may be adequate. Adafruit have some good tutorials on the topic.
I have used the 0.96-inch 128x64 graphic OLEDs in pairs to increase the width, making them comparable in size and aspect ratio to the 4-digit 7-segment numeric LED's I have used earlier. All 8 OLED's are interfaced to a single Arduino Mega using 4-wire SPI and William Greiman's SSD1306Ascii library.
Many thanks again to rowboteer and MAS3 for their good advice.