Raspberry Pi Pico diventa una GPU: com'è possibile

Uno sviluppatore trasforma il microcontroller Raspberry Pi Pico in un dispositivo in grado di ricoprire le funzioni di una GPU.

Raspberry Pi Pico è un microcontrollore a basso costo e ad alte prestazioni presentato a gennaio 2021. Si tratta della prima scheda Raspberry Pi a utilizzare il chip RP2040 sviluppato internamente dalla stessa società.

Il microcontroller integra un processore dual-core ARM Cortex-M0+ a 133 MHz e 264 KB di RAM. La scheda offre 26 pin GPIO per collegare sensori, attuatori e altri dispositivi, supporta varie modalità di comunicazione (seriale, I2C, SPI, PWM) e dispone di 2 MB di memoria flash on-board. Può essere programmato in diversi linguaggi come Assembly, C, C++, Free Pascal, Rust, Go, MicroPython, CircuitPython, Ada e TypeScript. Addirittura anche con il semplice linguaggio BASIC.

Avreste mai pensato di poter utilizzare una Raspberry Pi Pico come GPU?

I single-board computer Raspberry sono estremamente completi e versatili, anche per ciò che riguarda le abilità grafiche. Ma è difficile pensare a una Raspberry Pi Pico che riveste le funzioni di GPU. Eppure Clem Mayer di Element14 ha dimostrato che ciò è davvero possibile.

Come spiega in questo video su YouTube, Mayer aveva l’esigenza di aggiungere abilità grafiche a un dispositivo ESP32-S3, SoC sviluppato da Espressif Systems.

Mayer ha progettato un circuito stampato sul quale alloggiare la scheda Pi Pico. Una porta DVI è posizionata su un lato ed è disponibile un vano per esporre i contatti GPIO.

Il risultato finale è un processore grafico funzionante in grado di gestire alcune elaborazioni di basso livello per macchine di piccole dimensioni. Nel suo video, il ricercatore ha sviluppato codice utilizzando l’IDE Arduino e si è avvalso di una configurazione leggera basata su Linux.

Pico DVI

Gli standard DVI, DisplayPort, HDMI e persino VGA si affidano tutti a I2C per impostare le connessioni iniziali al dispositivo host e configurare il display prima ancora che sia necessario passare all’utilizzo di un driver dedicato.

Mayer ha quindi sfruttato la libreria PicoDVI di Wren6991, che consente a un chip RP2040 di inviare segnali DVI tramite PIO e controllare uno schermo.

Il codice messo a punto da Mayer è ancora basato sul progetto PicoDVI, ma invece di manipolare i singoli pixel, ha fatto sì che il microcontroller agisse come un dispositivo periferico I2C per accettare comandi e convertirli in chiamate Adafruit GFX che alla fine sono scritte sullo attingendo a un buffer.

Questo articolo contiene link di affiliazione: acquisti o ordini effettuati tramite tali link permetteranno al nostro sito di ricevere una commissione nel rispetto del codice etico. Le offerte potrebbero subire variazioni di prezzo dopo la pubblicazione.

Ti consigliamo anche

Link copiato negli appunti