Engineering Calculator

Author: Ken Kundert <>
Date: 2021-10-05
Version: 1.7.1

This calculator is noteworthy in that it employs a stack model of computation (Reverse Polish Notation), it supports numbers with SI scale factors and units, and uses a text-only user interface.


Install with:

pip3 install engineering-calculator --user

Requires Python version 3.6 or later.


  • Text-based interactive interface.

  • Stack-based calculation model

  • Full scientific/engineering calculator.

  • Support SI scale factors and units on inputs and outputs.

  • Supports hexadecimal, octal, and binary formats in both programmers and Verilog notation.

  • Provides special functionality for electrical engineers.


Invoke engineering calculator and compute the value of a resistor by dividing the voltage difference across the resistor by the current through it:

> ec
0: 2.5V 250mV - 1mA /

Here a hexadecimal number is converted to and from decimal:

> ec
0: 'hFF
255: vhex

In this example, a frequency is converted to radians and saved into the variable omega, which is then used to compute the impedance of an inductor and capacitor:

> ec
0: 1MHz 2pi * =omega
6.2832M: 100nH *
628.32m: 1 10nF omega * /


Please ask questions or report problems on Github.