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