LED ticker
A customizable scrolling LED ticker for AWTRIX NG
About this flow
| System | AWTRIX NG Scripts |
|---|---|
| AWTRIX version | AWTRIX NG |
| Topic | Miscellaneous |
| Built by | BR4ND |
| File | o66MSE7nRJhe.ax · 3.7 KB |
| Icons | 1 |
| Published | 25 Aug 2026 |
| Downloads | 75 |
Is this your flow?
If you created this flow, open your saved edit link to add it to your account. You can then manage it whenever you sign in. Adding it to your account replaces the edit link.
Flow description
A simple and highly customizable LED ticker for AWTRIX NG.
Enter your own message and control the appearance directly from the AWTRIX NG settings.
Features:
Customizable text
Scrolling on/off
Small or large text
Solid color
Rainbow colors
Blink effect
Fade effect
Adjustable effect speed
Adjustable scrolling speed
Left/right scrolling
Multiple scrolling modes
Adjustable gap between messages
Adjustable pause
All settings can be changed from the app settings without modifying the script.
Designed for 32×8 LED matrix displays such as the Ulanzi TC001 running AWTRIX NG.
o66MSE7nRJhe.ax
# @name LED Ticker
# @desc A simple and customizable LED ticker for AWTRIX NG
# @version 1.1
# @config message text "Text" default="BR4ND LED TICKER" maxlen=256
# @config scrolling bool "Scrolling" default=true
# @config font select "Font size" default=small options=small,large
# @config colorMode select "Color mode" default=solid options=solid,rainbow,blink,fade
# @config color color "Text color" default=#FFFFFF
# @config background color "Background color" default=#000000
# @config effectSpeed number "Effect speed" default=1000 min=100 max=5000 unit=ms
# @config speed number "Scroll speed" default=100 min=0 max=300 unit=%
# @config direction select "Direction" default=left options=left,right
# @config scrollMode select "Scroll mode" default=loop options=static,wrap,loop,bounce
# @config gap number "Gap" default=8 min=0 max=32 unit=px
# @config hold number "Pause" default=1000 min=0 max=5000 unit=ms
class LEDTicker
var message
var scrolling
var fontName
var colorMode
var color
var background
var effectSpeed
var speed
var direction
var scrollMode
var gap
var hold
var rainbow
def init()
self.message = store.get("message")
self.scrolling = store.get("scrolling")
self.fontName = store.get("font")
self.colorMode = store.get("colorMode")
self.color = store.get("color")
self.background = store.get("background")
self.effectSpeed = store.get("effectSpeed")
self.speed = store.get("speed")
self.direction = store.get("direction")
self.scrollMode = store.get("scrollMode")
self.gap = store.get("gap")
self.hold = store.get("hold")
self.rainbow = []
var length = size(self.message)
if length > 0
for i : 0 .. length - 1
var hue = (i * 360) / length
self.rainbow.push([self.message[i], hsv(hue, 100, 70)])
end
end
end
def blinkColor()
var period = self.effectSpeed
if period <= 0
return self.color
end
var phase = now_ms() % period
if phase < (period / 2)
return 0x000000
end
return self.color
end
def fadeColor()
var period = self.effectSpeed
if period <= 0
return self.color
end
var phase = now_ms() % period
var brightness
if phase < (period / 2)
brightness = (phase * 255) / (period / 2)
else
brightness = ((period - phase) * 255) / (period / 2)
end
if brightness < 0
brightness = 0
end
if brightness > 255
brightness = 255
end
var r = (self.color >> 16) & 255
var g = (self.color >> 8) & 255
var b = self.color & 255
var rr = (r * brightness) / 255
var gg = (g * brightness) / 255
var bb = (b * brightness) / 255
return rgb(rr, gg, bb)
end
def draw()
clear(self.background)
font(self.fontName)
var mode = self.scrollMode
if !self.scrolling
mode = "static"
end
var opts = {
"mode": mode,
"direction": self.direction,
"entry": "offscreen",
"whenFits": "static",
"speed": self.speed,
"gap": self.gap,
"holdMs": self.hold
}
if self.colorMode == "rainbow"
scroll_text(
self.rainbow,
0xFFFFFF,
opts
)
elif self.colorMode == "blink"
scroll_text(
self.message,
self.blinkColor(),
opts
)
elif self.colorMode == "fade"
scroll_text(
self.message,
self.fadeColor(),
opts
)
else
scroll_text(
self.message,
self.color,
opts
)
end
end
end
return LEDTicker()
Install it on your AWTRIX NG
Add this flow to your AWTRIX NG. It will start appearing on your display after installation.
Unable to connect? Download the flow and add it in the Scripts section of your AWTRIX. Advanced users can also use this command:
This flow uses the following icons. Add them to your AWTRIX along with the flow.
32×8 px
Sign in to download these icons or send them to your AWTRIX.
Discussion 0
Ask a question, suggest a change or share how you use it.
No comments yet. Start the conversation.
More flows for AWTRIX NG Scripts or Miscellaneous
Something wrong with this flow? Report it.
Have an idea?
Sign in to ask questions and join the conversation.