← opencalc home
OpenCalc
devlog — open source $25 graphing calculator
2026-09-13
Day 29: Some udpates
Nothing too much currently going on, i need to make some case redesigns,
I orderd the wrong buttons, and other than that just waiting on the pcb
to arrive. I just visited my Girlfirend at school also so while she did
some homework I did a bit of software. A lot of issues are patched and
it's looking a lot mroe compleate in terms of firmware. I am very
excited to learn to hot air solder and get this pcb up and running when
it gets deliverd. The digikey shipment actually arrived but waiting on
LCSC and jlcpcb now!
2026-09-8
Day 28:
I made a website for the project! And I also finlly made a portofolio
how awesome is that.
2026-09-6
Day 27: idk
Software is a lot more compleate now. Updated a bunch of wirteups,
featuers, and the gifs on the front. i think I'll order the pcb when I
get to school but probobly form jlcpcb this time because it'll be
cheaper. I'm worried about hand soldering a few things but I'm sure
it'll be fineeeeee.
2026-09-4
Day 26: I'm so good at soldering
I did the through hole and SMD solder kits and both worked first try!
I'm also adding a gpio breakoutt o conect sesnors to and log data. Today
blog is short I am tierd.
2026-09-3
Day 25: Software galore pt2 and sodlering??!
Another big software day, with some hardware redesign. But more
importantly I setup my new soldering station and everything is working
and ready to go. Unfortuetley the practice kit I orderd got delayed to
come tommorow so that kinda sucks but oh well. Should only cost ~$50 or
so to make the next version which will be awesome. I orderd the new
screen today as well.
2026-09-2
Day 24: Software galore!
I have worked a ton today on on the software, adding a full cas, and
flushing out the apps plus planning on new features to add! It's going
pretty well but the codebase and memory issues are piling up fast so
that's not great. I need to finish getting the new CAS working tommorow
and then I'll move on to flushing out all the other apps.
Side note: I also worked on a cool little github about me page so that
was a fun side quest, and I even 75% packed for college!
Other side note: I will be elarning to solder, I got an iron and
practice boards and everything.
2026-09-01
Day 23: CAD?
I have installed freecad. I finished the next pcb... it looks insanley
good I am very excited. But I also want to make a case for it and make
keep caps, all 3d printed. So i Installed freecad and am working on that
currently. I'm making other upgrades such as faster charging, smalled
lcd footprint, better buttons, overall better layed out, improved button
matrix, and a few other small things.
I finished the case model and am trying to find button covers. I also
added a new speaker to the PCB for game noises. I'm upgrading a few
things which I've added in the readme.
2026-08-31
Day 21: Continued work
As I continue to work on the software and perfect everything, I am also
redesigining a hoppfully final verison of the pb to put in a case and
actually use. I'm uping the charging form 500mah to 1500mah, considering
adding the esp32-s31, refining the screen and butotn layout and overall
size.
2026-08-30
Day 21: It's alive!!
The PCB finally arrived! After an hour or two of changing around some
software, praying for it to work, it came to life. The screen turned on,
the buttons all worked. I am still working through some software bugs
but even the abttery charges and holds power for the board, everything
is fully functional on the hardware side. After I finish up perfecting
the software, I will move to designing the next and hoppfully final
verison of the PCB and then make a 3d printed case for it. If you're
reading this then I thank you for coming along this journey with me.
2026-08-23
Day 20: The PCB is done! And... a graph?
I got sent awesome pictures of the PCB after it was assembled, it looks
great and I think the battery connector is backwards but oh well. It's
about to ship and I am extreamly excited.
I also used this tool graphifiy so codex can have some sort of brain
type thing? Not sure how it works but it looks pretty cool!
2026-08-19
Day 19: More esp32 simulation
I've done a lot mroe work on my simulation software, adding components
and features, fixing things, and it's turning out greay. I am super
excited to share it to github as another repo that contributed to this
project!
I am also extreamly excited for the pcb, it should come in aorund 2
weeks I think?
2026-08-18
Day 19: More software...
I've been working on a esp32 esp-idf online simulator because I could't
find any that were actually good. I want to use it to simulate this
whole project but I'm not sure if it'll 100% work so we'll have to see.
I also worked a bit on a markdown text editor which I am writing this
in!
2026-08-13
Day 18: Software!
I worked a bit on refactoring software for a better power save mode,
saving high scores and settings, adding in the game menu, splitting
tasks beetween cores, and also updating readmes for all of these! More
firmware work will be done in the meantime while waiting for the PCB.
2026-08-12
Day 17: Pcb!!!!
It has been orderd! The final cost came out to ~$110 from PCBWay after
their generous donation. It should take around 2-3 weeks for it to come
but hoppfully sooner rather than later. Still not sure if it'll work
but, I'll order a multimeter and battery in the meantime I think. I'm
also still working on getting mairo up and running so I am very excited
for that.
2026-08-11
Day 16: Pcb.. almost!
They said yes! I had to add my shipping details but as of right now they
are going to contribute $80! I am very excited. I am also preparing
myself for the fact that it may not work... but we'll see! I've also
started a homelab project in the meantime.
2026-08-10
Day 16: New games!
I've worked over the past few days to add some new games! For when
studnets get bored of course. I added Tetris, Snake, Breakout, and even
Super Mario which dosn't fully work yet but we're getting there. These
games will open into a menu and it'll be awesome.
My PCB files also got accepeted and reviewd on PCBWay and they even
agreed to sponcer some of it! They are going to get back to me about how
much they will pay but i hope it's a decent amount. I also hope the PCB
will work... but we'll see!
I also plan to split math and drawing operations beetween two cores for
the sake of speed and why not use two if they are there. However in
power save mdoe only one core will be used and the other turned off.
2026-08-05
Day 15: Some thoughts
I ended up making this PCB design in EasyEDA because well, it was easier
but I've been looking into Kikad more and I definitly will be using it
in the future. It just seems more proffesional and more widley used so
whatever my next project is, it'll be that. It may be tricky to switch
but better late than never.
I've also been talking to PCBWay about a possible sponsoreship more and
making a whole page for the project and sending them a ton of info so,
we'll see how that goes.
I also still have the end goal of making it cost $25 per board total.
I'm thinking a solderd on screen will be cheaper, but other than that I
think just ordering in bulk will help make it cheaper and ordering stuff
from China probobly.
2026-08-04
Day 14: Trying to order
I've been checking prices in a few spots and it's definitly too
expensive to order myself. Around 150 for 5 boards and 1 assembled
board. So I emailed PCBWAY's sponership program and signed up for this
thing called stardance, we'll see how much money they'll give me but, I
really hope I can order it because it would be so cool to see this
actually work. Will update on how that goes but I'm not exteramly
hopeful.
2026-08-03
Day 13: It's been a while...
It's been a while but we're back. I've been working just nothing too
crazy to talk about. I havn't touched the firmware in ages and actually
pivoted to another project where I made a 64x64 RGB LED pannel that I
could draw to from anywhere in the world, which deffintily took some
time. But other than that I've been going through design after design
for the PCB (and learning many things...). I wen't into this thinking it
would be easy and take no time at all but that was not the case. So
after 3 months of screwing around and countless headaches, I am proud to
say that the first version of the pcb is ready to order! Will it work? I
have no idea. But it passes DRC so... and no for some reason the PCB
reddit won't help me so I'm just going to free ball it. I think it'll be
~$60 which is more than the $25 goal but I think it's ok because it's a
prototype. Anyway, will update on how that goes. I deffinitly need to
udpate the PCB readme still oops.
2026-06-08
Day 12: Chuggin alongy
I'm back! I've been doing a lot of work on the pcb schematic and just
testing random things in the software. I'm getting closer to being able
to actually order the pcb. I've posted on Reddit and Discord to get
reviewd and sent it to a friend as well (so I don't waste a bunch of
money lmao).
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 a free local coding assistant 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 ·
home
·
github