You are browsing as a guest. Sign up (or log in) to start making projects!

13h 8m 40s logged

NumOS / NeoCalculator — Initial Devlog

What I’m building

I’m building NumOS, a free/open-source embedded calculator OS for NeoCalculator, my open-source scientific graphing calculator.

The goal is to make a real handheld calculator that students and makers can study, modify, and improve, instead of using a fully closed device. NumOS targets ESP32-S3 hardware with a 320×240 color display, physical keyboard input, calculator apps, graphing, math rendering, and eventually a custom PCB.

This Stardance project is focused on the software/firmware: the OS, UI, apps, input handling, math features, and hardware integration code.

Why I started

I started NeoCalculator / NumOS because graphing calculators are expensive, closed, and hard to modify. I wanted to build something affordable, hackable, educational, and physically real.

The project started around mid-February 2026, and I’ve been building it in my free time while still in school.

What I’ve built so far

Embedded firmware foundation

I set up the firmware for an ESP32-S3 N16R8 target using C++17, PlatformIO, Arduino, LVGL 9.x, TFT display support, PSRAM configuration, and serial debugging.

Early work included getting the project to compile and run reliably on embedded hardware, fixing display/LVGL issues, configuring flash/PSRAM correctly, and organizing the code into modules instead of one giant file.

Main launcher UI

I built the first main launcher for NumOS, shown in the screenshot above.

It is inspired by modern calculator UIs, but it is not meant to be a clone. It has an app grid, app cards/icons, keyboard focus, navigation logic, a status bar, visual styling, and basic app launching.

This is the “home screen” of the calculator OS.

App architecture

I worked on making NumOS modular. Apps like Calculation, Grapher, Equations, Settings, and future apps can each have their own code and lifecycle.

The architecture includes a central SystemApp dispatcher, individual app modules, input routing, display/UI handling, app switching, and serial control for development.

Math and calculator features

I started building the math side of NumOS: expression parsing, calculator input, natural display / math rendering experiments, graphing work, equation solving experiments, and early CAS / symbolic math experiments.

Some parts are stable and others are still experimental, but the long-term goal is serious calculator functionality on embedded hardware.

Hardware integration

Because NumOS is meant for a real calculator, I also worked on display integration, LVGL flushing, keyboard matrix planning, serial keyboard control, and hardware abstraction.

Serial input is useful because I can control the calculator from a PC before the final physical keyboard exists.

Recent updates

Since the project existed before June 1, my recent work has focused on:

  • improving the NumOS firmware architecture
  • refining the LVGL launcher UI
  • preparing the software for the upcoming custom PCB
  • documenting hardware/software requirements
  • reviewing display, keyboard, USB-C, battery, and power requirements
  • making the project clearer as an open-source calculator OS

Current status

NumOS is still a work in progress, but it already has an embedded firmware structure, a main launcher UI, LVGL interface work, calculator app experiments, math/parser/CAS experiments, hardware integration planning, and a path toward custom PCB hardware.

Next steps

Next I want to improve the launcher, stabilize the calculation app, improve graphing, clean up documentation, prepare a better demo, and test NumOS on the first real NeoCalculator PCB prototypes.

This is still early, but it is already much more than an idea: I’m trying to turn NumOS into a real, hackable calculator operating system.

0
1

Comments 0

No comments yet. Be the first!