Open Source Calculator Teaches Us About Quality Documentation

Graphing calculators are one of those funny markets that never seem to change. Standardized testing has created a primordial stew of regulatory capture in which ancient technology thrives at modern retail prices while changing little. The NumWorks calculator certainly isn’t the first competitor to challenge the Texas Instruments dynasty with a more modern interface (and a design from this decade), but behind it’s subtle color pops and elegant lines lies the real gem; a fantastically well documented piece of open source hardware. The last time we wrote about the NumWorks, it was to demonstrate a pretty wild hack that embedded an entire Pi Zero but it’s worth drawing attention to the calculator itself.

Hackaday readers traveling to the NumWorks website might spy the section at the bottom of the page titled “Developers” with tantalizing links like “Hardware,” “Software,” and “GitHub.” These lead to a wealth of knowledge about how the product is put together and sources to build the enclosure and firmware yourself (the PCB schematic and layout sources seem to be missing, though there is this handy gerber viewer). However merely posting sources is a low bar NumWorks far exceeds.

How is the firmware put together? Here’s a handy architecture guide! Why did they choose C++ and what tradeoffs were made to fit everything in a resource constrained embedded system? Here’s a design guide! How exactly does the math engine take in text, comprehend the expression contained therein, and evaluate it? There’s a document for it! There’s even a multi-platform SDK setup guide.

Firmware documentation is old hat; we’ve come to expect (or at least hope!) for it. For us the most interesting documentation is actually for the mechanical and electrical systems. The EE guides start with part selection (with datasheet links) then move on to walkthroughs of major areas of the schematic. At this point is should be no surprise that the board has pads for a completely standard 10 pin ARM debug connector and documented test points for UART, SPI, and an SD card.

The mechanical pages read like a quick primer on design for injection molding and tricks to reduce assembly errors (called “poka-yoke“). Ever wondered what that funny frame plastic models come in is called? The NumWorks calculator’s buttons are made in one, and it’s called a “sprue”. There are pages describing each piece of the housing one at a time.

Treat yourself to a reading of NumWorks’ excellent documentation. And if you need a new calculator, maybe consider the open source option.

80 thoughts on “Open Source Calculator Teaches Us About Quality Documentation

        1. Other calculators I’ve used have had the same idea (low contrast colors) – and for a good reason: the seldom used combinations shouldn’t overwhelm the vision of a user unless the user is actively looking for them. Powerful technical calculators can have 4+ functions per button.

  1. It simply is amazing how much effort can go into something as useless as this. If they really wanted a good graphing calculator they should just write a good phone app (of which there are a few already) I only hope that all involved have learned something in the process.

        1. Even in my age the search speed of my memory is infinetly faster than looking it up from the internet. And by the way putting stuff into ones memory is called learning.

    1. Phones and even most advanced calculators are banned in France on tests (the calculator in the article is a French product).

      This calculator is very much product that exists only for that reason. E.g. the only calculators allowed are those that have a specially designed “test” mode which blocks internal memories (so that you can’t have cheats in there), all internet connectivity must be disabled, the test mode must be visibly indicated and must not be possible to disable it once enabled without some special tooling (e.g. another identical calculator or connection to a PC). There are lots of WTFs here and it spawned an entire industry selling overpriced (90+ euro for one) crap calculators (e.g. a lot of calculators crash or malfunction when put in the test mode and since there is no way to turn it off, the student is screwed …) to high school students but that’s the law here at the moment.

          1. Similar to what Edison said when the reporter asked him how many engineering formulas he had memorized; remembering where the formula is written down is the important memory skill, not memorizing the formulas.

        1. It’s probably overhead from small batch costs. (the apertus camera project looks stupid expensive until you look up the sensor they used on digikey, and one chip is literally 4,000$USD) If you look at the homemade keyboard market it can often cost 50-100$ just to buy a bag of good injection molded key caps, even though chinese keyboards are <5$

    2. Yeah, this is a bad take. Stop trying to cram everything into a smartphone. Yeah, there are times when an app is handy, but it is also handy to have a separate device too. And not just because of testing requirements in schools.

      1. I disagree, the less individual devices the better, especially for things that have overlapping functionality and interface such as a modern phone and a calculator. I seem to recall dedicated text translation devices, with a tiny full keyboard, where are they now? Calculators would be in the same place if not for school requirements.

        Why should we stop cramming everything into a phone, that’s what it’s for.

        1. I might agree with you, if not for the bad user interface on modern phones. Touch input is, in many scenarios, horribly inefficient. The tactile buttons on my 30 year old calculator win hands down against any touch-based interface I’ve seen.

          1. That’s true. But if I do more calculation work, I sit at the computer anyway and use tools from Excalibur32 (Windows RPN calculator) over Excel to specialized simulation programs (e.g. LTspice). The quite few times I need a calculator I happily use the HP48 emulator on the phone. The real one sits nearly exclusively in a drawer since I finished university.

  2. No RPN, no deal, sorry.
    The SwissMicros DM42 is a better alternative.The only way the Numworks is better is the color screen, but realistically at that point you are better off using a CAS app on your phone. The only reason why calculators still exist are the arbitrary restrictions imposed by schools and SAT/ACT.

    1. I personally hate using a calculator on my phone. That’s OK when you want to split a dinner bill in a restaurant or similar occasional use but doing any engineering calculations on a phone on a regular basis is a pain. The lack of tactile feedback from the keyboard is a major problem for me.

      And yes, I am using a calculator even when sitting in front of a PC – it is quicker to just punch a few numbers into a physical calculator than to start one on the screen – by the time it starts I often have the calculation finished already. I don’t need any CAS, graphing, statistics or any other similar nonsense – it is generally unusably clumsy and slow on a calculator. That’s what Matlab/JupyterLab/etc are for. But trigs, basic engineering formula calculations from some datasheet – physical calculator any day …

      1. I’m with you on that one… I keep a Commodore S-61 Statistician at my desk, and a Commodore N-60 Navigator in my workshop (it can do time calculations, which are nice for figuring out things like how efficient workflow is, how long it’ll take to complete tasks, etc). I love a physical calculator in my hands over a mere app. They may perform the same function, but the usability isn’t the same.

      2. It takes exactly one mouseclick and less than a second to start the calculator (Excalibur 32, RPN) on this PC. For sure less time than taking the hand off the mouse, open a drawer, take a HW calc out and switch it on. And you can copy/paste results into a document.

      1. In theory that sounds great, but without support of buttons for important RPN functions, it’d be pretty bad. You need an “enter” key, but the “=” could substitute, since you don’t need to press “=” when doing RPN calculations. But what about other important operations like “swap”? It’s been a while since I perused this calculator, but I think you’d find it difficult to map the functions you need without some forethought about those keys.

    2. The DM42 looks awesome, thanks for the pointer!
      I think I’m going to get me one of those. I still love my trusty old HP41CV, and this might finally be a worthy successor. ;-)
      (I’m still keeping the 41, though. First device I ever programmed on. <3 )

    3. Thumbs up for the DM42! I received mine earlier this year and I am continually impressed with it. The quality is actually far above that of the HP Calculators of old (e.g. HP 41 CV/X, etc). How the DM42 compares to the NumWorks calc would be difficult, as it would depend upon a number of factors which would be user or evaluator specific. Secondly, the NumWorks calc appears to be marketed towards high school, etc and, whereas, the DM42 is a Scientific Calculator marketed towards, Engineers, Scientists, etc…. and so each market has their own needs and wants. That being said, I would like to see the NumWorks in person, as it does look like a nice product.

  3. Interesting. I didn’t think they could get such a thing approved but the website does claim it is permitted for taking the ACT and scheduled to be permitted for the SAT as of this coming August.

    WTF? How did they manage that? Is it not hackable? Can the students not hide information they are not supposed to have reference to behind some secret keystrokes or something like that? I think the TI stranglehold and the high priced obsolete equipment students are forced to buy are both very unfortunate. But.. I do understand the purpose.

    Even if this thing, otherwise open source has a locked bootloader so when you buy it from them it’s cheatproof… might someone build one themselves from the plans and include cheats? Maybe the person that can do that doesn’t need to. But.. that person might see a business opportunity…

    Personally I use a PC if I am at one or my phone otherwise. But.. I am out of school. When I was in High School my parents bought me an HP48G. They were told it was more powerful than the TIs. They were correct but they weren’t told that teachers only knew TIs and how difficult that would make things!

    Oh well. Now that I grew up with the HP it’s what I know best. Sure, a native Android app would be better but I would have to learn it. When my HP’s screen cracked I kept the manual and just use an emulator. HP is awesome, they actually make their old ROMs available for free, legal download. No piracy necessary!

    If I actually bought a new physical calculator I’m pretty sure it would just sit somewhere. My phone is always on me so I just wouldn’t have any motivation to go and get it.

    1. Because the test administration are remarkably stupid, and mostly exist to prop up Texas Instruments. A lot of “test approved” calculators have easily found hacks to fake testing mode and sideload answers, it’s really not so much about the security as it is politics and making market entry harder.

  4. Given that they have ‘exam mode’ (which didn’t exist when I was in school) I wonder if they could get away with adding network connectivity. Exam mode could turn connectivity off. That would almost make a device that actually makes sense in 2018.

  5. Really nice website and documentation. One thing I noticed is there are no real photographs of the product, only renderings. This is a mistake although renderings are cool, you should show photos so people have confidence the product actually exists and is not just a CAD design. This is the low bar set by Kickstarter I believe. I see you can buy one, so it must exist – they just haven’t photographed it.

    1. Yeah. I would especially like to see prototype versions to see the changes they made over time. Which features were decided ahead of time, which are standard “good practice”, and which were learned as a result of testing.

      1. I played around with converting the SVGs to Gerbers and its doable. The Schematic is available as well so just doing the layout wouldn’t be to bad. Possible to change the design at that point as well to have tact switches instead of membrane as the switch membrane looks to be the hardest part to recreate at home.

  6. I’m confused about the lack.of WiFi. I’m usually confused when things could have WiFi but don’t.

    I mean if the SAT people let them use FOSS HW at all how is WiFi all that different? ESP chips are cheap, and connectivity is a good way to keep things from becoming obsolete when you’re done using them for exams.

  7. Nice, but for this price it will go nowhere. It is some 20% cheaper than a TI and may offer some marginal advantage. Just not enough to dislodge the TI domination. Make it for $50 and it will be a huge success. No reason why it should cost so much.

  8. Here in Australia I’ve seen it advertised for over A$200 !

    I’ve been looking for a new Calc my trusty old TAndy version of the Casio fix 5000F is failing and I just love it but don’t appear to be available any more :(

    I thought the Numworks might be a suitable replacement but it’s just a bit more than I’d like to spend :(

    1. Where did you see it advertised?
      If you go to the Numworks website, they offer sales to USA and Europe only (ie. screw you Asia, Africa, South America residents).

      The DM42, at swissmicros.com, gives an estimated price in Australian Dollars ($265) as well as several other currencies. Sadly, they are currently out of stock.

  9. I really like this calculator, but the thing that drives me nuts the most is the lack of aa/aaa battery support.
    But maybe with a 3D printed backplate to do that, this could be pretty awesome.

      1. In this case, simpler to just buy one. I’ve got one (and a spare, useful!) that cost me 99p and runs off one AA battery with some kind of Joule Thief thing going on. The output regulation, I imagine, is terrible, but that doesn’t matter for charging a battery.

    1. I would not consider this as a useful feature, at least if you have a working battery indicator for the LiIon. I use disposable batteries only when there is no other option because of badly designed (too high) undervoltage cut out or in things like remote controls which use so little power (2 AA or AAAs in 10 yr.), that even the use of eneloop typ NiMHs is nut justified.
      Where possible I use devices with lithium ion batteries. They have good power density and nearly no self discharge.

  10. This isn’t open-source, just visible-source. Everything is licensed under CC-BY-NC-ND, so you’re not allowed to release your own modified versions of the OS or anything else they made.

      1. They claim they won’t act on forks, but they also insist they’ll act against any commercial use. Seems a bit narrowly parsed for a question like if they’re going to sue you or not. ;)

  11. While the NumWorks does seem to be a very nice calculator in general, my excitement quickly turned to disappointment today, when mine arrived and I saw the abysmal display quality. Even when looking at it directly from the front, the left eye sees slightly different colors than the right eye, which is driving me nuts.

  12. I like the Python ability and that M4 is fast. I have taught high school math and physics and there are two things I would want. First, in a current design 320×240 is low. For well rendered mathematical symbols, more resolution is better. And everyone has expectations based on their phone, which have spectacular displays.

    Second, from years of having my HP15C beside a TI, I find a “landscape” format device is much more convenient in the limited space of a school desk or table. There needs to be two models, display on the right for left handers and vice-versa. And I think a 3.2 or 3.5″ LCD can fit.

    The HP is 130x80mm with its little one line display. The NumWorks is 82×160. A 3.5″ LCD panel is 87×65. Hmmmm.

    I have the chip and I have displays and I like MicroPython, and the NumWorks source is available……

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.