0.4.0, open source · for the ZECTRIX NOTE4C Devkit

A calm poster of your day.

A ZECTRIX NOTE4C on a fridge door running emini Home 0.4.0. The Weather screen in the Print composition shows 15° in Czaplinek, 14–17 °C over 24 hours, cloud cover, and rain from 21:00 to 23:00.
Photo of a NOTE4C running 0.4.0Weather · Print

emini Home puts the forecast, one headline and a few words of your own on a small four-colour e-paper display. You set it up from your phone. After that the device fetches, draws and schedules everything on its own, without an account or an emini server in between.

The display

One forecast, three compositions.

In the panel, pick a composition for each screen, or choose In turn and let all three take turns.

Rhythm composition: the temperature for the next hours drawn as a curve with a dithered yellow-to-red fill.
Renderer 0.4.0 · Weather · Rhythm · sample data
Atlas composition: a large sun and cloud fill the left half, the numbers sit on the right.
Renderer 0.4.0 · Weather · Atlas · sample data
Print composition: large temperature on the left, sun and cloud illustration on the right.
Renderer 0.4.0 · Weather · Print · sample data
  • Rhythm Draws the coming hours as a curve, so you can see when it warms up and when rain arrives.
  • Atlas Gives the sky half the page and leaves the numbers the other half.
  • Print Reads like the corner of a newspaper: the big number first, the sky beside it.

Under the temperature, each composition shows the range for the next 24 hours, then one short line about rain, such as “Dry until 21:00” or “Rain from 18:00”.

With In turn, a screen shows Print, then Rhythm, then Atlas, moving on each time it comes back to the display. A screen that stays on the display moves on after the minutes you set in Change composition every … minutes, 30 unless you change it, but not during quiet hours.

The same NOTE4C in the Rhythm composition: 15° and cloud cover at the top, the next hours as a dithered band in yellow and red, and the line Rain 21:00–23:00 · Wind 2.9 m/s.
Photo of a NOTE4C running 0.4.0Weather · Rhythm
A news screen with one headline in large type: Seed library opens at the community garden this weekend.
Renderer 0.4.0 · News · sample data

One headline. From BBC World, or from a public RSS or Atom feed of your choice, as long as it is served over HTTPS. A link to the full story waits in the panel.

A note screen reading: Water the basil, then take the long way home.
Renderer 0.4.0 · Your note · sample data

Your note. A reminder, a line from a friend, anything worth keeping in view.

There is no grey on this display.

Every pixel is black, white, red or yellow. To draw warmth, light and cloud, the renderer mixes the four pigments in ordered patterns, the way a printer builds a shade out of dots. Red and yellow patterns are never finer than 2 pixels, while black and paper can still use single pixels. The picture stays on the display even without power.

A close-up of the Atlas weather screen: the red and yellow dither of the sun, a yellow ray and the dotted cloud, with every pixel visible.
Renderer 0.4.0 · Atlas · a 100 × 75 pixel detail, marked on the full screen and enlarged

Pick the grain and the colour

In Settings → Appearance you set how coarse the pattern is and how much colour it uses, for every screen at once. Because colour never goes below 2 pixels, Fine and Medium differ only in their black patterns. Here is the same sky with each choice.

Pixel texture

  • Fine texture: black patterns in single pixels, colour in 2-pixel dots.Fine 1 px, colour 2 px · default
  • Medium texture: the same sky in 2-pixel dots.Medium 2 px
  • Large texture: the same sky in 4-pixel dots.Large 4 px

Colour use

  • Black and white: the sun and cloud in black dots only.Black & white no colour
  • Balanced: the same sun with less red, so more of its yellow shows.Balanced less colour
  • Expressive: a red and yellow sun.Expressive full colour · default
The Appearance settings in the phone panel: pixel texture Fine (1 px, colour 2 px), Medium or Large, a note that colour never goes below 2 px, and colour use Black and white, Balanced or Expressive.
Panel 0.4.0 · Appearance

The phone panel

Your phone is the remote.

The NOTE4C serves its own settings page over Wi-Fi. There is nothing to install on the phone, and your settings stay on the device.

  1. Join the device's Wi-Fi

    On first start, or after you hold OK / BOOT for 2 seconds, the display shows a network called emini.ink, its password and two QR codes. The setup window stays open for 5 minutes.

    The setup screen with a QR code for the Wi-Fi, a QR code for the panel address and a six-digit pairing code.
    Renderer 0.4.0 · Setup screensample data
  2. Open the panel and pair

    Go to http://192.168.4.1 and type the six-digit code from the display. The browser remembers the connection. The device keeps up to four browser connections, and pairing again on your home Wi-Fi uses a second one.

    The pairing field, labelled Code on your Home, with 123456 typed in, and a Connect this phone button.
    Panel 0.4.0 · Pairing
  3. Bring the device onto your Wi-Fi

    Pick your network and enter its password; the device joins 2.4 GHz networks with WPA2 or WPA3 Personal. Then move your phone to the same Wi-Fi, open the address the panel shows and pair once more.

    Nearby networks with signal strength and locks. The open Guest network is marked: Open networks are not supported.
    Panel 0.4.0 · Your home Wi-Fi
  4. See what is on the display

    The Home tab shows the last picture the display confirmed, pixel for pixel, with its status and battery level.

    On your Home: the weather picture for Warsaw from the display, a Ready status, and the battery at about 73 percent.
    Panel 0.4.0 · Home tab
  5. Adjust each screen

    Every screen has its own page with a preview and a choice of composition, including In turn. On the Weather page, Search for your town and pick it from the list. The search goes from your phone to Open-Meteo, so the phone needs internet access, for example on your home Wi-Fi. Use my location lets the device estimate its area from its own internet address instead. Tap Save settings, then Show now to put the saved picture on the display.

    What it says on the Weather page: the location saved on Home is Warsaw, Europe/Warsaw. Search for your town has Warsaw typed in, and the list shows matching places with region and country, Warsaw, Mazovia, Poland first, then towns of the same name in the United States. Below: Search: Open-Meteo · GeoNames · CC BY 4.0.
    Panel 0.4.0 · Weather page
  6. Give it a rhythm

    Keep one screen, switch screens at three times of day you choose, or rotate anywhere from every few minutes to once a day. Quiet hours hold the picture still overnight.

    How screens change: One screen, Day rhythm or Rotation, with Weather at 07:00, Your note at 13:00 and News at 18:00.
    Panel 0.4.0 · Rhythm tab

Your data

Who sees what.

No emini server sits between your phone, the device and the internet. The NOTE4C asks a few public services for what it shows, much like a browser would. Your phone talks to Open-Meteo only while you search for a town.

MET Norway
The forecast location, cut to 4 decimal places, and your internet address.
Open-Meteo
What you type into the town search, sent from your phone with the phone's internet address. The device saves only the place you pick.
Your news feed
A request for that feed and your internet address. BBC World unless you change it.
FreeIPAPI
Your internet address, when the panel asks the device to estimate its location.
Time servers
Ordinary time requests from your internet address, so the schedule and the date are right.
Your network
Your router and DNS server see the names the device looks up. Other devices on your Wi-Fi can see its name, address, firmware version and current screen without pairing.
This website
The device never contacts it. The site counts visits and link clicks with self-hosted Plausible, without cookies. Like any web server, its host and the analytics server see your IP address.

The panel runs over plain HTTP on your own network, and the device stores its settings, including your Wi-Fi password, without encryption. Keep it on a network you trust. Before you give it away, erase its settings over USB as the installation guide describes. That leaves the factory firmware's own settings area as it is, so a Wi-Fi password the factory firmware saved there stays in flash. Read the privacy notes.

Before you install

Tested on one NOTE4C.

Read these before you back up the flash.

Device

Only the NOTE4C Devkit with the four-colour display. The preflight check cannot tell a NOTE4 from a NOTE4C, so check which one you have before you start.

Tested

Installed from scratch, verified and started on one NOTE4C Devkit with the factory partition layout.

Phone setup

Done end to end from an iPhone on that unit, from the setup Wi-Fi to the panel on your home network. Android phones have not been tried yet.

Refresh

A full picture change takes about 25 seconds.

Location

A town you search for, or an estimate from your internet address. The estimate can land on your provider's city, and it never replaces a town you picked.

Settings

Starting over, which erases only Home's settings over USB, has been done on that unit. If Home finds saved settings it cannot use, it starts with default settings or the setup screen instead of stopping.

Battery

Battery life has not been measured. Wi-Fi stays on and there is no deep sleep yet.

Going back

Restoring your factory backup uses the standard esptool procedure. It has not yet been tried on a real unit.

Updates

Over USB, following the installation guide again in a new, empty folder, so your first backup is never overwritten. The firmware does not check for new versions, so watch the releases on GitHub.

Install from your computer

You need a NOTE4C Devkit, a USB-C data cable, Python 3.10 or newer and esptool 5.4.0. Most of the time goes into backing up the flash. Start every install and update in a new, empty folder: esptool replaces a file with the same name without asking. Keep your first backup for as long as you own the device, and keep it private, since it can hold Wi-Fi passwords.

  1. Back up the whole flash, twice
    esptool --chip esp32s3 -p PORT -b 460800 \
      --after no-reset read-flash 0 ALL note4c-backup-a.bin
    esptool … read-flash 0 ALL note4c-backup-b.bin
  2. Run the preflight check on both backups
    python3 …/tools/preflight.py note4c-backup-a.bin \
      note4c-backup-b.bin …
  3. Write two files, then verify
    esptool … write-flash … \
      0x8000 emini-home-0.4.0-partition-table.bin \
      0x20000 emini-home-0.4.0-note4c.bin
  4. Start it and pick up your phone
    esptool --chip esp32s3 -p PORT run

These commands are shortened. Copy the full ones from the installation guide.