LCD will not cooperate with PICA 12v revC board [SOLVED]


LCD is the Full Graphics Smart Controller. Mother board is PICA Rev C. It wants to show Marlin, but it’s all gibberish.
I swapped out Arduino MEGA’s (2). LCD Controllers (2), and LCD cables. All give the same Gibberish. Config,h is using
Looked through other posts, and mine seems correct.
Could I have a bad PICA board?

Upgrade Wilson fork to Marlin 1.1?

You have either Wilson or Wilson II but not both.

Comment out the one you don’t have. I assume you have the Wilson II with the 300x200 bed and if this is right comment out the define WILSON_TYPE

Not sure if that makes a difference but a good start.


OK did that, but no difference.


I have a 2004 Smart Controller LCD on hand. I Modified the config.h file for it and it works. I assume that asserts that my PICA 12v RevC board is OK, at least regarding the LCD pins.
However when I comment out the 2004, and comment in the Full Graphic Smart Controller, I’m back to gibberish. Any other suggestions gentlemen?


I’m actually experiencing the exact same issue as I try to get my Full Graphic LCD working. I am relieved that you seem to see something similar to what I do. I was starting to worry my LCD may have been defective .
Here is a pic of what I am getting…it refreshes every second and it is almost readable in places.

New photo by Randy Fountain

I’ve made sure I’m using the latest U8glib…

I’ll post if I have some progress - please do the same :slight_smile:


Yep! Pic is almost identical to my LCD screen. Has anyone out there got the PICA 12v RevC board working with the RR Discount Full Graphic Smart Controller? I’d love to see your Config.h file. Did you have to change any other parameters in any of the other files?


I’m still having no luck…The Smart LCD Controller works fine if I swap the settings back and reflash…I’ve been using Arduino 1.6.9 for reference.
I downloaded the latest Arduino Dev Environment(1.6.11) and the firmware won’t even compile under it :slight_smile: I haven’t invested much time in trying to get to the bottom of that…
I have a RAMPS system on my old printer - unless someone comes up w/an idea - I’ll try this same Full Graphic LCD on my generic RAMPS 1.4 board/Mega when I get time tomorrow night. If it works - then we know it is something to do w/the PICA - if not…then maybe our Full Graphic Controllers are from a bad batch. I asked around online and the only common reply I’ve gotten was possible faulty boards or connections.


OK…I installed the latest generic marlin firmware on my generic ramps board after changing the configuration.h in two places to enable to the Full Graphic LCD.
The LCD works fine. Now I’m going to try to install this generic firmware that works under my RAMPS on my other board w/the PICA attached.


Tonight I tried using Arduino 1.6.0 (instead of 1.6.9).to no avail. Same gibberish. Once again, Has anyone had any luck marrying the PICA 12v RevC board with the Reprap Discount Full Graphic Smart Controller? If your out there, I’ll continue trying. If not, I’ll go back to the RAMPS 1.4. Kindly respond. Marty, any ideas??


I just put the same firmware/config that worked on my generic ramps on the board the pica revc is installed on. It doesn’t even show gibberish…just lights up. I didn’t check the pins config so it may just be that…the Wilson 2 branch of the firmware does show some halfway decipherable gibberish as we discussed so my best guess is it is some issue with the config for the PICA C.
I did roll back to 1.6.9 Ardiuno to get the Generic Marlin to compile/install.


So…at this point we know it the problem lies in either PICA C hardware config or the firmware settings for it.
I ordered another Full Graphic Smart Controller from totally different vendor…I’m sure it will be the identical board but just to be sure it isn’t an oddball underneath…but even if it were - then it should have the same problem when used with the generic marlin firmware.

I’ve been trying to compare the working(w/the Full Graphic LCD) Generic Marlin with the non-working Wilson 2 branch of Marlin. They are pretty different when it comes to what is included in the PINS.H and board configs so I get kinda lost…and if the firmware were the problem, then it wouldn’t be working on other instances of this same printer/board combo would it?

If the Regular Smart LCD works - does that prove the pins needed for the Full Graphic LCD are setup correctly? …or could there be different pins needed that might be disconnected on our PICA rev C boards?


You guys may have seen this post

May help but I have a PICA Rev B and it works so I can’t really help

Maybe if you speak to @mjrice


Today I tried to load the firmware with Arduino 1.0 and all I got was a blank screen with a dim backlight… I tried Arduino 1.06 and I was back to gibberish with maybe a little more of the Wilson screen breaking through, but that may be wishfull thinking.
I know my cables, Arduino Mega and Graphic Board are OK because when I load the Ramps Firmware on the same components the Ramps screen shows correctly. This tells me that the culprit is either the firmware or the PICA board, or both. Any thoughts @mjrice ?


More info…

I was going through a freshly downloaded copy of the Wilson 2 branch from github.
I edited configuration.h here:
//#define MOTHERBOARD BOARD_PICA // define this if you have a PICA rev b shield
//#define MOTHERBOARD BOARD_PICA_REVC // define this if you have a PICA rev C shield

In addition to changing the stuff around line 729 to enable to Full Graphic LCD.

I tried all three possible boards and none of them did more than the garbled screen when using my PICA Rev C.

Then - I took my spare RAMPS board and installed the same firmware on its mega with the BOARD_RAMPS_12_EFB uncommented…The Full Graphic LCD works fine.
SO - it is further narrowed down to be either the PICA Rev C itself - or one of the differences in the Wilson 2 firmware that come into play when the PICA board is defined in configuration.h


I have a full graphics LCD controller at home and I will hook it up to a pica (rev c) board tonight and try it out and report back.


Just a note - I did get the second Full Graphic LCD in today from reprap guru…it does the same as the other one in all aspects…

You can tell by the screen that it is actually displaying what is supposed to - but the pixels are offset wrong making it garbled.


So, I’ve tried this here and I have the same problem of the display garbled. I think there must be a pin definition either wrong or missing that the display needs (that apparently isn’t needed for the simpler display). i will work on it.


Hi Everyone,
It looks like this problem linked to a change in the arduino IDE (recent versions will have this problem, older ones not). To resolve it, you need to remove a line in one of the project files which specifies the level of optimization for the compiler to use. It looks like this alters the timing to the graphic controller, and thereby garbles the screen. In the file ultralcd_st7920_u8glib_rrd.h, it’s line number 9:

#pragma GCC optimize (3)

Comment the line out by adding two forward-slashes at the start and then recompile, and the graphic controller should work (mine did).

//#pragma GCC optimize (3)

Issues with adapting PICA firmware [SOLVED]


Works perfectly now…I really appreciate you looking at it and solving the problem. I’m sure you have a lot of demands on your time…

Thanks Again!



Thanks for all your effort. With a little luck, I might even get to print some parts today. That is, if I could remember where I stored the “Getting Started” file.

Thanks again mjrice!