Slide 1

Slide 1 text

ATOM Display / 
 Display Module 解説
 2023-05-04 M5Stack Japan Tour 2023 Spring Tokyo

Slide 2

Slide 2 text

自己紹介
 ● 井田 健太 (Kenta IDA) ● My current job: Writing ESP32 firmware of smart home products ○ My previous job: Designing logic for Xilinx FPGAs. ● My hobby: Writing ESP32 firmware in Rust, etc… ● twitter: @ciniml

Slide 3

Slide 3 text

ATOM Display Lite / Display Module
 ● Extension module to output HDMI video signal from M5Stack cores. ○ ATOM Display Lite: from M5ATOM series (ATOM Lite, Matrix, S3, S3 Lite) ○ Display Module: Core, Core2, (maybe CoreS3) ● You can show screen outputs from your software to larger display easily. ● You can also output sounds from the display (Display Module only) https://www.switch-science.com/products/8779 https://www.switch-science.com/products/7592 ATOM Lite, Matrix, S3, S3 Lite Core, Core2, (CoreS3?) HDMI Cable

Slide 4

Slide 4 text

Structure of ATOM Display / Display Module system
 ● M5Unified/M5GFX sends display command and audio data. ● FPGA processes the display command and update the output. ● FPGA outputs video signal to the HDMI transmitter. ○ Audio data is passed through to the HDMI transmitter. ● HDMI transmitter outputs HDMI signal to the display. M5Stack MCU module (ATOM series, Core series) M5Unified M5GFX ATOM Display / Display Module User Software FPGA HDMI Transmitter Display Command Audio (Display Module only)

Slide 5

Slide 5 text

Why am I giving this presentation today?
 ● Because all main developers of these modules are present here. ○ M5Unified/M5GFX -> らびやんさん ○ UI Flow support -> BoBoさん ○ ATOM Display / Display Module hardware -> HanXiaoさん ○ ATOM Display / Display Module FPGA -> me M5Stack MCU module (ATOM series, Core series) M5Unified M5GFX ATOM Display / Display Module User Software FPGA HDMI Transmitter @lovyan03 @ciniml @HanxiaoM UI Flow @its_hard_2_name

Slide 6

Slide 6 text

Main feature of display modules
 ● Output resolution: 1920x1080@24Hz max. ○ Some displays does not support this video parameters. ● Note that this does not mean you can update the display content at this refresh rate. ○ Fill rate in the FPGA is limited due to its memory throughput. M5Stack MCU module (ATOM series, Core series) M5Unified M5GFX User Software ATOM Display / Display Module FPGA HDMI Transmitter Display Command SPI (80MHz)

Slide 7

Slide 7 text

How to improve actual fill rate? (1/2)
 ● Use magnification function of display modules. ○ e.g. 4x magnification: draw 320x180 image -> shown as 1280x720 ○ No extra cost for MCU module CPU. ■ Display module automatically magnificates the image and output to the display. 320 180 1280 720

Slide 8

Slide 8 text

How to improve actual fill rate? (2/2)
 ● Use lower resolution and magnification. ○ e.g. draw 320x240 image -> shown as 640x480 image. ○ No extra cost for MCU module CPU. ● Display module supports various resolutions. ○ M5GFX automatically calculates appropriate video parameters. 320 240 640 480

Slide 9

Slide 9 text

Audio output (Display Module only)
 ● Output audio from the display ● Audio data is output from MCU module as I2S stream. ● FPGA just passthrough the I2S signal. M5Stack MCU module (ATOM series, Core series) M5Unified M5GFX ATOM Display / Display Module User Software FPGA HDMI Transmitter Audio via I2S passthrough

Slide 10

Slide 10 text

Customization of display modules
 ● You can change the FPGA logic by yourself! ● Source code of the FPGA logic is available. ○ https://github.com/ciniml/atom_display_fpga ○ Written mainly in Chisel. ● Development environment is available at no extra cost. ○ You can download the EDA tool from GOWIN website. ○ You need to submit an application to obtain a license.

Slide 11

Slide 11 text

Example: Display latency checker
 ● Measures latency of displays. ○ Output blinking video signal from ATOM Display. ○ Measure actual display output by photo diode. ○ Use customized version of the FPGA design.

Slide 12

Slide 12 text

Conclusion
 ● You can show images from your application to larger display by using ATOM Display / Display Module. ● You can control these modules easily by using M5GFX / UIFlow. ● Display Module also supports audio output. ● Customization of display modules FPGA is possible. ○ If you want to do it, I’ll give you a jig to support it.

Slide 13

Slide 13 text

宣伝
 ● Interface 2022年12月号別冊付録 ● display moduleで使ったFPGAと 同じシリーズのFPGAの解説記事 書きました。 https://interface.cqpub.co.jp/m agazine/20221201/