As anyone been successful to display a simple text or a grayscale image to the OLED display using the SSD1322 controller like the Newhaven Display 25664?
I have managed to initialize the display using the provided sample code, now battling to display a simple text or image, I'm kind of stuck as the datasheet and application note doesn't guide much.
Any hint or reference example will be appreciated.
I am using PIC16F18877 with XC8 compiler but anything with an 8-bit microcontroller will be appreciated.
-
2\$\begingroup\$ The SSD1322 display controller is well supported on the Arduino platform. You might look at the u8g2 library for inspiration, for example. \$\endgroup\$– StarCatCommented Mar 22, 2021 at 11:13
-
\$\begingroup\$ At least you have enough RAM for a full frame buffer (2K bytes- half your available RAM - is required for monochrome 256 x 64). \$\endgroup\$– Spehro 'speff' PefhanyCommented Mar 22, 2021 at 11:19
-
\$\begingroup\$ I have made a linux kernel driver for it, but it is up to OS to fill the frame buffer. Now, you do need some routines that will fill the buffer, not very different approach for any other LCD. What are your expectations? What was the way you thought to turn on/off display pixels? \$\endgroup\$– Marko BuršičCommented Mar 22, 2021 at 11:44
-
2\$\begingroup\$ You need to ask a more specific question here. "Has anyone been successful to 'X'" is really not a good fit for a stack exchange site. I could simply answer with "yes" - and this would be of no use to anyone. The implied 'question' (which isn't really a question) of "Please guide me to do 'X'" is far too broad in scope. \$\endgroup\$– brhansCommented Mar 22, 2021 at 12:11
3 Answers
Look at the example code that you linked to. It has multiple functions that you want, for show font (single character), show string, show pattern, and the demo functions (pushes a black and white bmp). If you can get those working as described then you should have what you need.
-
-
\$\begingroup\$ In the link you provided of the "sample code" \$\endgroup\$– PasserbyCommented Mar 25, 2021 at 1:04
I have had good experience with the u8g2 lib. I used this with 6800 parallel IO. But I think I2C or SPI will also work.
I used the PIC32mx170 but the other PIC cpu should also work well.
-
\$\begingroup\$ Do you mind sharing some of your code using the PIC32mx170? \$\endgroup\$– John123Commented Jun 24, 2021 at 14:17
-
\$\begingroup\$ If you are interested still i can send an example.. What is the best way to add a snipet? \$\endgroup\$ Commented Aug 4, 2023 at 10:29
It's always a bit of a headache to interface a display until you get it working as you usually have little ways to know what is wrong, it can be the protocol, the bus, wrong init, wrong data format, wrong bus settings, or any other hardware issue.
The best is to use a logic bus analyzer to check if what your MCU is sending matches the datasheet.
There are no "good magic" ways to debug besides reading the datasheet again and again and checking for sample codes and check the circuit if you are missing pullups and such sort of things.
A good way is to have some working demo board using the same display so you can compare what is sent to the bus and it gives you a reference and a starting point.
Also, make sure your display actually works, sometimes it's good to have a couple of them.