Rust Calculator
A calculator that take numbers and opperations as inputs and outputs results and can use wifi
info
Author: Scrob Sebastian-Mina
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-Seby-S/tree/main
Description
This project implements a calculator using a Raspberry Pi Pico 2w microcontroller running rust code. It supports:
- Basic arithmetic: addition, subtraction, multiplication, division
- More advanced functions: exponentiation, square roots, and (in future iterations) trigonometric operations
- Wifi connectivity: ability to connect to a pc and recive input or sent an output
- Graphical interface: an LCD display(with blue backlight) for on device feedback
- Audible feedback: buzzer beeps confirm key presses
Input comes from a 4x4 matrix keypad and output is drawn via embedded-graphics primitives on the LCD and signaled through a buzzer.
Motivation
I wanted to make something practical for my project and I use calculators all the time in my student life. I also like simple user input/output devices.
Architecture
Components
- Raspberry Pi Pico 2w: connected to everything and runs code, has wifi functionality
- Keypad: connect with GPIO pins
- LCD display: connect with GPIO pins and uses I2C
- Buzzer: connect with GPIO pins
Log
Week 5 - 11 May
WIP
Week 12 - 18 May
WIP
Week 19 - 25 May
WIP
Hardware
- Raspberry Pi Pico 2W (RP2350): Main microcontroller handling system logic, display and wifi functionality
- LCD 1602 I2C, blue backlight: 16x2 character display for UI and results
- Keypad: user input for numbers and operations
- 3V active buzzers: audio feedback for key presses
- Breadboard & jumper wires for prototyping
Schematics
WIP
Bill of Materials
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | The microcontroller | 39 RON |
LCD 1602 cu Interfata I2C si Backlight Albastru | output | 16 RON |
Tastatura matriceala 4x4 | input | 7 RON |
2x Buzzer Activ de 3 V | audio feedback | 2 RON |
Breadboard HQ (830) | platform | 10 RON |
Set Fire | wires | 8 RON |
Total: 82 RON |
Software
Library | Description | Usage |
---|---|---|
embassy-rp | Peripheral access library | Used for accessing the peripherals |
embedded-graphics | 2D graphics librarys | For LCD display |
gpio | GPIO | Used for interacting with GPIO pins |
wip |