Calculator
A custom calculator with 18 buttons, an encoder, an LCD screen, all powered by a pico! The encoder acts as CLEAR when pressed, and changes the cursor position when rotated.
Created by
jim 🚀
432 views
4 followers
floris
gave kudos to Calculator ago
I think it's a great idea. Can I give you a small tip? I would place your controller below the screen. And you can also place the traces on the bottom layer by pressing "V." You can move from the top layer to the bottom layer using vias.
the.mridul.goel
gave kudos to Calculator ago
Dude this is sick, I would love to make something like this!
jim 🚀
added to the journal ago
Routing attemp v2
i removed all the routing from before and tried again. I did the complex stuff on the back side, but still, I can't finish it because routes keep running into each other. I will have to make a 3d attempt, probably equally split the amount of routing on the front and back!

jim 🚀
added to the journal ago
Tried to Route the PCB
Tried routing the PCB, but I kinda messed up and wasted 1 hour... At least I learned something! I learned that I can route both on the back and front side. Im getting some weird routing suggestions and I will probably ask someone for help, because I can't finish the routing.
jim 🚀
added to the journal ago
final GPIOs + 3d view!
I spent around 2.5 hours setting up the power gpios + 3d view! People in a slack thread helped me set up the gpios, 3v3, GND configurations for the open gpios on the pico, and I close the unused ones! I also did the same on the LCD. I spent some more time researching the manufacturer's website for the lcd, and I also digged the internet to find .step files for every component!

jim 🚀
added to the journal ago
Setup Edge.cuts layer
Today I setup the Edge.cuts layer. I drew a rectangle and used the measure tool, and made sure the usb from the raspberry pi pico is outside of the pcb. I also changed the position of the screen, keys, and rotary encoder to make sure everything is as it should!

jim 🚀
added to the journal ago
Did brainstorming while in stupid class
Today I had ancient-greek class, which I don't care about since imma follow a path with math & cs, so I spent the majority of the time drawing out the design of my calculator. I changed the placement of the button multiple times but the end result is this and I think its pretty cool! it fits everything and takes up the correct space. 
jim 🚀
added to the journal ago
Designed a demo PCB
Did some brainstorimg on the PCB. I imported everything from the schematic - I had to spend some time searching for footprints. After that I was gonna use the Keyboard Layout Editor (KLE) but I just hand-placed the keys for now since I plan this to be bare. I love slowly seeing it come to life! I also spent some time on sketch.io designing the overall look. I will probably have to change everything, switches aren't alined, routing isn't done, and outline is wrong.

jim 🚀
added to the journal ago
Completed half of the schematic
I spent 4 hours yesterday working on the schematic. At first I was gonna use a xiao rp 2040, so I would have to do a matrix layout, but I then decided to go for the raspberry pi pico which has many gpios. I connected all keys and an LCD screen. I used a technique called i2c which a friend told me about. This way, I only had to connect 2 gpios. (4 hours may seem a lot, but it is my second PCB and I remade it 2-3 times because I tried to actually understand everything. I also have to switch to labels soon)

jim 🚀
started Calculator ago
10/2/2025 1 PM - Completed half of the schematic
I spent 4 hours yesterday working on the schematic. At first I was gonna use a xiao rp 2040, so I would have to do a matrix layout, but I then decided to go for the raspberry pi pico which has many gpios. I connected all keys and an LCD screen. I used a technique called i2c which a friend told me about. This way, I only had to connect 2 gpios. (4 hours may seem a lot, but it is my second PCB and I remade it 2-3 times because I tried to actually understand everything. I also have to switch to labels soon)

10/2/2025 11 PM - Designed a demo PCB
Did some brainstorimg on the PCB. I imported everything from the schematic - I had to spend some time searching for footprints. After that I was gonna use the Keyboard Layout Editor (KLE) but I just hand-placed the keys for now since I plan this to be bare. I love slowly seeing it come to life! I also spent some time on sketch.io designing the overall look. I will probably have to change everything, switches aren't alined, routing isn't done, and outline is wrong.

10/3/2025 - Did brainstorming while in stupid class
Today I had ancient-greek class, which I don't care about since imma follow a path with math & cs, so I spent the majority of the time drawing out the design of my calculator. I changed the placement of the button multiple times but the end result is this and I think its pretty cool! it fits everything and takes up the correct space. 
10/5/2025 7 PM - Setup Edge.cuts layer
Today I setup the Edge.cuts layer. I drew a rectangle and used the measure tool, and made sure the usb from the raspberry pi pico is outside of the pcb. I also changed the position of the screen, keys, and rotary encoder to make sure everything is as it should!

10/5/2025 9 PM - final GPIOs + 3d view!
I spent around 2.5 hours setting up the power gpios + 3d view! People in a slack thread helped me set up the gpios, 3v3, GND configurations for the open gpios on the pico, and I close the unused ones! I also did the same on the LCD. I spent some more time researching the manufacturer's website for the lcd, and I also digged the internet to find .step files for every component!

10/6/2025 8:06 PM - Tried to Route the PCB
Tried routing the PCB, but I kinda messed up and wasted 1 hour... At least I learned something! I learned that I can route both on the back and front side. Im getting some weird routing suggestions and I will probably ask someone for help, because I can't finish the routing.
10/6/2025 8:50 PM - Routing attemp v2
i removed all the routing from before and tried again. I did the complex stuff on the back side, but still, I can't finish it because routes keep running into each other. I will have to make a 3d attempt, probably equally split the amount of routing on the front and back!
