Skip to content

fossasia/badgemagic-art

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

BadgeMagic Art

A collection of pixel art designs for LED name badges (11x44 pixel displays).

Hardware Compatibility

This repository contains designs for LED badges with:

  • 11x44 pixels (most common)
  • 12x48 pixels

These badges typically identify as:

idVendor=0416, idProduct=5020
LSicroelectronics LS32 Custm HID

Quick Start

Prerequisites

Install the LED badge python tool from led-badge-ls32:

# Install dependencies (Debian/Ubuntu)
sudo apt install python3-usb python3-pil

# Install udev rules for non-root access
sudo cp 99-led-badge-44x11.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

Upload Designs

# Upload an animation (mode 4 = still-centered, speed 8 = fastest)
./led-badge-11x44.py -m 4 -s 8 :path/to/design.png:

# Upload text
./led-badge-11x44.py "Hello World!"

# Multiple messages
./led-badge-11x44.py -m 0,4 -s 6,8 "Scrolling text" :animation.png:

Creating Animations

Some suggestions so you can create your own animations:

Step 1: Create or Source Your GIF

Start with a GIF animation at any size. You can:

  • Create pixel art in Piskel
  • Download existing GIFs
  • Convert videos to GIF

Step 2: Prepare in Piskel (Optional)

  1. Open Piskel
  2. Import your GIF: ImportBrowse images
  3. Edit your animation:
    • Resize to roughly match 44x11 aspect ratio
    • Adjust frame count (fewer frames = faster animation)
    • Crop unnecessary areas
    • Add/remove frames
  4. Export as GIF: ExportGIF

Step 3: Convert to Badge Format

The badge requires PNGs with specific dimensions:

For 11x44 badges:

  • Height: 11 pixels (fixed)
  • Width: 44 pixels × number of frames
  • Maximum: 123 frames (5,412 pixels wide)
  • Format: Tiled frames horizontally

Conversion Command

# Basic conversion (13 frames)
ffmpeg -i your_animation.gif -filter:v "negate,tile=13x1" -frames:v 1 -y output.png

# With 123 frames (looped for smooth playback)
ffmpeg -i your_animation.gif -filter_complex "negate,loop=8:1:0,trim=end_frame=123,tile=123x1" -frames:v 1 -y output.png

Filter breakdown:

  • negate - Inverts colors (bright animation on dark background)
  • loop=8:1:0 - Loops the animation 8 more times
  • trim=end_frame=123 - Limits to 123 frames (badge maximum)
  • tile=123x1 - Arranges frames horizontally

Advanced: Scaling GIFs

If your GIF isn't already 44x11:

# Scale to 44x11, then tile
ffmpeg -i your_animation.gif -filter:v "\
format=gray,\
eq=contrast=3.5:brightness=0.22,\
unsharp=9:9:3,\
scale=44:11:flags=lanczos,\
negate,\
tile=13x1" -frames:v 1 -y output.png

PNG Requirements

Critical Specifications

  • Height: Exactly 11 pixels (or 12 for 12x48 badges)
  • Width: 44 × N frames (where N ≤ 123)
  • Maximum frames: 123 frames = 5,412 pixels wide
  • Format: All frames tiled horizontally in a single row
  • Color: Black and white would probably give you the best result.

Example Dimensions

  • 13 frames: 572 × 11 pixels
  • 24 frames: 1,056 × 11 pixels
  • 123 frames: 5,412 × 11 pixels (maximum)

Display Modes

  • Mode 0: Scroll left (default)
  • Mode 1: Scroll right
  • Mode 2: Scroll up
  • Mode 3: Scroll down
  • Mode 4: Still-centered (best for in-place animations)
  • Mode 5: Animation mode
  • Mode 6: Drop-down effect
  • Mode 7: Curtain effect
  • Mode 8: Laser effect

For tiled frame animations, use Mode 4.

Examples

Nyan Cat

Located in designs/nyan-cat/:

  • nyan-cat.gif - Source GIF (44×11, 13 frames)
  • nyan-cat.png - Converted for badge (572×11)

Upload command:

./led-badge-11x44.py -m 4 -s 8 :designs/nyan-cat/nyan-cat.png:

Contributing

We welcome your pixel art designs!

Submission Guidelines

  1. Fork this repository
  2. Create your design following the PNG requirements above
  3. Add to designs/ directory:
    designs/your-name/
    ├── your-design.gif (optional, source file)
    ├── your-design.png (required, badge-ready)
    └── README.md (description, upload command, author section - optional)
    
  4. Add author credit (optional): Include an Author section in your design's README with your GitHub/social links to get credit for your work
  5. Test on your badge before submitting
  6. Open a Pull Request with:
    • Clear title (e.g., "Add dancing robot animation")
    • Description of your design
    • Screenshot or GIF preview
    • Upload command

Design Tips

  • High contrast works best on LED displays
  • Bold lines are more visible than fine details
  • 12-24 frames is a good range for smooth animations
  • Test on the actual badge - it looks different than on screen!
  • Invert colors if needed (negate filter)

What We're Looking For

  • Pixel art animations
  • Holiday/seasonal designs
  • Gaming references
  • Memes and internet culture
  • Abstract patterns
  • Custom logos
  • Text effects

Tools & Resources

  • Piskel - Free online pixel art editor
  • Aseprite - Professional pixel art tool
  • GIMP - Free image editor with animation support
  • FFmpeg - Command-line video/image converter

License

See LICENSE file for details.

Credits

Built for badge magic and other supported badges.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published