🎮 Pixelcade API Documentation

🎮 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]

📱 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 seconds
  • split: Use split mode (add &split parameter)
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 range
  • name: Zone name
  • type: 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 display
  • brightness: 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 display
  • brightness: 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 info
  • livesLabel, livesValue: Lives info
  • shots, 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: 16x2
  • 1: 20x2
  • 2: 16x4
  • 3: 20x4
  • 4: 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 /info endpoint 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 reverse parameter 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
Proudly powered by Wpopal.com
Add to cart