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?

Sprite
Espressif staff
Espressif staff
Posts: 10626
Joined: Thu Nov 26, 2015 4:08 am

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

Postby 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.

Sprite
Espressif staff
Espressif staff
Posts: 10626
Joined: Thu Nov 26, 2015 4:08 am

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

Postby Sprite » Fri Feb 16, 2024 1:15 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

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.

liebman
Posts: 19
Joined: Wed Dec 09, 2020 7:03 pm

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

Postby liebman » Sat Jun 21, 2025 1:23 pm

I know its a bit late but I've recently published a no-std crate that drives Hub75 Displays for ESP32, ESP32S3 and ESP32C6.
https://crates.io/crates/esp-hub75

Who is online

Users browsing this forum: No registered users and 1 guest