Rust driving 64x32 HUB75 display on ESP32-C3

spluko
Posts: 3
Joined: Sun Feb 11, 2024 12:03 am

Rust driving 64x32 HUB75 display on ESP32-C3

Postby spluko » Sun Feb 11, 2024 12:14 am

I'm trying to talk to a 64x32 pixel RGB LED display with a HUB75 interface from an ESP32-C3 using I2S and DMA. Basically I want to port this C code to Rust: https://github.com/ESP32DE/I2S_parallel ... app_main.c.

This uses the I2S in parallel (aka LCD) mode, which doesn't seem to be exposed in esp32c3-hal (doesn't seem to be in esp32-hal either). Am I missing something or is this just not supported? Without this am I completely blocked, or is there some lower level access I can use?

ESP_Sprite
Posts: 9708
Joined: Thu Nov 26, 2015 4:08 am

Re: Rust driving 64x32 HUB75 display on ESP32-C3

Postby ESP_Sprite » Mon Feb 12, 2024 2:27 am

The ESP32-C3 does not have that mode. I don't think that chip really has many options to drive something like a HUB75 display, sorry.

spluko
Posts: 3
Joined: Sun Feb 11, 2024 12:03 am

Re: Rust driving 64x32 HUB75 display on ESP32-C3

Postby spluko » Fri Feb 16, 2024 12:41 am

Thanks so much for responding, ESP_Sprite, I see that you are the golden source on this topic as pretty much everything I find about talking to these devices from ESP32 references back to you. Sorry I didn't get back sooner, but it seems I have to manually subscribe to my own post to get notified about responses.

Which SOCs do support this, and more importantly, where should I find that information? I'd like to use Risk V, as that seems easier to set up in Rust.

ESP_Sprite
Posts: 9708
Joined: Thu Nov 26, 2015 4:08 am

Re: Rust driving 64x32 HUB75 display on ESP32-C3

Postby ESP_Sprite » Fri Feb 16, 2024 1:15 am

spluko wrote:
Fri Feb 16, 2024 12:41 am
Which SOCs do support this, and more importantly, where should I find that information? I'd like to use Risk V, as that seems easier to set up in Rust.
Conceptually, there are multiple chips that have something you can abuse. The ESP32 has the parallel I2S mode, the ESP32-S3 has the LCD controller peripheral and the ESP32-C6 has the PARLIO device. Given that the -C6 is a RiscV device, you may want to look at that first.

spluko
Posts: 3
Joined: Sun Feb 11, 2024 12:03 am

Re: Rust driving 64x32 HUB75 display on ESP32-C3

Postby spluko » Fri Feb 16, 2024 6:19 pm

ESP_Sprite wrote:the ESP32-C6 has the PARLIO device.
Thanks, that looks like a nice clean approach, and PARLIO is already exposed in Rust. I'll order a couple of devboards now. I'm also looking at trying the PIO on the RP2040, as that seems pretty cool. We'll see which works out better.

Who is online

Users browsing this forum: No registered users and 9 guests