![]() |
Forum Index : Microcontroller and PC projects : Building an LCD Picomite
Author | Message | ||||
Swiftwind Newbie ![]() Joined: 07/07/2025 Location: United StatesPosts: 7 |
I'm not exceptionally knowledged with electronics, but I though I'd try building a couple Picomites using SPI ST7796S and 8 bit SSD1963_7 LCD panels. The Picomite user manual has been super helpful, and I've found enough other basics references, so that I've gotten both panels connected and working with Pico 2's. I have something of idea of where to go from there, but since I'm really an amateur at this, I wanted to see if anyone had suggestions about the best pin congratulations to use the panels, touch screen, SD card, PS2 keyboard, sound, and DS3231 RTC. Because I tend write problems that are really heavy on file access, my inclination is to put the SD on it own set of SPI lines, as believe I've read the performance is better. I should have enough pins with the SPI display, but probably not with the 8-bit one. Also, is there something like a good "RPI for Dummies"? Im sussing out the GPIO pins, but I'm not entirely sure which can do exactly what. Edited 2025-08-26 15:34 by Swiftwind |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5193 |
Hi Swiftwind, ![]() Volhout P.S. On both designs, OPTION SYSTEM SPI could combine TOUCH and SD card, and thus save 3 pins. But I have no means to test if this works. Edited 2025-08-26 17:07 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 8041 |
First, welcome to the 'shed! :) The manual is a goldmine of information. :) There is an excellent drawing showing the possible uses for each pin of the PicoMite. The pins that you actually use are chosen from those possible ones when you use SETPIN. By default the PicoMite assumes that GP8 and GP9 will be used for a PS2 keyboard. If you don't use these then you will have to use a SETPIN to change them to something else. Although the Pico 2 is 5V tolerant it isn't 5V compatible. If a PS2 keyboard is powered at 5V then you really need level shifting so that the Pico doesn't see more than 3.6V. A RTC can be put on any pair of I2C pins from the same port e.g. I2C2 SCL and I2C2 SDA. SETPIN will decide which pins you use. By default the PicoMite uses PWM audio on GP6 and GP7, but there are several alternatives to this now. Personally I try to avoid PWM now due to noise from the switching power supply on the PicoMite. You can get much better digital audio. . Edited 2025-08-26 17:16 by Mixtel90 Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
dddns Guru ![]() Joined: 20/09/2024 Location: GermanyPosts: 560 |
I'm using a ssd1963 on a RP2040. It's a Chinese clone with all 30 GPs broken out. That will leave 8 free GPs if you are using it in the 8bit setup. Now a standard Pico has only 26 GPs to use, which would still leave 4 free GPs minus your PS/2 keyboard are 2 free. I have adapted this configuration from @matherp : Link It has implemented a solution, to share CS from touch and SD on one GP. So without that you could end up with 1 free. My setup This was build when RP2350 was not released yet. Nowadays I would only use and suggest a RP2350B with PSRAM and wire/use the SSD1963 in 16bit. It's much faster then and works better e.g. you can use OPTION LCD320 and you can copy whole screens to memory and framebuffer is possible in full resolution. Edited 2025-08-26 19:00 by dddns |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5193 |
Please note that some SSD1963 boards (7") have +5V on pin 35. This is not shown in Peter's schematics. Volhout PicomiteVGA PETSCII ROBOTS |
||||
stanleyella![]() Guru ![]() Joined: 25/06/2022 Location: United KingdomPosts: 2624 |
I haven't tried SPI ST7796S but ili0341 works from the manual. audio. sd card, usb to ttl uart. lcd or hdmi a doddle. Edited 2025-08-27 05:53 by stanleyella |
||||
Swiftwind Newbie ![]() Joined: 07/07/2025 Location: United StatesPosts: 7 |
The Pin diagram I found the uses 12 for the 1963: GP0-7 for TFT DB0-DB8 (8) GP8 KB CLOCK GP9 KB DATA GP10 SPI CLK (T/SD) GP11 SPI DIN (T/SD) GP12 SPI DOUT (T/SD) GP13 TFT RS OR DC GP14 TFT WR GP15 TFT RD GP16 TFT RESET OR RST GND TFT CS GP18 T_CS GP19 T_IRQ GP22 SD_CS So, if I understand it correctly, for the RTC and sound I can use: GP20 I2C SDA GP21 I2C SLC GP26 PCM-A LEFT GP27 PCM-B RIGHT So, with the shared system SPI, it would take 24 pins total for 8 bit version. With the ST7796S version, again if I understand it correctly, there are two 2 SPI buses natively in hardware, so without redefining pins, I assume one solution is to put the screen and touch on one bus (GP2-4), and the SD on the other (GP10-13). Then the I2C on GP6-7, keyboard on GP8-9, sound on GP26-27, and the other lines on what's left. Edited 2025-08-27 15:06 by Swiftwind Footnote added 2025-08-27 17:01 by Swiftwind PCM should be PWM |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5193 |
Pwm sound needs a pair of pwm outputs so needs mapping too. Volhout. PicomiteVGA PETSCII ROBOTS |
||||
Swiftwind Newbie ![]() Joined: 07/07/2025 Location: United StatesPosts: 7 |
Sorry, my bad. Meant PWM, not PCM, on GP26-27 for the sound output. |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5193 |
Hi Swiftwind, Understood. So you have GP17 and GP28 free. GP17 can be programmed as COM1:RX and GP28 can be programmed as COM1:TX. So for expansion, you have a UART port free. That could allow for connecting a ESP8266 WIFI, or a GPS receiver, MAX3232 (genuine RS232 port) or MODBUS/RS485 expansion. One thing you could do is: GP26 I2C SDA GP27 I2C SCL GP20 PCM-A LEFT GP21 PCM-B RIGHT This would still leave GP17 and GP28 free, audio would use PWM2 channel, but I2C would map to I2C2 that you would connect to internal I2C devices like the RTC. Advantage of this new mapping is that GP17 and GP28 can be used as COM1, but also as I2C, since it is independent of I2C2. So you could expand with Sparkfun Qwiic modules (all I2C based) or the like... Regards, Volhout Edited 2025-08-27 17:19 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
dddns Guru ![]() Joined: 20/09/2024 Location: GermanyPosts: 560 |
Hi Swiftwind, just to mention, having Touch and SD sharing a SPI bus works very solid for me with a SSD1963. The circuit to make it possible to combine CS works very solid as well. SD can be configured to any pin combination and does not necessarily match hardware SPI GPs. I've tested it with a 2350 and I/O speed is almost the same. The SSD1963 I have configured: GP0-15 8/16bit and GP16-19 for RS,WR,RD and with option "noreset" Edited 2025-08-27 18:33 by dddns |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5193 |
erase Edited 2025-08-27 21:51 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
stanleyella![]() Guru ![]() Joined: 25/06/2022 Location: United KingdomPosts: 2624 |
The ssd1963 spi version looks interesting... lots of prices from £17 to daft prices. |
||||
Swiftwind Newbie ![]() Joined: 07/07/2025 Location: United StatesPosts: 7 |
If you can get them for a reasonable price, I think it's well worth it. Got my for $40 USD, which at the current exchange is ~29£, and as it included the great orange's tarrifs on China, it's probably the best price I'll be seeing for a while. |
||||
Swiftwind Newbie ![]() Joined: 07/07/2025 Location: United StatesPosts: 7 |
Hi Volhout, Yes, I see how that's a much better pin arrangement. I'm slowly getting it. Thanks! -Sw- |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |