OpenCalc

devlog — open source $25 graphing calculator

2026-05-29

Day 11: A terrible day

Wow what a day... it started off with me accidently deleting all of the configurations and esp-idf while trying to make a setup.sh file. So for the last 5 hours I fought my way to getting everything back and after so much terminal torment here we are. I now have many backups and everything is back up and rolling.

Still waiting to hear back about that pcb, may post on reddit or something.

2026-05-28

Day 10: Ready to order... maybe?

Actually finished and rounted a pcb and sent it of to a friend of a friend who works in pcb design for his job. The software should be ready to go and hoppfully when I drop $100 or more on this they actually flash and boot up... but we'll see what happens. Many many hours worked on this project, beetween the 12k+ lines of code and many hours elarning how to design a pcb, but deffinitly worth it if this works out. I'm also ordering a battery and a multimeter for the pcbs. Next steps would be to refine the software and pcb design and also have the screen solderd on and make a case for it but that's way in the future. This was an awesome learning experiance so far and I hope it continues to be.

2026-05-27

Day 9: Big progress!

Finished designing a really good looking V3 for the pcb and may order it aafter checking losts of things. The software is basiccly done I think so ready to flash when the board actually comes. Spent many hours on the pcb and it looks really great. I decided ot go with software insetad of hardware off because it seems much simpler.

Also ordering a bettery and multimeter for future testing.

2026-05-25

Day 8: All my nervousness was very warented...

So I connected it to the scren and uh nothing happend... but that's just because VCC needed 3v3 not 5v so that fixed pretty quick. But then everything was a mess... the screen was backwards, pixels were missing and I dont have the tools to make a button matrix. But after many hours I fixed the screen, even made the touch work, and made a simulated button matrix using the Serial in.

So the best thing currently working is doom.... but it works great!

Update, things are going swimingly. Apps are working, ui looks great, making a ton of progress. I'll start desiging the final verison of the first pcb most likley which is very exciting. Python scripts still dont work but we'll get there lmao.

We ran out of GPT5.5 tokens :(

Set up free claude code using an Nvidia model yay

A ton of work done today, definitly a lot to go but very proud of the progress, on pace to order trhe pcb somtime next week hoppfully.

2026-05-24

Day 7: Nervousness

Im going back to school tommorow night and will be able to test the code I've writin but I'm very nervous it wont work. It all builds and flashes and works in concept but I'm sure some challenges will arise when I actually wire up the components.

I also did some work on tiny-python to add better error handling that tells you where the error is, line and charecter. I also amde a github repo just for tiny python because it seems impressive enough even tho I wrote it mostly with ai.

Started work on v3 pcb with a lot of changes, actual screen and battery, exposed gpio pins and a more accurate. button matrix. Also switching to easyeda instead of kikad. I also installed autodesk fusion for when I need to design the case. I'm tryig to finish this in the next 3 ish weeks before I go to summer camp for the rest of the summer.

2026-05-23

Day 6: A lot of brainstorming

Since I only have accsess to the board I've been brainstorming and preparing to connect it to the screen when I get back to school cuz I'm currenlty in bsoton with my family. I'm also getting ready to finalize a test pcb design to get made but I want to make sure the code all works first.

Adding a lot of actual features and making the buttons do things too but only in code until I can get back to school to actually test on the hardware.

2026-05-22

Day 5: Switching to raylib then switching back then doom

After realizing how much boiler plate I had to write, I gooled and found out raylib, a C graphics library actually works in esp-idf so that was great news. I got that working and I want to wire up the button matrix to start testing the caclulator.

On another note I made the esp32 act like a storage device when plugged into a computer so you can now upload files (python files is the main reaosn) and I had GPT 5.5 write a mini python interpreter so we'll see if that works when I upload it.

Big day today... Ignore the title of the post i actually disabled Raylib because it was stopping the esp32 from booting so we raw dogging it for now. Also it shows up as a flashdrive type thiong when you plug it in now and you can upload files but mostl python scrips. The python interpreter which I've called tiny-python is nearly done with practicly everything able to be added so thats awesome.

Wow I did a lot today, basicly everything I can do without wiring up a button matrix and lcd is done ( I need to implement all the features but uhhhh). When I get back home I'll make a button matrix, wire the screen, and start to actually develope the application for the calculator. I also made a v2 design of the button layout.

I put doom on it but don't tell anyone, alpha + 2nd will run it.

2026-05-21

Day 4: The code continues

I've now got 3 buttons wired up and the LCD and code that lets me draw a colored square based off the button i press so that's pretty cool. Embeded programing with esp-idf is way harder than I imagined but we're getting though it. Going to keep playing around with it.

2026-05-20

Day 3: Learning to code

All the parts came and work great so I started actually learning how to code this thing, so far only turning on and off gpio pins but hey i got the LCD screen to light up so that's a win in my books. Going to continue to play aorund with it for the next few days. Also got some buttons wierd up which is cool.

2026-05-12

Day 2: PCB design

Since the parts have no been deliverd yet, I started working on a first pcb design based off the figma design I made yesterday in a new folder called hardware. This is my first time making a PCB so I can only imagine some things are off. It was preety fun though. I'm excited to get to working on the physical hardwarre but it still hasn't come so trying to do what I can in the meantime.

Parts still waiting to arrive... my dorm package prossessing sucks.

Ok so the PCB I made sucks and I could't even finish wireing it but it was a good first go.

Made a second version of the PCB and honestly it's not much better but im bored so.

2026-05-11

Day 1: The Start

ESP-IDF is now fully setup to build and flash blinky utilizing the onboard led on the esp32 model I purchased. To build idf.py build and to flash I belive it's idf.py flash, but only time will tell. I also finsihed and uploaded the first iteration of the button layout to docs/designs which was made using Figma.

Parts will arrive tommrow so testing and the code base will start to form.

2026-05-07

Day 0: why?

A TI-84 costs $130 and runs a Z80 from 1976 (even the neweer mdoels are slower than they should be for this price). OpenCalc is the same thing for $25 — ESP32-S3, color LCD, USB-C, computer emulation, and MicroPython scripting built in. It's quite frankly ridiculous to be expected to spend $130 on a calculator with a processor that's older than most people using it.

Everything open source. This log tracks the build from scratch.

Today I made a planning document, started this blog, orderd a board, screen, some buttons and some wires, and setup the enviorment I'll be using, ESP-IDF. Everything ready to start just waiting on physical componets now.


MIT · github