buildwithnoknok

noknok Display Planner

Design what your noknok Display shows — right in your browser. Lay the screen out as named boxes, drop in text, icons or a picture, see exactly what the panel will draw, and copy the Python code into your product. It also turns any image into a crisp 1-bit icon.

No account, no software to install, and nothing is uploaded — the whole tool runs on your computer, offline once loaded.

▶ Launch the Display Planner

You’ll need: a desktop browser (Chrome, Edge, Firefox, or Safari), a noknok Display on a Pico running noknok.py 1.9 or newer, and a mouse or trackpad.


The idea in one minute

The noknok Display has no frame buffer, so redrawing the whole screen for every little change is slow and flickery. noknok.py solves that with named regions: you define a box once —

d.region("temp", 0, 40, 80, 32, size=32, color=YELLOW, align="center")

— and from then on you update it by name, and only that box is redrawn (about 15 ms):

d.set("temp", text="22.5")
d.set("temp", icon="warning")

The planner is the visual front-end for that: you draw the boxes, it writes the d.region() and d.set() lines, and the preview shows what the panel really renders — same fonts, same wrapping, same clipping as the Pico and the module use.


Layout tab

1. Pick your display

Top-left: choose noknok Display 1.42″ (80 × 160) and the orientation. Landscape turns it into 160 × 80 and adds a d.rotation(1) line to the code. (Custom sizes are there for displays that don’t exist yet — up to 255 × 255.)

Background is the colour the screen is cleared to; every region wipes to it (or to its own box background) before drawing.

2. Draw regions

Drag a rectangle on the enlarged display. That’s a region. Give it a name in the panel on the right — that’s the name you’ll use in d.set("name", ...).

3. Give each region content

Under Content, pick one:

4. Read the checks

The Checks box flags the things that bite on a tiny screen: text that needs more lines than the box has, a line wider than the box, overlapping regions (each d.set() wipes its whole box, so overlapping boxes erase each other), regions that stick out of the panel, and — if you tick I also use d.print() — regions inside the band print() repaints.

5. Copy the code

The Python code box is always up to date. Click copy code and paste it into your product.py right after you fetch the display:

d = c.display[0]
# … paste here …

It contains the definitions of any icons you drew, d.clear(...), one d.region(...) per box, and a starter d.set(...) for each. From then on, call d.set(name, text=...) whenever a value changes.

Save .json keeps the layout (with your icons) so you can reload or share it. The planner also remembers your last layout in the browser.


Icons tab

Two ways to make an icon:

The three previews show the icon at 1:1 — on a normal monitor that is about the real size on the panel — 2:1 and 4:1, tinted in any noknok colour.

Export:


Good to know

Built something great, or hit a snag? Tell the noknok team — we want to see it.


📄 License, Safety & Liability · Made with ❤️ in Switzerland.