• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

LCD SPI projects.


Active Member
I've been working on a test PCB using 18LF4520 PIC (3.3V). If it's suitable can you use these pinouts please.

If you're all in full flight and this isn't the time to change, I can change either the PCB or the pinouts later, so no problem.

It has a 5110 connection, but any LCD that you are working on can be easily fitted.

Note: the onboard Barometer module, will be changed to a BPM 280 which is mounted on a separate mini PCB.
Note: The extra PINs are for connections on the other side of the PCB. (Hopefully, I will make double sided next time)

EDIT: don't use these, there are errors with MOSI MISO.



Last edited:


Active Member
Apologies Cam... We hijacked the thread for a tad!!!
Hi I,
Apologies absolutely not necessary, I'm enjoying all of the inputs.
I have been concentrating more on the PCb, so not really keeping up with all of your efforts, but they look interesting.


Well-Known Member
Most Helpful Member
5Mhz SPI... Wow you are nearly at the limit.... I think most devices ( LCD's) are okay up to 10Mhz
hi Nigel, Ian.
Checked the SPI clock on the scope, it confirms 200nSec rate.
Changed the SPI Func to a Proc as a ret value is not required on the 9225 TFT LCD
Also replaced the call spi(xxx) in often used Proc's, to the actual SPI code.

''''Call wr_spi8(color.HB)
spi8 = SSPBUF
SSPBUF = color.HB

I appreciate this uses more code space, but it bypasses the clunky Oshonsoft Basic Proc code calls.

Running the PIC alongside a Arduino UNO, doing screen colour fills, the PIC is now faster!!.


Ian Rogers

User Extraordinaire
Forum Supporter
Most Helpful Member
I appreciate this uses more code space, but it bypasses the clunky Oshonsoft Basic Proc code calls.
Should use a lot less code... Software SPI is quite a few lines...

Whoops!! I see what you mean.. Duplicating the SSPBUF write!! You could use the old "GOTO" instead of duplicating the write!!

P.S.... Also you could have a macro in assembly that does the write!!
Last edited:


Active Member
Hi All,
Here are the corrected double sided PCB files:


I use SVG files for printing to etch as they keep the same size, so PINs etc line up. I'm unable to upload them. If there's a way, I can post them.

Here are the modules for the PCB:
There is provision for using different LCd modules, by changing or using vacant connections.
There are 4x spare analogue PINs
It has a connection for on board programming (Pickit3)


Last edited:

Latest threads

EE World Online Articles