M5Stack ATOM Display Lite is a kit based on GOWIN Gowin GW1NR-9C FPGA and LT8618SX RGB to HDMI chip designed to add HDMI output up to 720p to the company’s ESP32-based M5Stack ATOM Lite module.
The ATOM Lite sees the ATOM Display Lite kit as an SPI display, but the solution outputs the data to an HDMI monitor or TV with up to 1280×720 resolution and can be used for information display, menu board, and more.
ATOM Display Lite specifications:
- Wireless IoT modules – M5Stack ATOM Lite ESP32-PICO-D4 based module with 240MHz dual-core CPU, 520KB SRAM, 4MB flash, Wi-Fi 4 and Bluetooth connectivity
- FPGA – Gowin GW1NR-9C (PDF datasheet) FPGA with 8,640 LUTs used to simulate SPI TFT-LCD data output,
- HDMI bridge – Lontium Semi LT8618SX RGB to HDMI chip with 24-bit color depth up to 1280×720 output @ 60 fps (optimized frame rate up to 12 ~ 16FPS)
- Misc- Programmable RGB LED, reset button, user button, Grove expansion port
- Net weight – 21 grams
- Dimensions – 64 x 24 x 29mm
The M5Stack ATOM Lite module is connected to the kit through SPI to the FPGA, and I2C to the LT8618SX RGB to HDMI chip.
At this time, the kit is programmable through the Arduino IDE, but M5Stack is also working on getting UIFlow support (visual programming) to work. The FPGA resources are available on Github. You’ll need Chisel 3.4 and GOWIN EDA v1.9.8 IDE, as well as PlatformIO if you want to run the test from the Github repo.
But as I understand it, it’s just programmable as if another SPI display was connected to the board, and for instance, M5Stack provides a single Arduino demo in the Wiki switching between red, green, and blue screens:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <Arduino.h> #include <vector> #include <M5AtomDisplay.h> M5AtomDisplay display; void setup(void) { display.begin(); } void loop(void) { display.fillScreen(RED); delay(1000); display.fillScreen(GREEN); delay(1000); display.fillScreen(BLUE); delay(1000); } |
The M5Stack Atom Lite LCD Display Driver Kit is sold for $36.90 with the ATOM Lite module and the ATOM Display kit.
It’s not the first time an SPI to HDMI solution is provided for microcontroller boards, and several years ago, Leung John demonstrated an Arduino HDMI shield in the video below. I’d expect similar capabilities from the M5Stack kit.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
At this price point, having a RP2040 do this is probably better, it’s only one chip, it’s dirt cheap compared to this and widely available. You do need to “overclock” it, but it seems like it’s not that much of a problem, and there were talks of RPi validating them for higher frequencies.
Instead of such half-baked software bitbanging solutions, why not just use a Raspi Zero?
And if you don’t like Linux, you can also use bare metal C or Micropython.
@Cyk said: “Instead of such half-baked software bitbanging solutions, why not just use a Raspi Zero?”
Ummm… because you can’t buy a RasPi Zero?
Raspberry Pi Zero – Out of Stock
https://www.raspberrypi.com/products/raspberry-pi-zero/
Fair point. But can you buy a M5Stack ATOM Display Lite?
They’re based in Shenzhen, China, which is currently under lockdown.
Is Shenzhen still in lockdown, or back in lockdown? Some people I know told me it was back to normal.
Shenzhen seems open today but maybe not for long. Shanghai is now in COVID-19 lockdown and it’s not pretty:
* April 26, 2022 Starving Shanghai residents scream at authorities during COVID lockdown, By Emily Crane
https://nypost.com/2022/04/26/shanghai-residents-scream-at-authorities-amid-covid-lockdown/
@Cyk said: “Fair point. But can you buy a M5Stack ATOM Display Lite? They’re based in Shenzhen, China, which is currently under lockdown.”
Can buy a M5Stack ATOM Lite LCD Display Driver Kit:
* M5Stack Atom Lite – LCD Display Driver Kit, SKU:K115-B, $36.90 USD, 10+ In Stock
Currently Shenzhen seems open but maybe not for long. Shanghai is now in COVID-19 lockdown. See my comment with link below.
@Ignas Kiela said: “At this price point, having a RP2040 do this is probably better, it’s only one chip, it’s dirt cheap compared to this and widely available. You do need to “overclock” it, but it seems like it’s not that much of a problem, and there were talks of RPi validating them for higher frequencies.”
An RP2040 that supports HDMI out natively you say? Bit-bangging? Link please?
It’s using the PIO interface:
https://www.cnx-software.com/2021/03/02/raspberry-pi-rp2040-boards-are-coming-with-hdmi/
DVI only and up to 640×480 resolution @ 60 Hz
I missed this. Thanks for the link. David
One of the reasons we have a dedicated RGB2HDMI converter is to ensure compatibility across all different HDMI receivers. We can do everything in the FPGA, which is roughly the same price as RP2040, but the customer may end up finding their TV does not work it due to some weird compatibility issue. After all , HDMI protocol is not just shifting out TMDS signals.
>The M5Stack Atom Lite LCD Display Driver Kit is sold for $36.90
mmm there are HDMI pucks that have wifi, 64MB of RAM, two Cortex A7s for $15.
I get the feeling if you want to drive a HDMI display you’re going to repurpose something like that instead. That said Arduino people would attach a whole Xeon system to an AVR if they could.
> That said Arduino people would attach a whole Xeon system to an AVR if they could.
🙂
Already done. At work in the lab, an AVR emulates a USB serial port and drives relays that power on/off up to 8 machines among which some Xeons 😉
That seems to be the right use of an AVR. If you had the Xeon systems funneling raw packets from ethernet to a hand crafted TCP/IP stack running on the AVR because “you needed ethernet on the arduino” then you’d have a true arduino project.
I’ll never understand why someone would want to combine an ATMEGA328 (as main processor) with an ESP32 (only as WiFi interface).
The ESP32 can run around the ATMEGA in circles, all while handling the WiFI stuff (including webserver), and many more things.
@Cyk said: “I’ll never understand why someone would want to combine an ATMEGA328 (as main processor) with an ESP32 (only as WiFi interface). The ESP32 can run around the ATMEGA in circles, all while handling the WiFI stuff (including webserver), and many more things.” People combine other things with the ESP32 when they need fast GPIO. The ESP32 is rather slow when it comes to straight-forward GPIO speed, e.g. 10MHz maximum with port-direct manipulation in C/C++. Read the code snippet and two reference links below to understand why. So if you need fast GPIO, especially for more than one pin… Read more »
Valid