02 — Compute Platform
1. Prototype board: ASRock N100DC-ITX
Section titled “1. Prototype board: ASRock N100DC-ITX”The prototype sound engine is the ASRock N100DC-ITX, a fanless Mini-ITX board built around the Intel N100 (Alder Lake-N).1
| Spec | Value | Relevance to Auvra |
|---|---|---|
| CPU | Intel N100, 4 Gracemont E-cores, no SMT, up to 3.4 GHz | 4 cores caps how many we can isolate for RT (see 03). |
| Cooling | Fanless heatsink | Silent — essential for an instrument. |
| Power | 19 V DC-in barrel jack (5.5×2.5 mm) | Single-supply integration; no ATX PSU. |
| RAM | 1× DDR4 SO-DIMM, up to 32 GB (3200) | One stick; plenty for a synth. |
| Expansion | 1× PCIe 3.0 x4 (x2 electrical) | Bench: free; integrated target: Tang FPGA PCIe card, link to be measured. |
| Storage | 1× M.2 M-key (PCIe Gen3 x2) + 2× SATA3 | NVMe boot SSD via M.2. |
| Video | HDMI 2.1 (4K60) + D-Sub | HDMI drives the bench touch panel; integrated target uses FPGA scanout. |
| USB | 4× USB 3.2 Gen1 + 8× USB 2.0 | Ample for MIDI, I²C bridge, audio, touch. |
| Onboard audio | Realtek ALC897 (unbalanced) | Not used — we need balanced/low-latency; see 04. |
| Other headers | COM1 serial, LPT print-port, SPI-TPM, front-panel audio | Serial header is handy for the silent-boot console redirect. |
| Form factor | Mini-ITX 170×170 mm | Fits in the S90 chassis with room to spare. |
Key constraints this board imposes
Section titled “Key constraints this board imposes”- No I²C/SMBus header. The only buses brought out are PS/2, COM1 serial and an LPT print-port header — no user I²C. On-die SMBus (
i2c-i801) is reserved for DIMM SPD and onboard sensors and is not safe to share.2 The bench surface uses a USB→I²C bridge; the integrated card carries physical I/O over PCIe (06). - Only 4 cores. Real-time CPU isolation must leave core 0 for the system; we can isolate at most 2–3 cores (
03). - One PCIe slot, x2 electrically. It is allocated to the Tang FPGA card in the integrated target. Do not infer an x4 link from the card’s x4 connector; measure negotiation and throughput on this host.1
- Onboard audio is consumer-grade and unbalanced — bypassed entirely.
Why this board
Section titled “Why this board”It is cheap, silent, single-supply (19 V), has modern HDMI and abundant USB, and Intel N100 has excellent mainline Linux support including PREEMPT_RT. Field reports put a tuned N100 at < 20 µs max scheduling jitter — comfortably good enough for stable low-buffer audio.3
2. Power & thermals
Section titled “2. Power & thermals”- Bench supply: 19 V / ≥ 65 W for the N100 and derived MCU/panel rails.
The integrated card also needs a protected 12 V rail and a newly measured
system power budget (
08). - Thermals: fanless, but the heatsink needs airflow. Inside the sealed S90 chassis, plan passive venting or a single quiet, RT-friendly fan on a thermostatic controller well away from the audio path.
3. Software portability (keep the ARM door open)
Section titled “3. Software portability (keep the ARM door open)”The N100 is x86, but the project targets ARM later. To make that migration cheap:
- Keep the synth engine in portable C/C++ (or Rust) with no x86-specific intrinsics in the hot path, or behind feature flags.
- Use ALSA/JACK abstractions, not vendor SDKs.
- Build the OS image with a system (Yocto) that already supports ARM BSPs, so the same recipes retarget.
4. ARM successor candidates (later phase)
Section titled “4. ARM successor candidates (later phase)”Indicative, to be re-evaluated when the time comes:
| Candidate | Notes |
|---|---|
| Raspberry Pi 5 (or CM5 on a carrier) | Strong Linux + community, USB audio, PCIe via CM5 carrier; modest CPU vs N100. |
| Radxa ROCK 5 / RK3588 ITX boards | 8-core ARM, much more DSP headroom, PCIe, but more Linux integration work. |
| NXP i.MX 8/9 SoM | Industrial, long-term-supply, mainline + RT focus; best if productising. |
Decision criteria: sustained DSP throughput at the target voice count, mainline PREEMPT_RT support, class-compliant USB audio behaviour, and long-term board availability. Tracked in 10-roadmap-and-risks.md.
Footnotes
Section titled “Footnotes”-
ASRock, “N100DC-ITX” specification. https://www.asrock.com/mb/Intel/N100DC-ITX/index.asp ↩ ↩2
-
Linux kernel, “i2c-i801” driver docs. https://docs.kernel.org/i2c/busses/i2c-i801.html ↩
-
LinuxCNC forum, “Intel N100” latency results (
isolcpus=1,2,3, max jitter < 20 µs under load). https://forum.linuxcnc.org/18-computer/50817-intel-n100 ↩