|
Forum Index : Microcontroller and PC projects : Picomite - lcdpanel console white-out
| Author | Message | ||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
Hi all, I am hitting a roadblock and thought I'd ask here because I must be doing something wrong. I'm setting up one of these newer waveshare RP2350-Touch-LCD-3.5 boards, and am having an odd issue with the BG color. I noticed it when trying to list the pins. The BG color of the display goes white after the initial print fills the screen, and then each new line is correct (white text on black BG) but turns white on white as soon as it scrolls up. This happens even on a fresh boot with no program loaded. (edit: updated to add a gif) > option list PicoMite MMBasic RP2350B V6.02.00 OPTION SYSTEM SPI GP18,GP19,GP16 OPTION SYSTEM I2C GP34,GP35 OPTION FLASH SIZE 16777216 OPTION COLOURCODE ON OPTION PICO OFF OPTION CPUSPEED (KHz) 200000 OPTION LCDPANEL CONSOLE ,,,, 60 OPTION DISPLAY 26, 60 OPTION LCDPANEL ST7796S, RLANDSCAPE,GP20,GP23,GP21,GP22,INVERT OPTION LCD BACKLIGHT 60 OPTION TOUCH FT6336 GP25,GP24,,50 Edited 2026-05-06 06:51 by ebbandflow |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4321 |
Just so you know, imgur is blocked in some countries, such as UK John |
||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
Thank you for the heads-up John, I did not realize that! I tried to upload here but it rendered as a still image. Do you recommend any specific services that are more accessible? Thanks, James Edited 2026-05-06 07:22 by ebbandflow |
||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
This may be a workaround for those at their computers. Here is the .gif file, zipped up for uploading. white-out.zip |
||||
| mozzie Guru Joined: 15/06/2020 Location: AustraliaPosts: 311 |
G'day James, Been caught out by this one before, try: OPTION LCDPANEL CONSOLE 1,,,60,NOSCROLL If I have that correct it is: OPTION LCDPANEL CONSOLE Font,F-colour,B-colour,B-light,NOSCROLL NOSCROLL works for slower serial LCD's or for those that cannot be read from (ILI9488 etc). The other option is to use one of the buffered drivers. Regards, Lyle. Edited 2026-05-06 15:49 by mozzie |
||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
Good morning Lyle, Appreciate the reply. I just tried setting NOSCROLL, and that prevents the white-out, but it scrolls the 'list pins' command so quickly that I cannot see the first x number of pins as they immediately scroll off the screen (no prompt to 'press any key...). Very odd. Shouldn't it work without NOSCROLL and simply be slow instead of white? The manual says that this display type is able to handle transparency (ST7796S), but I wonder if there is a hardware hack required to get that working? Thanks, James Edited 2026-05-06 20:00 by ebbandflow |
||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
edit... It appears that MISO is not connected to a GPIO pin Still working on a solution. Edited 2026-05-06 21:43 by ebbandflow |
||||
| mozzie Guru Joined: 15/06/2020 Location: AustraliaPosts: 311 |
G'day James, No MISO connection is going to be a problem A quick look at the schematic shows the ST7796 has its own SPI connection to the RP2350, perhaps try the buffered LCD driver instead (ST7796S_BUFF) this is detailed on PG68 of the V60201 manual. I looked at these displays for an idea but opted for the display without the embedded RP2350, allows more flexibility at the expense of creating a PCB. Regards, Lyle. |
||||
| robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2517 |
have just been thinking... for a 60 x 26 character screen, that is 1560 character cells in total, and with each cell consists of one 8-bit character code and two 4-bit colour codes (foreground and background), just 3120 bytes of the RP2350's RAM would be required to hold a complete representation of the screen contents - provided that the screen is being used for text display. this pretty much negates the need for the MISO line to be connected - the data coming back from the LCD can (if indeed needed) be reconstructed from the above 3120 byte buffer when combined with character pattern maps and the RGB values from the palette table. as far as i can see, technically the only time the MISO line should be needed is when there is graphical data being displayed and when there is a need to scroll that graphical data either horizontally or vertically. someone might like to give Peter a hand by rewriting the LCD drivers so they make use of an internally held character/colour attribute map when displaying just text ![]() cheers, rob :-) |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8830 |
...or just rewrite the entire screen when you update it. That's what it would do anyway. SPI is serial so there probably wouldn't be much speed loss. Without MISO there can never be data whatsoever from the LCD. I just looked at the schematic. It's a good board to avoid. :) They've skimped on pins and sacrificed MISO as it's not needed in many cases. As usual they've used GPIO pins for the SD card that they don't need. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| mozzie Guru Joined: 15/06/2020 Location: AustraliaPosts: 311 |
G'day, Testing has shown the ST7796 LCD works ok with the ST7796S_BUFF buffered driver with NO MISO connection, however as Robert.Rozee points out, the screen buffer does use a chunk of memory if this is important in your application. Regards, Lyle. |
||||
| robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2517 |
from the photo of the board here: https://www.waveshare.com/rp2350-touch-lcd-3.5.htm https://www.waveshare.com/img/devkit/RP2350-Touch-LCD-3.5/RP2350-Touch-LCD-3.5-details-inter.jpg ![]() it looks like the RP2350's flash chip, labelled (2), is in a largish (SOIC-8?) package with the pins readily accessible. perhaps one could just piggyback a PSRAM on top of this (with CS routed to a suitable GPIO line - 0, 8, 47 are available on the I/O header) to provide space to hold a full 320 x 480 screen buffer - 300k required if my maths is right. it is a pity the designers didn't include an unpopulated footprint for the PSRAM. cheers, rob :-) Edited 2026-05-08 02:35 by robert.rozee |
||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
What a bummer! It's not worth as much to me without the ability to read or save what's currently the display... Not to mention the camera being too high a resolution to use w/ MMBasic. This one's going in the drawer until I have a better use for it. But before discovering the MISO issue, Claude and I threw together a few tests to access the power control chip and IMU over I2C & also an auto-start program to set the RTC and System clock on boot as needed. Figured I'd share here in case anyone is interested RP2350B_3.5-C.zip |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8830 |
You can never *assume* that any particular module will be compatible with MMBasic, unfortunately. They are never designed for it. You can either go over the schematic with a fine tooth comb prior to ordering or design a custom PCB / stripboard / wire wrap for the job. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| ebbandflow Regular Member Joined: 31/08/2023 Location: United StatesPosts: 50 |
That is a high entry bar. It's too bad there is no: a. List of boards that are compatible & level of compatibility b. Boards specifically designed for MMBasic that are (actually) available for purchase. |
||||
| mozzie Guru Joined: 15/06/2020 Location: AustraliaPosts: 311 |
G'day James, Depending on your application, another option you might like to consider is to use the display in Portrait mode, this then allows hardware scrolling without the screen buffer. This will work without MISO unless you require the ability to read from the LCD. There is a list of display options on "Fruit of the Shed" however it may not be fully up to date. Best bet is to RTFM carefully and check the schematic before buying anything, I too have been caught out by not doing enough homework. Regards, Lyle. |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4321 |
A couple of ways to consider what board to buy: 1. use one of the ones oft-mentioned in the forum or designed by a forum member 2. ask, if in doubt Don't assume (the Americans have a saying about that word). John |
||||
| ville56 Guru Joined: 08/06/2022 Location: AustriaPosts: 483 |
ebbandflow, I wouldn't see it so negativ: IMHO the MMBasic manual very clearly states which hardware is supported, like LCD controllers, camera types, RTC chips, Audio controllers, USB etc. Basically the available hardware IS more or less standard with occasional exceptions for very "creative" boards like the one in this thread. Even if you don't use MMBAsic it is good practice to avoid non-standard hardware. Even if drivers for e.g. Arduino or Python are provided, there are not always updates later on, so with the next major revision of whatever software you use, it may be outdated then. So staying with standard hardware lowers the entry bar to just correct wiring ... almost, most the time at least. I had only a problem only once with a LCD controller, but that special one was and is not supported, so my bad. And I've also purchased and used many boards and sensors from different suppliers with no issues. Sometimes you have to program around some specific "features" a little bit. Like an LCD display where the one axis has an offset of 35 ... but I wanted exactly this module and it works. And yes, the MMBasic community is too small to be of interest for a manufacturer to create specific boards. But there are designs in this forum especially made for MMBasic and the supported hardware, with all you need like gerbers, BOM, etc ready for ordering from a manufacturer. 73 de OE1HGA, Gerald |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8830 |
It's not easy. The list of available boards seems to grow daily. The list of MMBasic-compatible boards only grows then someone either goes over the schematic or gets one and tries it. If someone provides a link to a schematic then someone will almost check it out. :) There have been cases though where the manufacturer has been rather coy about revealing the schematic. Avoid those boards like the plague, even if they provide specific libraries for them. They may not work with anything else. If you can't solder then I seriously recommend having a go. Get some stripboard, a track cutter, small soldering iron and solder. Throw in any old bag of components and just play. The little electronic kits with flashing LEDs and things are worth starting with, even if they don't do what you want. :) Yes, you'll make a mess of it at first but that doesn't matter. After a bit of practice you'll be confident enough to solder 20-pin connectors onto the stripboard, use the hole cutter to cut the tracks between them and plug a Pico into them. Then add a sprinkling of 1K resistors, LEDs and tactile switches and get programming. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |