About

Where it started.

It was 2020. COVID had put the world on pause, and two engineers found themselves with something rare: uninterrupted time to actually build. Working on a project called DENU, in the same house for weeks, the kind of focused collaboration that normally takes months was happening in days. And both of them kept hitting the same wall.

Both had backgrounds in electronics, robotics, and AI. Both had spent years building systems that had to perform under real hardware constraints. And the ecosystem kept giving the same answer whenever the work touched serious numerical computation: offload it, get a bigger machine, do not try this on a microcontroller.

That answer stopped being acceptable. The repo was created, the first functions were written, and numx began as something honest: a tool built to solve a problem that everyone else had decided was not worth solving.

What it became.

What started as a handful of utility functions grew steadily, driven by use cases rather than ambition. Every new engineering challenge revealed another gap. Every gap became a module. By the time numx had its first complete shape, it covered a scope that had never existed before in a single dependency-free C99 library: linear algebra, statistics, numerical integration and differentiation, interpolation, polynomial arithmetic, ODE solvers, signal processing, FFT, automatic differentiation, compressed sensing, randomized matrix algorithms, and post-quantum polynomial arithmetic via the Number Theoretic Transform.

Fourteen modules. All allocation-free. All reentrant. All designed to compile without modification on every major embedded toolchain.

Four constraints shaped every design decision: no dynamic allocation, full reentrancy, typed status codes on every function, and a single compile-time flag to switch between float32 and float64. None of these were aesthetic choices. Each one came from a specific failure mode that the conventional approach would produce on real hardware.

Proven in production.

When NIKX Technologies was founded in June 2024, numx was not a prototype. Through 2024 and 2025, NIKX developed the TERRA platform, a production IoT system on ESP32 microcontrollers. TERRA did not create numx. But it put numx through exactly the kind of sustained, real-world use that separates libraries that look good on paper from libraries that hold up under load.

Signal processing pipelines. Numerical solvers. On-device mathematical operations that had no business running on a microcontroller according to the conventional wisdom of the embedded world.

They ran.

Reliably, at speed, within the memory constraints of the hardware, without sending a single computation to the cloud. TERRA validated that zero dynamic allocation was not just a design preference. It was the difference between a library that works in production and one that fails unpredictably.

terra-validation-summary.txt
x86-64300 / 300 passed
ESP32-S3243 / 243 passed
Modules platform-validated8 of 14
malloc() calls in codebase0

NIKX Technologies

NIKX Technologies B.V. is an Amsterdam-based engineering company, founded June 2024. NIKX Technologies builds engineering and infrastructure tools. NIKX Creative handles design and branding.

Learn more at nikx.one.

Open source commitment.

MIT licensed. No royalties. No attribution requirements beyond keeping the license notice. No restrictions on what you build with it. Use it in a personal project, a commercial product, or an academic paper.

The embedded community has been working with tools that were never quite good enough for the mathematics the hardware could actually support. numx exists to change that. It should be available to anyone building on constrained hardware.

numx is validated on x86-64, ARM64, Windows, ESP32-S3, and Raspberry Pi 4B. Full hardware validation results are available in the repository.