Control a color display using FreePascal on the Raspberry Pi Pico
Budget: €750 – €1,500 EUR
FreePascal has a compiler target that allows to run Object Pascal compiled code on the Raspberry Pi Pico microcontroller. Using this, we want to control a 128x64 pixel color display connected to the Pico via SPI.
The Pico is connected to the x86 host system via USB. The host system then should be able to send data to the Freepascal Code on the Pico to display. That includes displaying images and text. Also, there will be a couple of buttons connected to the Pico that need to be monitored by the FreePascal code running on the Pico.
The main tasks are:
1.) Create build-environment to compile from host FreePascal Windows x86 system to RPI Pico
See:
https://wiki.freepascal.org/ARM_Embedded_Tutorial_-_FPC_and_the_Raspberry_Pi_Pico
2.) Our display is 128x64 Color and uses the SSD1351 controller connected via SPI.
Here is a tutorial from Michael Ring for the Single-Color SSD1306:
https://wiki.freepascal.org/ARM_Embedded_Tutorial_-_Raspberry_Pi_Pico_using_Displays_and_I2C
3.) There has been an interesting project call PXL at:
http://asphyre.net/products/pxl
As you can see this project is no longer developed, and they stopped before the Pico came out.
However, they do support the SSD1351 via SPI and have lots of features.
So you should combine/extend these projects to create a system that allows us to display text, charts,
menus and animations on the Pico + SSD1351.
For the animation part: PXL supports Vampyre Imaging Library
https://github.com/galfar/imaginglib
Using that we should be able to load and play GIF or APNG (animated PNG) animations.
The display has 128x64 at 16 bit, so the frame buffer would be 16KB in size. The Pico has 256KB RAM, so double-buffering is also possible to reduce the amount of data that need to be sent over SPI to the Display.
We are looking for a long-term partnership, as there will be follow-ups to this project.
The Pico is connected to the x86 host system via USB. The host system then should be able to send data to the Freepascal Code on the Pico to display. That includes displaying images and text. Also, there will be a couple of buttons connected to the Pico that need to be monitored by the FreePascal code running on the Pico.
The main tasks are:
1.) Create build-environment to compile from host FreePascal Windows x86 system to RPI Pico
See:
https://wiki.freepascal.org/ARM_Embedded_Tutorial_-_FPC_and_the_Raspberry_Pi_Pico
2.) Our display is 128x64 Color and uses the SSD1351 controller connected via SPI.
Here is a tutorial from Michael Ring for the Single-Color SSD1306:
https://wiki.freepascal.org/ARM_Embedded_Tutorial_-_Raspberry_Pi_Pico_using_Displays_and_I2C
3.) There has been an interesting project call PXL at:
http://asphyre.net/products/pxl
As you can see this project is no longer developed, and they stopped before the Pico came out.
However, they do support the SSD1351 via SPI and have lots of features.
So you should combine/extend these projects to create a system that allows us to display text, charts,
menus and animations on the Pico + SSD1351.
For the animation part: PXL supports Vampyre Imaging Library
https://github.com/galfar/imaginglib
Using that we should be able to load and play GIF or APNG (animated PNG) animations.
The display has 128x64 at 16 bit, so the frame buffer would be 16KB in size. The Pico has 256KB RAM, so double-buffering is also possible to reduce the amount of data that need to be sent over SPI to the Display.
We are looking for a long-term partnership, as there will be follow-ups to this project.