Skip to content

Design a printable case for the Freenove FNK0104B #79

Description

@iamankushpandit

cases/ holds a printable enclosure per BOARD_NAME, and there is nothing for the Freenove FNK0104B. A case is optional — a board is supported without one — but this board is now on the web installer, so anyone who flashes it has a bare PCB and a loose battery.

What makes this board different from the existing case

Do not adapt the E32R28T-1 shell. Almost every constraint differs:

  • The USB-C is on a SHORT edge. On the E32R28T-1 the socket is on a long edge and sits at the bottom in landscape. Here it does not: rotation 0 (portrait) puts it at the bottom, and Braino runs in landscape rotation 3, which puts the cable on the left. A shell that assumes a bottom-exit cable will be wrong by 90°.
  • Different board outline and mounting holes. The FNK0104B has its own footprint; measure the real PCB rather than scaling the existing model.
  • Speaker. There is a PH1.25 speaker connector and audio now works (FNK0104B: no sound in the app, though the ES8311 codec works #71), so the shell needs a grille or a vent, and somewhere for a small driver to sit without buzzing against a wall.
  • Battery. MX1.25 connector. The pack this was developed against is 3000 mAh / 11.1 Wh — physically larger than a small pouch cell, so the compartment needs measuring, not guessing. Strain relief on the MX1.25 lead matters; it is a fragile connector.
  • BOOT button. Used by env:s3diag to cycle rotations during bring-up. Worth leaving reachable, even if the shipping firmware does not use it.
  • WS2812 LED on GPIO42. Not currently driven by the firmware (FNK0104B: WS2812 status LED unsupported, so there is no feedback channel #72), but a light pipe or a thin window now costs nothing and avoids a second revision later.
  • ESP32-S3 with Wi-Fi and BLE. Keep the antenna end of the module clear of any metal, screws or dense infill.

What good looks like

  • Prints without supports on a normal FDM printer, like the existing case
  • Screen bezel does not intrude on the 240x320 active area
  • Capacitive touch works through the bezel edge — note this panel is capacitive, not resistive, so a shell that presses on the glass edge can affect it in ways the resistive board never showed
  • Access to USB-C for charging and flashing without disassembly
  • The board can be removed without breaking anything

Deliverables

A folder cases/Freenove-FNK0104B/ matching the convention of the existing one — source model plus exported STL, and a short README covering print settings, orientation, and any hardware (screws, inserts) needed.

BOARD_NAME for this board is exactly Freenove-FNK0104B; use that as the folder name so it lines up with the profile.

Notes for anyone picking this up

The board is fully characterised: include/boards/fnk0104b.h has every pin and every measurement, and README.md has a section on it. pio run -e s3diag is a bring-up probe that exercises the display, touch, battery and audio if you need to confirm anything about a physical unit while fitting a shell.

Photographs, measurements, or a first draft are all useful — this does not need to arrive finished.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is neededpriority: P4Backlog - portability epic and the rename; sequence, do not parallelise

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions