Menu | JAQForum Ver 19.10.27 |
Forum Index : Microcontroller and PC projects : Picocalc done properly?
![]() ![]() ![]() ![]() |
||||||
I must have hallucinated this then: https://www.youtube.com/watch?v=8bx2vpwuXoo EDIT: Note that some LCDs you cannot BLIT from, either because they are "crap" or because their MISO pin isn't connected ... which *might* include the LCD on the PicoCalc which may be the origin of your statement. Best wishes, Tom Edited 2025-06-10 04:15 by thwill |
||||||
Wow. I never realized that the gamemite is not hdmi. Would gamemite games run on the picocalc? But even if not, the proposed new lcd based design would likely run gamemite games? This is superb news, thank you! Edited 2025-06-10 04:24 by Gadgetguy |
||||||
The Game*Mite uses a cheap ILI9341 320x240 LCD. Possibly not (especially with the RP2040), the larger display is slower to update and requires more RAM for any framebuffers (I do not believe you can create a framebuffer for just a 320x240 slice of the display). Also I'm not 100% certain but something someone (you?) said on the ClockworkPi forum makes me wonder whether the MISO pin on the display is working, and if not, then no BLIT from the display is possible which may be used by some games ... but now I think about it, maybe not. Someone did try porting the Game*Mite version of Flappy Bird and found it too slow. I'm pretty certain it would ... though the a larger screen might need to be accounted for. Best wishes, Tom |
||||||
Thank you Tom for the reply. I am not sure what the MISO pin is, so it was not me posting about it. So I will try to experiment with Game*Mite games on the picocalc, just as an experiment. And I hope that the concept "better Picocalc" proposed by Peter turns into something I could buy Edited 2025-06-10 04:56 by Gadgetguy |
||||||
AFAIK the ILI9341 has everything working, including the MISO pin. It supports transparent text etc. ILI9488 has problems with MISO. |
||||||
|
||||||
Very nice, that you separated the keyboard! Is there a reason, why you didn't use i2c port expanders? |
||||||
It's cheaper not to? :) 72 switches. 16 IO per expander. 5 expander chips and the wiring is much, much more difficult than a matrix. Multiplexing keyboards is the time-honoured way to do things and there's no shortage of GPIO pins here. |
||||||
I'm enjoying playing with this and here is the first prototype. Everything works but a few changes needed. I think I'll call it the Palm Pico. I'm not happy with the battery charging circuit so am going to move to a design from Great Scott The surface mount speakers I chose are complete c..p so I need to find something better. The RTC battery will move to the bottom of the board which gives room for a CR2032. The audio jack will be replaced with a switching one that cuts off the amp when external audio is plugged in. Finally the board will be shortened so that the keyboard buts up to the screen giving a final size of 160x108mm The software will be standard PICOUSB2350 which will allow the user to plug any external USB device (devices with a hub) into the 64-pin DIL board. I've partially written a new driver for the screen using the PSRAM as a full colour framebuffer and with the screen updated by the second processor. This gives a good performance improvement (GUI TEST LCDPANEL: 335 circles/second with the new driver vs 190 before). I'm still to write the full keyboard driver but I have already modified the KEYPAD command to optionally allow any number of columns and rows AND give the user the ability to specify for each matrix position the code that is returned KEYPAD codes%(cols, rows),vret%, interrupt, colstartpin, ncols, rowstartpin, nrows This will be generally useful in MMBasic allowing much more flexibility in using simple keypads as input devices. The layout of the keyboard allows a commercial overlay to be used - bit expensive but saves any custom work before everything is finished. The screen is 320x320 and because the Pico has PSRAM any 320x240 code will work with no modification without hitting any memory limitations (PETSCII tested) Overall spec: RP2350B, 16MB flash, 8MB PSRAM, 320x320 4" IPS screen, SDcard, DS3231 RTC with CR2032 battery, I2S DAC based audio with line level output and volume controlled stereo amplifiers/speakers, USB host capable, serial console using CH340, External I2C port, powered by standard 18650 lipos using readily available battery holder. ESP8266 port connected to COM1 for WIFI connectivity. AND, of course, completely open source and fully supported by stock MMBasic firmware. ![]() ![]() ![]() Edited 2025-07-03 03:30 by matherp |
||||||
Absolutely BRILLIANT! |
||||||
Great idea!!! ![]() A Palm Pico is a "must have". Where can I buy this keyboard overlay? |
||||||
Hi Peter, Looks really good, I can feel another purchase coming on. :-( the screen especially looks very crisp and bright & the keyboard big enough to be useful. :-) |
||||||
Long way to go yet. Definitely one, if not two more H/W prototypes to get it right physically and more work needed on the new graphics driver. I haven't even started yet on the keyboard driver. The screen is definitely excellent. |
||||||
Looks pretty cool. Is there any easy way to push the keyboard right up to the edge of the screen? |
||||||
|
||||||
Software support is finished ![]() The driver for the display is finished as is the driver for the keyboard. Full support for all the usual stuff, auto key repeat, caps lock etc. The screen driver is new and uses the PSRAM as a full colour framebuffer with actual updates done on the second cpu. The interface between the two is a blocking FIFO so the physical screen can never get too far behind but the main CPU is free to pre-calculate changes without having to wait for the slow SPI channel (although I am running the SPI at 90MHZ!). Everything is standard MMBasic with the device configured simply using OPTION RESET PALM PICO Note the sophisticated way the keyboard overlay is attached. ![]() Now I need to concentrate on getting the motherboard design right (shrunk) and then I can start designing a box. ![]() |
||||||
![]() The driver for the display is finished as is the driver for the keyboard. Full support for all the usual stuff, auto key repeat, caps lock etc. The screen driver is new and uses the PSRAM as a full colour framebuffer with actual updates done on the second cpu. The interface between the two is a blocking FIFO so the physical screen can never get too far behind but the main CPU is free to pre-calculate changes without having to wait for the slow SPI channel (although I am running the SPI at 90MHZ!). Everything is standard MMBasic with the device configured simply using OPTION RESET PALM PICO Note the sophisticated way the keyboard overlay is attached. ![]() Now I need to concentrate on getting the motherboard design right (shrunk) and then I can start designing a box. It doesn't look like the GPIO pins are accessible externally other than maybe those for COM2. Will any others be available? |
||||||
How many do you want? Stick another Pico or two on as a remote IO device and serial connect via COM2. ;-) |
||||||
It has an external I2C port on the left hand side of the display. This allows you to connect anything you want. |
||||||
So it does... That was a good idea. :) |
||||||
![]() ![]() ![]() ![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. |