I’m investigating using the second core on Duo 256M to control small displays using ILI9341, ST7789, and similar display controllers via an 8-bit 8080-style parallel bus (8 data bits, cs, wr, rd, d/c). I’m only a hobbyist on the electronic side, but I do put all my designs under CC0-1.0 / Public Domain. I do have a full-stack software development background over three decades, mostly low-level and systems integration stuff in Linux, so the software side is not a problem for me. I’m most often over at EEVblog forums discussing similar things.
(I use these devices to add non-technical human readable displays to Linux-based appliances like routers, switches, NASes, security camera servers, and so on. The idea is to let nontechnical users (like elders) know if the service/appliance is working or if there is a problem, with no way of messing anything up via the display interface. These are always connected to a Linux host via USB. Because of the use case, SPI is simply not fast enough, and I haven’t yet found a MIPI DSI panel I’d like without it costing over twice my preferred EastRising/BuyDisplay 2.4"/2.8"/3.2" ISP displays.)
The SG2002 TRM says the VDP supports “MCU i80” output, with 8 data pins and 4 control pins. I know the data pins are VO_D[0] through VO_D[7], but I cannot find any information on what the control pins might be. The TRM does refer to these control pins (for example on page 476: wrx, rdx, cdx, csx), but there is no mention how these are connected. I suspect they could be VO_D[28] through VO_D[31], or selectable (within VO_D outputs) using an undocumented register, but if anyone knows for sure, I’d be very grateful.
I can bit-bang the parallel bus on Duo and Duo 256M using XGPIOA[22]…XGPIOA[29] (GP18, GP16, GP17, GP19, GP21, GP20, GP0, GP1), and the control pins on XGPIOA[14]…XGPIOA[17] (GP14, GP15, GP12, GP13), and on Duo S using XGPIOC[16]…XGPIOC[23] by desoldering C36 and C37 for XGPIOC[22] and XGPIOC[23] access, thus disabling audio input.
As I understand it, only Duo 256M and Duo S (SG2002 and SG2000) might support this parallel video output.
Obviously, Duo Module 01 would be optimal for me, but I cannot find a single no-Wifi, no-eMMC version sold anywhere. ![]()
Voltage level translation is not a problem, because I’ll need a larger carrier PCB anyway for the connections to the display. (I prefer 74LXC1T45/74LXC2T45/74LXC8T245 translators with Schmitt trigger inputs, but might use e.g. TXU0104 for the control signals.)
I do have ordered a Duo, a Duo 256M, and a Duo S, so I can try and find out for myself, but that will be slow going.