Graphing Scientific Calculator Based on the ESP32

· design devtools open-source · Source ↗

TLDR

  • NumOS is an open-source calculator OS on ESP32-S3 N16R8 targeting Casio fx-991EX, TI-84, and HP Prime G2 with Giac CAS, LVGL 9.x UI, and natural VPAM display.

Key Takeaways

  • Core CAS migrated to Giac C++ via GiacBridge.cpp; supports symbolic diff (17 rules), Slagle integration, solve, sum, and simplify over UART, validated on hardware.
  • Hardware: ESP32-S3 N16R8 (dual-core LX7 @ 240 MHz, 16 MB Flash, 8 MB PSRAM OPI) driving ILI9341 3.2” 320x240 IPS over SPI @ 10 MHz.
  • Memory architecture uses PSRAMAllocator<T>, a SymExprArena (16 x 64 KB PSRAM blocks), and hash-consing via ConsTable to isolate CAS from main heap.
  • Apps include Bridge Designer (Verlet physics, stress viz), Particle Lab (30+ materials, Powder-Toy-class), Circuit Simulator, Optics Lab, and a Python App – each modular with explicit lifecycle hooks.
  • Active architectural refactor: migrating to Giac + STIX Two Math for LaTeX-quality rendering; main branch may have UI glitches; stable builds in Releases.

Hacker News Comment Review

  • The single comment flags a broken “Construccion” link and asks for a hardware schematic – both basic project hygiene gaps that block replication.

Notable Comments

  • @dvh: “Construccion” link is broken. And where is schematic?

Original | Discuss on HN