How hard would it be to add quad SPI support for esp32-s3? #14333
Replies: 2 comments 8 replies
-
Oh, another interesting note on this devboard: It uses an Esp32-s3 WROOM with 4mb flash and 8MB Octal SPI RAM (or at least I think it's octal; I couldn't use the RAM without enabling it) To use the device in MicroPython, I already had to build a custom binary with both 4mb flash and octal-spiram support. I found this easy as I already have the build tools set up for making MicroPython. However, it did require making some changes to the board def :) |
Beta Was this translation helpful? Give feedback.
-
I've added support for configuring the QSPI pins on ESP32. It wasn't that hard. But you would need to extend the The display driver chip used in that display also support normal 3 and 4 pin SPI. You don't need to use QSPI. It just makes it faster. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey y'all! I just bought an esp32 display module for pretty cheap. It didn't have a ton of available documentation, but my plans for the display are fairly simple, and so I figured I'd be able to get it running with a bit of work.
From the examples shared in the repo I linked above, (and confirmed by the pinout) I noticed that the display is connected to the device using QSPI
Taking a look at the datasheet for the display driver, it looks like the display supports both "normal" SPI, and QSPI, however, it looks like you need to choose the SPI mode by setting a few pins on the driver chip, and I'm assuming those are set by some physical connections or something, not in software.
Anyways, I'd really like to program this device in MicroPython, if possible. However, I'm pretty sure there's no support for QSPI in the ESP32 port of MicroPython, and I'm struggling to understand what exactly needs to be done to enable this support.
AFAIK the ESP-IDF already has the methods needed, and so I'm pretty sure it would come down to making a wrapper for those methods to expose them to MicroPython. However, I'm struggling to understand exactly what that would look like.
I'm fairly new to working with embedded C, and my understanding is very limited on that side. I haven't been able to find any pull request or experimental implementations for QSPI in MicroPython, so I think I'd be working from scratch, kinda.
So, I guess I'm asking:
how big of a project is that going to be? My purpose for the display is a gift idea, so I have like a month to finish my work on it. Am I in over my head?
Does anyone have any resources that can be shared to help push me in the right direction?
Thanks in advance 😊
Related issue
Beta Was this translation helpful? Give feedback.
All reactions