HUB75 display on ESP-WROOM-32

All ESP32 boards running MicroPython.
Target audience: MicroPython users with an ESP32 board.
Post Reply
stevenboon
Posts: 4
Joined: Mon May 02, 2022 5:55 pm

HUB75 display on ESP-WROOM-32

Post by stevenboon » Mon May 02, 2022 6:02 pm

Hi folks,

I am trying to find a MicroPython HUB75 driver for the original ESP-WROOM-32. CircuitPython is not officially available for this board.
There are multiple C-style libraries available, but since I am working on a project involving multiple ESPs of which so far all use MicroPython, I'd rather stick with the same language for all of them (more so since they all have some shared code).
So.. any luck for a HUB75 driver on MicroPython? Or a suggestion how I could get one working?
If possible, I'd like to use one that utilizes the DMA engine (https://github.com/mrfaptastic/ESP32-HU ... el-I2S-DMA looks promising for C-style) since it seems to have a great performance increase over just doing it on the main engine.
I am not shy of a little bit of rewriting, but there's zero documentation on DMA engines and I have no clue on how those functions should be working..

User avatar
andypiper
Posts: 25
Joined: Wed Feb 02, 2022 12:17 pm
Location: Kingston upon Thames, UK
Contact:

Re: HUB75 display on ESP-WROOM-32

Post by andypiper » Thu May 05, 2022 1:09 am

I haven’t tried the code, but your question (and the fact that I’ve recently come into possession of a couple of HUB75 panels myself) reminded me that Pimoroni do a product called Interstate 75 which is an RP2040 board for driving the HUB75. They have C and MicroPython samples on GitHub.

https://github.com/pimoroni/pimoroni-pi ... terstate75

It’s RP2040 not ESP32 but it’s MicroPython and it could be something to work from?

stevenboon
Posts: 4
Joined: Mon May 02, 2022 5:55 pm

Re: HUB75 display on ESP-WROOM-32

Post by stevenboon » Thu May 05, 2022 8:09 am

Hmm.. that might maybe work? Looks useful at least, thanks!
I assume that would require me to compile Micropython myself with those modules? I have never done that before, but if that's how it works I might try and give it a shot..

User avatar
andypiper
Posts: 25
Joined: Wed Feb 02, 2022 12:17 pm
Location: Kingston upon Thames, UK
Contact:

Re: HUB75 display on ESP-WROOM-32

Post by andypiper » Thu May 05, 2022 11:48 am

Yes, that's the way that Pimoroni ship their MicroPython for Pico/RP2040 - they roll their own, with modules frozen in. I've recently been building some custom ESP32-C3 builds and it went more smoothly than I had anticipated :) I don't currently have time to dive in to the HUB75 stuff myself, but I'll keep tabs on your progress via this thread, since I imagine I'll get to it before too long...

stevenboon
Posts: 4
Joined: Mon May 02, 2022 5:55 pm

Re: HUB75 display on ESP-WROOM-32

Post by stevenboon » Thu May 05, 2022 11:52 am

Thanks for the info!
It might take me a week or two before I have the time to figure out how to compile this with custom modules - I'm building cases for all ESPs and their components as well.
I'll post an update in case of severe problems or maybe even success ;) and if there's any easy guide you can recommend: I am open to suggestions!

wangshujun@tom.com
Posts: 61
Joined: Fri Feb 15, 2019 9:22 am

Re: HUB75 display on ESP-WROOM-32

Post by wangshujun@tom.com » Fri May 20, 2022 6:35 am

I tried on esp32 128 × 64 hub75 uses C module to drive, use the hardware is SPI + DMA. In the actual test, it can work stably in rgb444 mode, but it can not reach the expected rgb555 mode. The display interface uses FB. In the future, it is considered that the 8-bit spi of esp32s3 may achieve the expected performance

stevenboon
Posts: 4
Joined: Mon May 02, 2022 5:55 pm

Re: HUB75 display on ESP-WROOM-32

Post by stevenboon » Fri May 20, 2022 6:42 am

Hi, that sounds pretty good actually! Since I'm planning to use 64×32 that should be easily achievable.
Could you maybe share how you made it working? E.g. which code you used or what connections? This is still on my to-do list but I haven't gotten to it yet. Any help would be great!

MaxMin
Posts: 6
Joined: Mon Aug 22, 2022 4:41 am

Re: Interstate 75 board with RP2040

Post by MaxMin » Mon Aug 22, 2022 6:04 am

Pimorini may have inspired by the original Pi Pico PIO Hub-75 C example.
https://github.com/raspberrypi/pico-exa ... /pio/hub75

It's doing inline PIO (FPGA like) assembly to handle the PWM modulation of each pixel, offloading the CPU from bit-banging. For some IO intensive tasks the RP2040 can outperform more powerful processors. (it can drive ports at processor clock speed)

The ESP32 may not be able to drive a HUB75 panel with much color resolution, though 1 bit grayscale for simple text messages displays may be simple.

Post Reply