Control a color display using FreePascal on the Raspberry Pi Pico

Job ID: 36190608

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.
Related categories: Microcontroller Pascal