Skip to content

Manufacturing

From OpenSCAD to the Classroom Desk: 84mm Fraction Towers, Logarithmic Prime Blocks, and Unit-Tested Books

Whenever we tell someone we are manufacturing a new calculator alongside 3D-printed math blocks and printed textbooks, the natural question is: "In a world with smartphones and AI, why does the world need another calculator?"

Because even in the age of AI, students still need to know how to think mathematically. Handing a child an AI chatbot—or a standard school calculator where they type nested parentheses (12 + 8) / (5 - 1) = into a black box—hides every intermediate step of reasoning. By contrast, on a stack-based RPN calculator, students learn operator-precedence parsing themselves because they must break expressions down in the right order of operations to enter them onto the stack, seeing every intermediate result step by step. And unlike CAS (Computer Algebra System) calculators—which are banned on the SAT, ACT, IB, UIL, and college math exams—our calculator is purposefully designed to be allowed in testing situations (zero CAS symbolic manipulation, zero QWERTY keyboard, and zero wireless radios on the hardware).

Our goal with the StackCalc Ecosystem is to make every step of mathematical reasoning visible and physical, connecting 3D-printed classroom manipulatives (manufactured in-house and on Slant3D), unit-test-verified reference books, and our SC-6 / SC-32 calculators.

Notes from the PCBWay Assembly Floor: Header Pins, JST Footprints, and Switch Jumper Routing

Passing local Design Rule Checks (DRC) in KiCad is a satisfying milestone, but it is not the same thing as passing physical assembly on the factory floor.

Shortly after we submitted our initial 4-layer calculator mainboard (calculator.kicad_pcb), BOM (bom.csv), and pick-and-place centroid files to PCBWay for turnkey SMT and through-hole assembly, their engineering team paused the line and sent back a set of real bench inspection photos. Those photos caught four physical integration bugs that a software DRC never flags: through-hole MCU header pins colliding with a front-side tactile switch, a through-hole JST battery header paired with undrilled surface-mount pads, mirrored silkscreen layers, and implicit jumper connections across the 4-pad tactile switches.

Here is what the PCBWay team found on the bench and how we fixed the board layout and jumper routing with Python scripts in KiCad's pcbnew API.