Graphite: A TI-83/84 inspired calculator firmware for PicoCalc

I’ve been working on a side project to make the picocalc something I would reach for often on my desk, and also for nostalgia reasons. It’s more or less at feature parity with the TI-83/84 now, and an added CAS feature that the TI-83/84 didn’t have.

Have fun :slight_smile:

8 Likes

Another interesting project built from bare metal up in a few weeks, complete with thousands of lines of meticulous documentation of how the AI wrote it.

It’s very impressive, and as a former TI-84 owner I look forward to trying it out, but I can’t help but feel nostalgic for the days when the size of a project related to the amount of effort put into it, or of how my profession of a couple of decades has essentially completed changed in the span of a few months.

By virtue of working as software engineer in a highly regulated industry where AI usage is banned, it is a completely foreign world to me, but realistically I suppose I am now utterly unemployable in any “normal” programming job.

Yes, it was my attempt at building something non-trivial with AI. I’m in a similar boat, this was in fact an exercise to see how much of my own knowledge and experience still mattered. And also to see how far I could AI tools to improve productivity. I’m glad you saw the notes, that was the purpose of this project.

On the whole, it wasn’t straightforward, AI helped immensely in writing the majority of the code, but the design effort was mostly human. In this aspect, software engineering skills and experience transfer significantly, what isn’t obvious in the repo is the initial research, scoping, architecture design and other technical choices.

There were several false starts before this that never made it to light. Initial under-specced, under documented, and thus unable to nicely grow into what I had envisioned had to be discarded. Perhaps I could have hammered on to create an unmaintainable mess, but I chose to scrap those instead.

Even with more design, code wasn’t immediately bugfree and development wasn’t completely handsoff. Plus, the AI isn’t perfect at debugging. However, when given some guidance, it often is much more productive than me by sheer speed. (e.g. implementing instrumentation prints, then parsing long logs for problems or patterns.) What I could do in hours was done in minutes.

Perhaps an encouragement is that I do not think that you would be completely unemployable, in fact, the amount of experience in software engineering will translate to much more effective use of these tools.

1 Like

I refer to this as agenting engineering instead of vibe coding. If you look at Pico Logo, I have over 2500 unit tests, something that wouldn’t have been possible before for a single developer in the same time frame.

1 Like

So far this is looking great - thank you for sharing this project! I have only just begun exploring the options, but it is looking like it will be my new “go-to” default firmware.

Not sure if you want a bunch of feedback but … I noticed a strange error that when I enter “sin(90” and intentionally leave off the trailing paren, it auto corrects it to “sin(90)” as I think the Nspire calculators do, but it throws a Syntax Error message. ie: it shows “sin(90)” as an error, but if I enter “sin(90)” it works fine. This is so very minor, but just passing it on!

Again thanks for a great job on this.

Coming back to comment again because I am really loving this app you’ve created! I played around more with it: the builtin help is good, stats, graphing - all working great! The screen is laid out nicely, response is fast, and having a scrollable history is perfect!

I noticed that it shows “FLT” as the mode even when it is actually “ENG” by the way.

Thanks again.

Thanks for the feedback!

Happy to consider including it as a feature. Thanks for the bug report too, i’ll definitely look into them. If you have a github account, posting them on github allows me to notice them faster. :slight_smile:

@Bryn Both issues fixed: Release v0.4.1 · moodoki/graphite_picocalc_gc · GitHub

1 Like

Interesting project!
I’ve ported a Linux version based on your work so that friends using the Lyra board can also enjoy it.
I also added auto-completion for commands and functions to make it works better.
Thanks again for your great work!

GitHub links:

output

1 Like

wow, looks really great! the autocompletion seems like a really cool idea, i shall experiment with it to check its performance on the pico1 and 2

This inspired me. There was this fellow on here awhile ago who wanted to write his own OS, his intentions were good I think, but he caused a lot of friction with others for various reasons. One of the things he once asked was what form his OS should take. My suggestion was a DOS workalike, with the limited memory, a command line OS would not be much of a problem. He did not take my suggestion, but since then I have thought about it several times, but unfortunately, I am just a self taught hobbyist programmer. Sure, I am good for a few hundred lines of C/C++ to solve a quick problem, but I in no way have the skill needed to develop an OS.

When I saw this post, I thought okay, maybe this is something I can do. I have a vision and a paid Claude $20/month account, what is the worst that can happen right. An hour later, I had a kernel and shell booting on a bare Raspberry Pi Pico 2w, accessible through serial. By the end of the day, I had it working on my PicoCalc. Of course BlairLeduc’s picocalc-text-starter was indispensable, the only code I had to write myself was a driver for the PSRAM. It was actually kind of an entertaining project to do.

Thank you for the idea, and helping me get off my butt and do it.

3 Likes

new features added Release v0.5.0 · moodoki/graphite_picocalc_gc · GitHub

  • Micropython scripting, with a periodic table first app
  • Text editor
  • file browser
2 Likes