Skip to content

project-madhava/AriesDMD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AriesDMD Library

Author: Nishil Patel
Platform: RISC-V (Vega Aries V3 – C-DAC)
Project Type: Academic & Experimental
Status: Stable / Actively Maintained

WhatsApp Image 2026-05-19 at 2 49 28 PM

🚀 Overview

AriesDMD is a modular display driver library designed specifically for P10 and HUB75 LED matrix panels on RISC-V based Vega Aries V3 boards. It supports:

  • 🟢 Monochrome P10 panels (32×16, 1/4 scan)
  • 🌈 RGB HUB75 panels (32×16, 1/8 scan and beyond)

Most existing LED matrix libraries were written for AVR-based Arduino boards like Arduino UNO. Unlike traditional Arduino libraries designed for AVR microcontrollers, AriesDMD is built specifically for the Vega Aries architecture to provide:

  • Stable scanning
  • Correct pixel mapping
  • Flicker-free refresh
  • Multi-panel support
  • Clean framebuffer rendering

🎯 Key Design Goals

  • Deterministic and timing-safe scanning
  • RISC-V friendly architecture
  • Clean pixel mapping independent of wiring
  • Modular RGB / Mono architecture
  • Large multi-panel scalability
  • Future-ready for IoT text streaming

🟢 Supported Hardware: Microcontroller Vega Aries V3 (C-DAC)

🖥 Supported Displays

Description Interface Pixels Scan Code module
Monochrome P10 panels HUB12 32x16 1/4 AriesDMD.h, AriesDMD.cpp
Indoor RGB HUB75 32x16 1/8 AriesRGB32x16.h, AriesRGB32x16.cpp
80x40 1/20 AriesRGB.h, AriesRGB.cpp

Features:

  • Multi-panel cascading
  • Text rendering
  • 8 colour options
  • Pixel drawing

Pixel Coordinate System

  1. Single Panel:
(0,0) -----------------> X
  |
  |
  |
  v
  Y
  • Top left corner: (0,0)
  • Bottom right corner: (W-1,H-1)
  1. Multi Panel: Multiple panels are treated as one continuous display canvas.
  • Example: AriesDMD dmd(4,1,...);
  • Creates: 128 × 16 display

User Guide:

Setting up VEGA Ecosystem on Arduino IDE

Open Arduino IDE / Download and install Arduino IDE 1.8.19

Open File->Preferences, Add below JSON in "Additional Boards Manager URL", Press OK

https://gitlab.com/riscv-vega/vega-arduino/-/raw/main/package_vega_index.json
image

Open Tools->Boards->Board manager, Search for "vega"

Install "VEGA ARIES Boards" with latest version from the link provided

Select Tools->Board->VEGA Processor: ARIES Boards->ARIES v3 image


Check your ARIES board whether the BOOT SEL pin is shorted using a jumper or not. image

Important:

If
BOOT-SEL jumper (J12) is shorted :
a) Select Flash Mode -> Enabled
b) Select Tools -> Programmer -> VEGA FLASHER

Else
a) Select Flash Mode -> Disabled
b) Select Tools -> Programmer -> VEGA XMODEM

Here the BOOT SEL pin is shorted, so we have enabled the flash mode and selected VEGA FLASHER from programmer option.

Connect the ARIES board to PC

Select Tools -> Port -> COM* (ARIES Board)


Aries-RGB Panel Connections : (Used in given examples)

1) 32x16 Panel:

HUB75 Pin Aries Pin
R1GPIO3
G1GPIO4
B1GPIO5
R2GPIO6
G2GPIO7
B2GPIO8
CLKGPIO9
LATGPIO10
OEGPIO11
AGPIO12
BGPIO13
CGPIO14
image
---

2) 80x40 Panel:

HUB75 Pin Aries Pin
R0GPIO3
G0GPIO4
B0GPIO5
R1GPIO6
G1GPIO7
B1GPIO8
CLKGPIO14
LATGPIO15
OEGPIO16
AGPIO10
BGPIO11
CGPIO12
DGPIO13
EGPIO9
image

🎨 RGB Color Table

RGB library supports 8 basic colors using ON/OFF RGB channels.

Format:  AriesDrawString(display,1,0,"HELLO",R,G,B);
Example: AriesDrawString(display,1,0,"HELLO",1,1,0);
                                               ↑
                                  Change color from here
R G B Color
0 0 0 Black
1 0 0 Red
0 1 0 Green
0 0 1 Blue
1 1 0 Yellow
1 0 1 Magenta
0 1 1 Cyan
1 1 1 White

Aries-Monochrome P10 Connections:

P10 Panel Aries Pin
OE/ENGPIO9
AGPIO6
BGPIO7
CLKSCLK
Lat/SCLKGPIO8
DataMOSI
image

About

Dot Matrix Display library for P10 HUB75 panels compatible with both monochrome and RGB panels

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors