SCOTT is an open-source scientific calculator build that fits an ATtiny85, a 128×32 OLED and a 16-key keypad into a compact design. It uses reverse Polish notation (RPN) and reads its keypad through a resistor network on a single analog input, conserving the microcontroller’s limited pins. The tradeoff is a small display, menu-driven functions and modest error handling. The project repository labels the firmware version 1.0, dated 2019, and points to IVT as its successor.
What SCOTT is—and what the build requires
SCOTT is a calculator project, not a bundled kit. The project repository provides the software, circuit and build details. It attributes the project to deetee/zooxo and lists a three-clause BSD license.
The documented hardware consists of:
- An ATtiny85 microcontroller.
- A 128×32 SSD1306 OLED display module using I2C.
- A 16-key keypad wired as an analog resistor network.
- Seven resistors, including the values specified for the keypad circuit.
- A 3 V CR2032 battery.
The repository says the display and keypad use only three of the ATtiny85’s five regular I/O pins. That economy depends on the documented circuit; a conventional row-and-column matrix keypad is not a direct substitute.
Check component compatibility before assembling
Match the OLED’s SSD1306 controller, 128×32 resolution and I2C interface, and verify its module voltage and pinout. Follow the project’s circuit for the keypad: it specifies 10 kΩ and 820 Ω values in parts of the ladder and 3.3 kΩ keypad resistors. The analog key readings depend on that resistor arrangement, so different values or wiring may change how key presses are recognized.
#1 Best Overall
- Support for the . IDE 1.0+ (OSX/Win/Linux).
- Power via USB or External Source - 5v or 7-35v (automatic selection).
- On-board 500ma 5V Regulator.
- Built-in USB (and serial debugging).
- 6 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB).
Use an ATtiny85 package and pin mapping compatible with the circuit. The battery is specified as a 3 V CR2032; its real capacity and condition affect operating time. The documentation does not establish current prices, stock or a particular seller’s compatibility, so check component specifications rather than treating any search result as a guaranteed match.
How the one-wire keypad and OLED work
One analog input distinguishes 16 keys
Rather than dedicate microcontroller pins to keypad rows and columns, SCOTT’s resistor network produces different analog values for different keys. The ATtiny85 reads those values on one pin and maps them to key presses. The repository’s circuit diagram and source code provide the wiring and approximate key values; use those as the reference when building or troubleshooting the keypad.
The OLED handles much of its own screen buffering
SCOTT communicates with the SSD1306 display over I2C. To conserve the ATtiny85’s scarce RAM, the project uses the display controller’s internal RAM as a screen buffer. Its documentation describes dividing that memory so one section can display while the other is updated over I2C.
Rank #2
- The Digispark is an Attiny85 based microcontroller development board similar to the line, only cheaper, smaller, and a bit less powerful. With a whole host of shields to extend its functionality and the ability to use the familiar for Arduino IDE the Digispark is a great way to jump into electronics, or perfect for when for Arduino is too big or too much.
- The Digispark is shipped fully assembled except for the two included and easy to solder headers.
- Support for the Arduino IDE 1.0+ (OSX/Win/Linux)
- Power via USB or External Source - 5v or 7-35v (12v or less recommended, automatic selection)
- 6 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB)
How to enter calculations in RPN
RPN puts the numbers before the operation, instead of placing an operator between them. For example, to add 2 and 3, enter 2, press ENTER, enter 3, then choose addition. ENTER pushes a value onto the calculator’s stack; the operator acts on values there. This entry order avoids parentheses for the simple expression shown. The display presents results in scientific notation.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsA shift key accesses secondary functions, while a menu catalog provides access to functions without dedicated physical keys. That approach expands what the small keypad can do, but means some operations require navigating menus rather than pressing a single labeled key.
What the calculator can do
The repository documents a broad set of functions for a small microcontroller:
Rank #3
- 【Ultra-Compact Microcontroller Board】 ATTINY85-20PU microcontroller board features 8-bit AVR architecture; 8KB flash memory; 512B SRAM and EEPROM; Suitable for small-scale embedded systems.
- 【No External Programmer Required】 Program via USB directly using for for Arduino IDE; no additional burner needed; supports quick setup for LED control, sensor reading, and basic IoT projects.
- 【Wide Voltage Input and Stable Power Supply】 Supports 7-35V DC input with on-board 5V regulator; 500mA output; ensures stable operation in various power Settings.
- 【Low-Power Design for Battery Applications】 Sleep mode current ≤ 1µA; 72-hour operation with 2000mAh battery; suitable for wearable devices, remote controls, and low-power IoT applications.
- 【Multi-Protocol Communication Support】 Hardware I²C/SPI interfaces; 20MHz overclock capability; compatible with LabVIEW, MATLAB, and STM32; enhances project scalability and integration.
- Stack and memory: stack operations and memory functions.
- Arithmetic and scientific math: roots, powers, exponentials, logarithms, trigonometric functions and hyperbolic functions.
- Statistics: statistical calculations, linear regression and normal distribution functions.
- Other calculations: coordinate conversion and present value.
- Customization: user-defined constants and commands, plus recording and playback of three key sequences.
The feature list does not eliminate the usability compromises: the display is compact, some functions live in menus, and the author describes error handling as limited.
Power behavior and runtime claims
The project describes a staged idle sequence: after 10 seconds without a keypress, the display dims; after another 10 seconds, it turns off; after a further 10 seconds, the calculator enters deep sleep. A press in the upper keypad area wakes it, but that wake-up press is not processed as a calculation key. The documentation also describes manually entering sleep and saving stack and brightness state.
Recommended Free Tools
Runtime figures are estimates published by the project author, not independent measurements. The repository gives an example draw of 10 mA with a bright display and estimates about 20 hours of runtime for a battery rated at at least 200 mAh. It also reports sleep current below 0.25 mA and more than a month in sleep mode under that same minimum-capacity condition. Actual results depend on the cell’s capacity and condition, display brightness and usage; a CR2032’s capacity does not guarantee a particular runtime.
Rank #4
- The Digispark is an Attiny85 based microcontroller development board similar to the line, only cheaper, smaller, and a bit less powerful. With a whole host of shields to extend its functionality and the ability to use the familiar Arduino IDE the Digispark is a great way to jump into electronics, or perfect for when an Arduino is too big or too much.
- The Digispark is shipped fully assembled except for the two included and easy to solder headers.
- Support for the Arduino IDE 1.0+ (OSX/Win/Linux)
- Power via USB or External Source - 5v or 7-35v (12v or less recommended, automatic selection)
- 6 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB)
Setup and limitations to know before building
The author says the design favors functionality over comfort and error handling. Division by zero is one example: it can produce a display that is not interpretable. Treat the calculator as a compact project rather than a polished, fault-tolerant commercial device.
After flashing, saved EEPROM state may be undefined. The repository gives a button sequence to clear the display/stack and memory, then save a defined state before normal use. Follow that initialization procedure from the README after programming the device rather than assuming its saved state is ready.
Is SCOTT the right build?
SCOTT is a good fit if you want to explore how an ATtiny85 can support a surprisingly broad calculator feature set with an OLED and a low-pin-count keypad. Its compact circuit and open documentation make the implementation inspectable. It is less suitable if you want a large display, direct keys for every function, extensive error handling or a ready-to-buy kit. The repository identifies IVT as a successor, so SCOTT’s 2019 version 1.0 should not be mistaken for the latest design.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

