soldr.ai

Draw an animation. Get the exact code for your screen.

Pixel Studio is a free animation maker for the displays makers actually use: OLED, LCD, TFT, e-ink and LED. Start from a ready-made animation or draw your own, then download a header file that runs on Arduino and ESP32.

Open Pixel Studio, free →

Runs in your browser · nothing you draw leaves it · zero credits

0.96″ OLED
OLED 0.96″ · bouncing ball
1.8″ TFT
TFT 1.8″ ST7735 · diya
16×2 LCD
LCD 16×2 · 8 custom characters
round TFT
Round TFT 1.28″ · spinner
2.9″ e-ink
E-ink 2.9″ · heart
Nokia 5110
Nokia 5110 LCD · equalizer
MAX7219
MAX7219 8×8 · heart
2.8″ TFT
TFT 2.8″ ILI9341 · wave

Every screen above is running the same preset code Pixel Studio exports.

How it works

  1. Pick your screenThe canvas becomes that exact display: its resolution, its colours, the way its pixels light.
  2. Start from a preset, or drawLoad one of 16 ready-made animations, or draw frames yourself with text, icons, QR codes and images. Play it back before you export.
  3. Download the headerOne .h file: the frames, their timings, and a small player for your screen's library. Include it in your sketch, switch on the player at the bottom, and flash.

Every kind of screen

Pick the display you have. The export targets the library that screen is normally used with.

KindDisplaysLibrary in the export
OLED0.96″ 128×64 and 0.91″ 128×32 (SSD1306) · 1.3″ 128×64 (SH1106) · 0.66″ 64×48Adafruit_SSD1306, Adafruit_SH110X, U8g2
Character LCD16×2 and 20×4 with an I2C backpack: the animation plays in a block of the LCD's 8 custom charactersLiquidCrystal_I2C
Graphic LCDNokia 5110 84×48 · 12864 128×64 (ST7920)Adafruit_PCD8544, U8g2
Colour TFT1.8″ 128×160 (ST7735) · 2.4″/2.8″ 240×320 (ILI9341) · 1.14″ 135×240 T-Display (ST7789) · 1.28″ round 240×240 (GC9A01) · 3.5″ 480×320 shield (ILI9486)Adafruit_ST7735, Adafruit_ILI9341, TFT_eSPI, Adafruit_GC9A01A, MCUFRIEND_kbv
E-ink1.54″ 200×200 · 2.9″ 296×128 · 2.13″ 212×104GxEPD2
LEDMAX7219 8×8 and 32×8 · WS2812 8×8 matrix, 16-LED ring, 8-LED stripLedControl, Adafruit_NeoPixel

16 ready-made animations

Each preset draws itself at your screen's size, so the same animation fits an 8×8 matrix or a 2.8″ TFT. The ones that can't be read at a size are hidden for that screen.

Why the bytes are right

There is no AI in this path. What you draw is packed into bytes by the same code every time, pixel for pixel, and the preview is drawn from those same pixels. Each display family wants its data a different way: a horizontal bitmap for OLED and graphic LCDs, 5×8 custom characters for a character LCD, RGB565 for a colour TFT, wire-order colours for a WS2812 ring. Pixel Studio writes whichever one your screen needs, and the player uses millis(), not delay(), so it won't stall the rest of your sketch.

Questions

Will it fit on an Arduino Uno?
Small screens, yes. The export panel shows the byte count as you go and warns when a design is too big for an Uno or Nano's 32 KB of flash. Colour TFT animations usually want an ESP32, Mega or RP2040.
Why are e-ink animations slow?
An e-ink panel redraws the whole screen for every change, which takes around two seconds. Pixel Studio keeps e-ink animations to a few frames and holds each one for at least three seconds, which suits badges, signs and dashboards.
How does a 16×2 character LCD show an animation?
A character LCD can hold 8 custom characters of 5×8 dots. Pixel Studio treats them as one 4×2 block and redraws those 8 characters every frame, so the animation plays in the middle of your screen.
Does it work on my phone?
Yes. Design and export work on a phone. Flashing a board needs a computer, and Pixel Studio gives you a QR code to carry your design across.
Which pins do I use?
The player at the bottom of the header lists the usual wiring for that screen, with a note on each line to change. Want the wiring and the whole sketch done for you? Describe your build in Soldr.

More detail: the Pixel Studio guide.

Your screen is waiting for something better than Hello World.

Open Pixel Studio, free →