🎮 Pixelcade API Documentation
Complete WS2812B LED Strip & MAX7219 & Mini LCD API Reference
Base URL: http://localhost:8080 or http://your-hostname:8080
Test Format: curl localhost:8080/[endpoint]
Test Format: curl localhost:8080/[endpoint]
📑 Table of Contents
📱 Device Information APIs
GET/info
Get comprehensive device information including hardware details, configuration settings, and feature support.
Example:
curl localhost:8080/info
{
"name": "My Pixelcade LED",
"type": "LED",
"hostname": "almacbook.local",
"ipAddress": "192.168.0.254",
"firmwareVersion": "PDXR0023",
"hardwareID": "PIXL0020",
"v2board": true,
"bootLoaderID": "IOIO0401",
"softwareVersion": "6.4.0",
"resolution": "128x32",
"pixelcadeRoot": "/Users/al/Documents/code/pixelcadeusbtools/pixelweb/dist",
"bindAddr": "0.0.0.0",
"bindPort": 8080,
"defaultFont": "/Users/al/Documents/code/pixelcadeusbtools/pixelweb/dist/fonts/Arial Narrow 7.ttf",
"defaultFontColor": "ff0000",
"defaultFontColorRandom": true,
"defaultFontSize": 28,
"devicePath": "auto",
"deviceScan": false,
"fuzzyMatching": true,
"pngFuzzyDistanceThreshold": 20,
"pngFuzzyMaxMatchesThreshold": 40,
"noIntro": false,
"startupImage": "mame/pixelcade.png",
"startupMode": false,
"startupText": "Welcome to Pixelcade",
"systemImage": "",
"debugLogging": false,
"traceLogging": false,
"noLogging": false,
"colorLogging": true,
"initDelay": 0,
"demoMode": false,
"noMdns": false,
"lcdMarquee": false,
"lcdMarqueeHostName": "",
"lcdMarqueeIPAddress": "",
"lcdLEDCompliment": true,
"lcdSearchStartUpDelay": 0,
"lcdMultiple": false,
"lcdUsbConnected": false,
"lcdOnly": false,
"lcdUsbIPAddress": "169.254.100.1",
"lcdFirmwareVersion": "",
"ledActive": true,
"hasLEDStripSupport": true,
"ledStrip": true,
"ledStripBrightness": 5,
"ledStripNumPixels": 762,
"sevenSegment": true,
"sevenSegmentNumModules": 4,
"dotMatrix": false,
"dotMatrixNumModules": 8,
"miniLCD": true,
"miniLCDType": 3
}
🌈 WS2812B LED Strip APIs
🎯 Basic LED Strip Control
GET/ledstrip/pixel/{index}?r={red}&g={green}&b={blue}
Set a specific LED pixel to a color.
Parameters:
index: LED index (0-based)r,g,b: RGB color values (0-255)
Example:
curl "localhost:8080/ledstrip/pixel/10?r=255&g=0&b=0"
GET/ledstrip/clear
Clear all LEDs and stop effects.
Example:
curl localhost:8080/ledstrip/clear
GET/ledstrip/flood?r={red}&g={green}&b={blue}
Set all LEDs to the same color.
Example:
curl "localhost:8080/ledstrip/flood?r=0&g=255&b=0"
GET/ledstrip/range?start={start}&count={count}&r={red}&g={green}&b={blue}
Set a range of LEDs to a color.
Example:
curl "localhost:8080/ledstrip/range?start=10&count=5&r=255&g=255&b=0"
⚙️ LED Strip Configuration
GET/ledstrip/brightness/{brightness}
Set LED strip brightness (0-255).
Example:
curl localhost:8080/ledstrip/brightness/128
GET/ledstrip/getbrightness
Read current LED strip brightness from device.
Example:
curl localhost:8080/ledstrip/getbrightness
{
"brightness": 128,
"percentage": 50,
"success": true
}
GET/ledstrip/numpixels/{numpixels}
Configure total number of LEDs (1-2000).
Example:
curl localhost:8080/ledstrip/numpixels/300
GET/ledstrip/getpixelcount
Read current pixel count from device.
Example:
curl localhost:8080/ledstrip/getpixelcount
{
"numPixels": 762,
"success": true
}
GET/ledstrip/enabled?enabled={true/false}
Enable or disable the LED strip.
Example:
curl "localhost:8080/ledstrip/enabled?enabled=true"
GET/ledstrip/pause
Pause Core1 (LED processing).
Example:
curl localhost:8080/ledstrip/pause
GET/ledstrip/restart
Restart Core1 (LED processing).
Example:
curl localhost:8080/ledstrip/restart
✨ LED Strip Effects
GET/ledstrip/effect/{effect}?[parameters]
Start a LED strip effect with optional parameters.
Parameters:
r,g,b: Primary color (0-255)r2,g2,b2: Secondary color (0-255)speed: Effect speed (1-255)loops: Number of loops (0=infinite)intensity: Brightness (0-255)reverse: Reverse direction (true/false)duration: Duration in secondssplit: Use split mode (add&splitparameter)
Examples:
curl "localhost:8080/ledstrip/effect/rainbow?speed=100&intensity=200"
curl "localhost:8080/ledstrip/effect/fire?r=255&g=100&b=0&speed=150"
curl "localhost:8080/ledstrip/effect/marquee?split&speed=200"
GET/ledstrip/effect/stop
Stop all LED strip effects.
Example:
curl localhost:8080/ledstrip/effect/stop
🎨 Available LED Strip Effects
🔥 Basic Effects
- explosion
- comet
- chaser
- fire
- strobe
- glitch
- party
- pulse
- rainbow
- scanner
- wave
- sparkle
- twinkle
- cylon
⚡ Advanced Effects
- explosion_dual
- explosion_multi
- particle_explosion
- fireworks
- fire_flicker
- twinklefox
- marquee
- meteor_rain
- chase_wave
- fireworks_burst
- lightning
- starscape
- explosion_burst
🎃 Themed Effects
- christmas
- halloween
- valentine
- independence
🎮 Gaming Effects
- matrix_rain
- pacman_chase
🔫 Gun Game Effects
- gun_flash_recoil
- gun_muzzle_trail
- gun_explosion_pulse
- gun_laser_shot
- gun_shotgun_spread
- gun_reload_sequence
- gun_crosshair_lock
- gun_damage_indicator
🏁 Racing Effects
- racing_speedometer
- racing_track_lights
- racing_turbo_boost
- racing_drift_smoke
- racing_finish_line
🎯 Teknoparrot Effects
- teknoparrot_arcade
- teknoparrot_neon
🕹️ Arcade Systems
- console_mame
- console_fba
- console_daphne
- console_sammy_atomiswave
- console_sega_naomi
- console_sega_model_2
- console_sega_model_3
- console_taito_type_x
🎮 Nintendo Consoles
- console_nes
- console_snes
- console_n64
- console_nintendo_gamecube
- console_nintendo_wii
- console_nintendo_wii_u
- console_nintendo_famicom_disk_system
- console_virtualboy
🦔 Sega Consoles
- console_sega_sg-1000
- console_mastersystem
- console_genesis
- console_segacd
- console_sega32x
- console_sega_saturn
- console_dreamcast
🎯 Sony Consoles
- console_psx
- console_ps2
- console_sony_playstation_3
- console_psp
🎮 Microsoft Consoles
- console_microsoft_xbox
- console_xbox360
🎲 Atari Consoles
- console_atari2600
- console_atari5200
- console_atari7800
- console_atarijaguar
- console_atarilynx
💿 NEC Consoles
- console_pcengine
- console_nec_pc_engine-cd
- console_supergrafx
🎰 Other Consoles
- console_3do
- console_philips_cd-i
- console_vectrex
- console_coleco
- console_intellivision
- console_amiga
- console_fairchild_channel_f
- console_bally_astrocade
🎮 Handhelds
- console_gb
- console_gbc
- console_gba
- console_nintendo_ds
- console_nintendo_3ds
- console_gamegear
- console_ngp
- console_ngpc
👾 MAME Game Effects
- mame_pacman
- mame_dkong
- mame_galaga
- mame_frogger
- mame_mspacman
- mame_digdug
- mame_qbert
- mame_polepos
- mame_btime
- mame_joust
- mame_robotron
- mame_zaxxon
- mame_tron
- mame_timeplt
- mame_1942
- mame_paperboy
- mame_ghouls
- mame_gauntlet
- mame_commando
- mame_rampage
- mame_bublbobl
- mame_arkanoid
- mame_outrun
- mame_rygar
- mame_ddragon
- mame_rtype
- mame_shinobi
- mame_contra
- mame_sf
- mame_opwolf
- mame_aburner
- mame_narc
- mame_splatter
- mame_goldnaxe
- mame_ffight
- mame_tmnt
- mame_gorf
- mame_centiped
- mame_milliped
- mame_asteroid
- mame_defender
- mame_stargate
- mame_tempest
- mame_wiz
- mame_berzerk
- mame_mpatrol
🔲 Matrix Effects
- matrix_digital_rain
- matrix_ripple
- matrix_spiral
- matrix_crosshatch
- matrix_diamonds
- matrix_plasma
- matrix_fire_2d
- matrix_snake
- matrix_checkerboard
- matrix_bouncing_ball
- matrix_swirl
- matrix_snowfall
- matrix_explosion_radial
- matrix_explosion_shockwave
- matrix_explosion_fireball
- matrix_gun_muzzle_flash
- matrix_gun_bullet_trail
- matrix_gun_impact_spark
- matrix_grenade_explosion
- matrix_shotgun_spread
- matrix_laser_blast
- matrix_plasma_burst
- matrix_scrolling_text
- matrix_circle_pulse
- matrix_cross_pulse
- matrix_diamond_pulse
- matrix_square_pulse
- matrix_pulsing_diamonds
- matrix_pulsing_squares
- matrix_pulsing_circles
- matrix_spinning_square
- matrix_horizontal_dashes
- matrix_vertical_streak
- matrix_shift_left_right
- matrix_shift_right_left
- matrix_shift_bottom_top
- matrix_shift_top_bottom
- matrix_splash_center
- matrix_round_and_round
- matrix_electrical_arc
- matrix_electrical_power
- matrix_plasma_sideways
- matrix_energy_beam
- matrix_lightning_storm
- matrix_sparkle_left
- matrix_sparkle_right
- matrix_sparkle_corners
- matrix_particle_stream
- matrix_stars_field
- matrix_color_fade
- matrix_color_wave
- matrix_rainbow_spiral
- matrix_arrow_shift
- matrix_v_line_pulse
- matrix_score
📱 Matrix 8x32 MAME
- matrix_8x32_mame_polepos
- matrix_8x32_mame_btime
- matrix_8x32_mame_zaxxon
- matrix_8x32_mame_tron
- matrix_8x32_mame_timeplt
- matrix_8x32_mame_paperboy
- matrix_8x32_mame_gng
- matrix_8x32_mame_commando
- matrix_8x32_mame_rampage
- matrix_8x32_mame_bublbobl
- matrix_8x32_mame_rygar
- matrix_8x32_mame_ddragon
- matrix_8x32_mame_rtype
- matrix_8x32_mame_shinobi
- matrix_8x32_mame_contra
- matrix_8x32_mame_opwolf
- matrix_8x32_mame_aburner
- matrix_8x32_mame_narc
- matrix_8x32_mame_splatter
- matrix_8x32_mame_goldnaxe
- matrix_8x32_mame_ffight
- matrix_8x32_mame_gorf
- matrix_8x32_mame_centiped
- matrix_8x32_mame_milliped
- matrix_8x32_mame_asteroid
- matrix_8x32_mame_defender
- matrix_8x32_mame_stargate
- matrix_8x32_mame_tempest
- matrix_8x32_mame_wotw
- matrix_8x32_mame_berzerk
- matrix_8x32_mame_mpatrol
- matrix_8x32_mame_galaga
- matrix_8x32_mame_1942
- matrix_8x32_mame_pacman
- matrix_8x32_mame_mspacman
- matrix_8x32_mame_qbert
- matrix_8x32_mame_digdug
- matrix_8x32_mame_dkong
- matrix_8x32_mame_invaders
- matrix_8x32_mame_frogger
- matrix_8x32_mame_tetris
- matrix_8x32_mame_robotron
- matrix_8x32_mame_joust
- matrix_8x32_mame_vssmb
🎮 Matrix 8x8 MAME
- matrix_8x8_mame_polepos
- matrix_8x8_mame_btime
- matrix_8x8_mame_zaxxon
- matrix_8x8_mame_tron
- matrix_8x8_mame_timeplt
- matrix_8x8_mame_paperboy
- matrix_8x8_mame_gng
- matrix_8x8_mame_commando
- matrix_8x8_mame_rampage
- matrix_8x8_mame_bublbobl
- matrix_8x8_mame_rygar
- matrix_8x8_mame_ddragon
- matrix_8x8_mame_rtype
- matrix_8x8_mame_shinobi
- matrix_8x8_mame_contra
- matrix_8x8_mame_opwolf
- matrix_8x8_mame_aburner
- matrix_8x8_mame_narc
- matrix_8x8_mame_splatter
- matrix_8x8_mame_goldnaxe
- matrix_8x8_mame_ffight
- matrix_8x8_mame_gorf
- matrix_8x8_mame_centiped
- matrix_8x8_mame_milliped
- matrix_8x8_mame_asteroid
- matrix_8x8_mame_defender
- matrix_8x8_mame_stargate
- matrix_8x8_mame_tempest
- matrix_8x8_mame_wotw
- matrix_8x8_mame_berzerk
- matrix_8x8_mame_mpatrol
- matrix_8x8_mame_galaga
- matrix_8x8_mame_galaga_explosion
- matrix_8x8_mame_1942_explosion
- matrix_8x8_mame_dkong
- matrix_8x8_mame_invaders
- matrix_8x8_mame_qbert
- matrix_8x8_mame_pacman
- matrix_8x8_mame_mspacman
- matrix_8x8_mame_1942
- matrix_8x8_mame_frogger
🗺️ Zone Management
GET/ledstrip/zone/{zoneid}/setup?start={start}&end={end}&name={name}&type={type}&resolution={resolution}&reverse={true/false}
Configure a LED zone with optional reverse direction for strip zones.
Parameters:
start,end: Pixel rangename: Zone nametype: Zone type (strip/matrix/button)resolution: Matrix resolution (8x8, 8x32, 16x16, etc.)reverse: Reverse direction (only for strip zones)
Examples:
curl "localhost:8080/ledstrip/zone/0/setup?start=0&end=63&name=left_matrix&type=matrix&resolution=8x8"
curl "localhost:8080/ledstrip/zone/1/setup?start=64&end=127&name=right_strip&type=strip&reverse=true"
GET/ledstrip/zone/{zoneid}/delete
Delete a configured LED zone.
Example:
curl localhost:8080/ledstrip/zone/0/delete
GET/ledstrip/zone/{zoneid}/effect/{effect}?[parameters]
Start an effect on a specific zone (by ID or name).
Examples:
curl "localhost:8080/ledstrip/zone/0/effect/matrix_ripple?r=0&g=255&b=255"
curl "localhost:8080/ledstrip/zone/left_matrix/effect/matrix_ripple?r=0&g=255&b=255"
GET/ledstrip/zone/{zoneid}/stop
Stop effects on a specific zone or all zones.
Examples:
curl localhost:8080/ledstrip/zone/0/stop
curl localhost:8080/ledstrip/zone/all/stop
GET/ledstrip/zone/{zoneid}/clear
Clear and stop effects on a specific zone.
Example:
curl localhost:8080/ledstrip/zone/0/clear
GET/ledstrip/button/{zoneid}?state={on/off}&r={red}&g={green}&b={blue}
Control button zone state and color.
Examples:
curl "localhost:8080/ledstrip/button/0?state=on&r=255&g=0&b=0"
curl "localhost:8080/ledstrip/button/0?state=off"
GET/ledstrip/zones/config?all={true/false}
Get zone configuration. Use all=true to include inactive zones.
Examples:
curl localhost:8080/ledstrip/zones/config
curl "localhost:8080/ledstrip/zones/config?all=true"
📝 Matrix Text & Score Display
GET/ledstrip/zone/{zoneid}/matrix/text?text={text}&r={red}&g={green}&b={blue}&speed={speed}&font={font}<r
Display scrolling text on a matrix zone (by ID or name).
Parameters:
text: Text to display (use %20 for space to clear)r,g,b: Text color (0-255)bgr,bgg,bgb: Background color (0-255)speed: Scroll speed (1-255, higher = faster)font: Font type (0=5x7_original, 1=3x5_compact, 2=4x6_balanced, 3=3x7_narrow)ltr: Left-to-right scrolling (add parameter for LTR)
Examples:
curl "localhost:8080/ledstrip/zone/0/matrix/text?text=PLAYER%201&r=255&g=255&b=255&speed=120"
curl "localhost:8080/ledstrip/zone/score_matrix/matrix/text?text=GAME%20OVER&font=2<r"
curl "localhost:8080/ledstrip/zone/0/matrix/text?text=%20"
GET/ledstrip/zone/{zoneid}/matrix/text/stop
Stop matrix text display on a specific zone.
Example:
curl localhost:8080/ledstrip/zone/0/matrix/text/stop
GET/ledstrip/zone/{zoneid}/matrix/score?text={score}&font={font}&r={red}&g={green}&b={blue}¢erx={true/false}¢ery={true/false}
Display static score/text on a matrix zone (by ID or name).
Parameters:
text: Score/text to display (use %20 for space to clear)font: Font type (0=5x7_original, 1=3x5_compact, 2=4x6_balanced, 3=3x7_narrow)r,g,b: Text color (0-255)bgr,bgg,bgb: Background color (0-255)centerx,centery: Center alignment (default: true)offsetx,offsety: Position offset (-127 to 127)
Examples:
curl "localhost:8080/ledstrip/zone/0/matrix/score?text=98765&font=3&r=0&g=255&b=0"
curl "localhost:8080/ledstrip/zone/score_zone/matrix/score?text=HIGH%20SCORE¢erx=true"
curl "localhost:8080/ledstrip/zone/0/matrix/score?text=%20"
GET/ledstrip/zone/{zoneid}/matrix/score/stop
Stop matrix score display on a specific zone.
Example:
curl localhost:8080/ledstrip/zone/0/matrix/score/stop
🤖 Auto-Detection Features
GET/ledstrip/score?s={score}&font={font}&r={red}&g={green}&b={blue}
Automatically finds best available display for score (dot matrix, 7-segment, or WS2812B matrix).
Examples:
curl "localhost:8080/ledstrip/score?s=98765&font=2&r=0&g=255&b=0"
curl "localhost:8080/ledstrip/score?s=%20"
GET/ledstrip/score/stop
Stop auto-detected score display.
Example:
curl localhost:8080/ledstrip/score/stop
GET/ledstrip/text?text={text}&r={red}&g={green}&b={blue}&speed={speed}&font={font}
Automatically finds best zone for text display.
Examples:
curl "localhost:8080/ledstrip/text?text=PLAYER%201&r=255&g=255&b=255&speed=120"
curl "localhost:8080/ledstrip/text?text=%20"
GET/ledstrip/text/stop
Stop auto-detected text display.
Example:
curl localhost:8080/ledstrip/text/stop
GET/ledstrip/manufacturer?rom={romname}&r={red}&g={green}&b={blue}&speed={speed}
Display manufacturer/publisher name for a MAME ROM using metadata lookup.
Parameters:
rom: MAME ROM name (e.g., "pacman", "galaga")r,g,b: Text color (default: 255,255,255)speed: Scroll speed (default: 90)
Examples:
curl "localhost:8080/ledstrip/manufacturer?rom=pacman"
curl "localhost:8080/ledstrip/manufacturer?rom=galaga&r=0&g=255&b=255&speed=100"
{
"rom": "pacman",
"publisher": "Namco",
"gameName": "Pac-Man",
"year": "1980",
"zone": 0,
"zoneName": "text_matrix",
"status": "success"
}
🔢 MAX7219 APIs
📊 7-Segment Display
GET/max7219/7seg/text?text={text}&brightness={brightness}
Display text on 7-segment display.
Example:
curl "localhost:8080/max7219/7seg/text?text=HELLO&brightness=8"
GET/max7219/7seg/number?s={number}&brightness={brightness}
Display number on 7-segment display. Use s=%20 (space) to clear.
Examples:
curl "localhost:8080/max7219/7seg/number?s=12345&brightness=10"
curl "localhost:8080/max7219/7seg/number?s=%20"
GET/max7219/7seg/brightness?brightness={brightness}
Set 7-segment brightness (0-15).
Example:
curl "localhost:8080/max7219/7seg/brightness?brightness=12"
GET/max7219/7seg/clear
Clear 7-segment display.
Example:
curl localhost:8080/max7219/7seg/clear
GET/max7219/7seg/config?modules={count}
Configure 7-segment module count (4 or 8).
Example:
curl "localhost:8080/max7219/7seg/config?modules=8"
GET/max7219/7segment/enabled?enabled={true/false}
Enable or disable 7-segment display.
Example:
curl "localhost:8080/max7219/7segment/enabled?enabled=true"
⬜ Dot Matrix Display
GET/max7219/matrix/text?text={text}&brightness={brightness}&font={font}&loops={loops}&speed={speed}
Display scrolling text on matrix display.
Parameters:
text: Text to displaybrightness: Brightness (0-15)font: Font type (0=8x8, 1=small)loops: Number of loops (1-65535)speed: Speed in milliseconds (20-2000)
Example:
curl "localhost:8080/max7219/matrix/text?text=HELLO&brightness=10&font=0&loops=3&speed=200"
GET/max7219/matrix/score?s={score}&brightness={brightness}&font={font}&loops={loops}&speed={speed}
Display score on matrix display.
Parameters:
s: Score/text to displaybrightness: Brightness (0-15)font: Font type (0=8x8, 1=small)loops: Number of loops (1-65535)speed: Speed in milliseconds (20-2000)
Example:
curl "localhost:8080/max7219/matrix/score?s=98765&brightness=10&font=0&loops=1&speed=160"
GET/max7219/matrix/pixel?x={x}&y={y}&state={on/off}
Set individual pixel on matrix display.
Example:
curl "localhost:8080/max7219/matrix/pixel?x=4&y=3&state=on"
GET/max7219/matrix/brightness?brightness={brightness}
Set matrix brightness (0-15).
Example:
curl "localhost:8080/max7219/matrix/brightness?brightness=12"
GET/max7219/matrix/clear
Clear matrix display.
Example:
curl localhost:8080/max7219/matrix/clear
GET/max7219/matrix/config?modules={count}
Configure matrix module count (4 or 8).
Example:
curl "localhost:8080/max7219/matrix/config?modules=8"
GET/max7219/matrix/enabled?enabled={true/false}
Enable or disable dot matrix display.
Example:
curl "localhost:8080/max7219/matrix/enabled?enabled=true"
GET/max7219/matrix/modules?modules={count}
Set dot matrix module count (4 or 8).
Example:
curl "localhost:8080/max7219/matrix/modules?modules=8"
🎬 Local Playback API
GET/localplayback
Trigger local playback functionality.
Example:
curl localhost:8080/localplayback
💻 Mini LCD (1602/2004) APIs
📝 Basic Display Functions
GET/POST/minilcd/print?text={text}
Print text at current cursor position.
Example:
curl "localhost:8080/minilcd/print?text=Hello%20World"
GET/POST/minilcd/printat?text={text}&col={col}&row={row}
Print text at specific position.
Example:
curl "localhost:8080/minilcd/printat?text=Score&col=0&row=1"
GET/POST/minilcd/clear
Clear entire LCD display.
Example:
curl localhost:8080/minilcd/clear
GET/POST/minilcd/setcursor?col={col}&row={row}
Set cursor position for next print operation.
Example:
curl "localhost:8080/minilcd/setcursor?col=5&row=1"
🔧 Advanced Functions
GET/POST/minilcd/centertext?text={text}&row={row}
Center text on specified row.
Example:
curl "localhost:8080/minilcd/centertext?text=GAME%20OVER&row=1"
GET/POST/minilcd/clearrow?row={row}
Clear a specific row.
Example:
curl "localhost:8080/minilcd/clearrow?row=2"
GET/POST/minilcd/backlight?state={on/off}
Control LCD backlight.
Examples:
curl "localhost:8080/minilcd/backlight?state=on"
curl "localhost:8080/minilcd/backlight?state=off"
GET/POST/minilcd/gameinfo?console={console}&rom={rom}
Display game information from metadata.
Example:
curl "localhost:8080/minilcd/gameinfo?console=mame&rom=pacman"
{
"status": "success",
"console": "mame",
"rom": "pacman",
"platform": "MAME",
"game": {
"id": "pacman",
"name": "Pac-Man",
"year": "1980",
"publisher": "Namco",
"genre": "Maze"
},
"message": "Game info displayed on Mini LCD"
}
GET/POST/minilcd/ministats?label={label}&value={value}&livesLabel={label}&livesValue={value}&shots={shots}&hits={hits}&ratio={ratio}
Display game statistics (level, lives, shots, hits, accuracy ratio).
Parameters:
label,value: Level/stage infolivesLabel,livesValue: Lives infoshots,hits,ratio: Shooting stats
Examples:
curl "localhost:8080/minilcd/ministats?label=Level&value=5&livesLabel=Lives&livesValue=3"
curl "localhost:8080/ministats?label=Stage&value=12&shots=150&hits=98&ratio=65"
⚙️ Configuration
GET/minilcd/config
Get current mini LCD configuration.
Example:
curl localhost:8080/minilcd/config
{
"status": "enabled",
"type": "I2C LCD",
"resolution": "20x4",
"address": "0x27",
"backlight": "on"
}
GET/POST/minilcd/setenabled?enabled={true/false}
Enable or disable the mini LCD display.
Example:
curl "localhost:8080/minilcd/setenabled?enabled=true"
GET/POST/minilcd/settype?type={type}
Set LCD type configuration.
LCD Types:
0: 16x21: 20x22: 16x43: 20x44: 8x2
Example:
curl "localhost:8080/minilcd/settype?type=3"
{
"status": "success",
"type": 3,
"typeName": "20x4",
"message": "Mini LCD type set to 20x4 successfully"
}
⚠️ Important Notes
- All APIs require Pixelcade V2 hardware (purple board) with firmware 23 or higher
- Color values are 0-255 for RGB parameters
- Zone IDs can be numeric (0-35) or zone names if configured
- Text parameters should be URL-encoded (spaces as %20)
- Boolean parameters accept: true/false, 1/0, on/off, yes/no
- Most APIs return JSON responses with status information
- Use the
/infoendpoint to check device capabilities and current configuration - Maximum 36 zones (0-35) supported for WS2812B LED strips
- Matrix zones require proper resolution configuration for text/score display
- Some effects work better with specific zone types (strip vs matrix)
- Use
text=%20(URL-encoded space) to clear text/score displays - Auto-detection APIs automatically choose the best available display type
- Zone names can be used instead of IDs for most zone-specific endpoints
- Strip zones support an optional
reverseparameter during setup - Font types: 0=5x7_original, 1=3x5_compact, 2=4x6_balanced, 3=3x7_narrow
- 7-segment and dot matrix displays require 8+ modules for score display capability
- Mini LCD supports multiple display types (16x2, 20x2, 16x4, 20x4, 8x2)
- Game info and manufacturer APIs require corresponding metadata JSON files