OpenDMD

For the DMDoS display

New open firmware and a web app for the DMDoS LED dot-matrix display.

Try the demo in your browser →Install on your displayWhat you need

OpenDMD is open-source firmware and a web app for the DMDoS display: a 128x32 LED dot-matrix display, two chained 64x32 HUB75 panels driven by an ESP32, that plays animated GIFs from a microSD card, like the "DMD" in a pinball machine. DMDoS is a community project from Spain, and dmdos.net is where to get the hardware, build the display and find GIFs. OpenDMD is an alternative firmware for the same board: it plays a DMDoS card as it is, and adds a web app to manage it.

PRESS START scrolling across the panel in pink
Scrolling text
A checkered tunnel turning and cycling colour
Tunnel (a Formula)
Pixel-art characters walking across the panel
Kenney Pixel Platformer sprites (CC0)
A turning wireframe cube
Wireframe cube (a Formula)
Stars flying towards the viewer
Starfield (a Formula)
The panel's big clock with the date underneath
The clock
A Mode 7 floor running away to a foggy horizon
Mode 7 rotozoom floor (a Formula)
Plasma folded into a mirror pattern
Kaleidoscope (a Formula)
Three waves making every colour of a plasma
Plasma (a Formula)

Recorded from the simulator: OpenDMD's own Formulas and live items, and the CC0 Kenney Pixel Platformer sprites. Bring your own GIFs, or make them with Create Art.

OpenDMD and DMDoS#

OpenDMD only replaces the software on the ESP32. The hardware, the build and the GIFs come from DMDoS:

OpenDMD is an independent project, not made by or affiliated with DMDoS or MORTACA. The original DMDoS firmware can be put back at any time from the Software section of dmdos.net.

Install#

Open the installer in Chrome, Edge, Opera or Firefox on a computer, plug the display's ESP32 board into your computer by USB, and click Install. When it's done, the installer asks for your WiFi and puts the board on it; the web app is then at http://opendmd.local/. (Skipped that? The player opens a WiFi network called OpenDMD-Setup to set it up from instead.) Install has the details.

From source: make fw-release && make flasher (see For developers).

What it does#

Screenshots#

Library Create Art
The Library, with a GIF's details playing Create Art with a picture loaded: Frame, Look, Text, Preview and Save
Now playing Formulas
The Now view, previewing what the panel plays Formulas: the examples, and Plasma playing in its details
Playlists On a phone
A playlist open in the editor The Library on a phone

The demo card in these screenshots holds OpenDMD's own Formulas and the Kenney Pixel Platformer sprites (CC0); make screenshots takes them again (tools/screenshots.py).

Documentation#

The documentation is also at opendmd.github.io.

Development#

Everything builds from this repository with make; For developers lists the toolchains, the common targets and the crates.

License#

Either Apache 2.0 or MIT, at your option. Contributions are dual licensed the same way.

The headings use Silkscreen by Jason Kottke, a pixel font under the SIL Open Font License 1.1. A small subset of it is bundled with the web app and the setup page, so they work without the internet, and published with the site.

The firmware and the web app are built on other open-source software (ESP-IDF, FreeRTOS, lwIP, Mbed TLS and the Rust crates among it), listed with each licence's full text in the firmware's and the web app's third-party notices. Each release and the player itself carry them (Settings › Device › About › Open-source licences).

OpenDMD comes with no GIFs. The animations on a DMDoS card are third-party content that this project can't relicense or redistribute: get the DMDoS GIF pack from dmdos.net, or make your own with Create Art. The animations on the OpenDMD site are OpenDMD's own Formulas and live items, recorded from the simulator, and the CC0 Kenney Pixel Platformer sprites.