Skip to content

CedarGroveStudios/CG-35_Calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Retro RPN Calculator

The CG-35 is a CircuitPython powered HP-35-like RPN calculator for the Adafruit ESP32-S3 Feather and 3.5-inch TFT FeatherWing display with capacitive touch. The calculator consists of a 10-digit LED display with 20-digit internal calculation precision. The emulator code is augmented by the micropython udecimal library adapted for CircuitPython by @jepler (Thank you!).

The CG-35 Retro RPN Calculator

The CG-35 calculator emulates the HP-35 calculator's v2.0 firmware where the change sign (CHS) key is active only after digit entry has begun. Calculation accuracy of monadic, dyadic, and trigonometric functions was improved. An error descriptor message area just below the primary display was added.

The calculator's graphical layout was designed to mimic the aspect ratio of the original calculator. Because of the relative small size of the buttons, touchscreen accuracy is important, requiring the use of a capacitive touch screen rather than a resistive touch screen.

For audible key press and status feedback, connect a piezo speaker from pin A0 to ground.

Implementation Notes

Hardware:

Software and Dependencies:

Optional/future features:

  • Implement display brightness control.
  • Adjust for automatic scientific notation conversion for entered values < |1| with a negative exponent > -6. This is an inherent behavior of the Decimal class in micropython, CircuitPython, and CPython.
  • Purge the T register when calculating trigonometric functions to fully emulate the HP-35 process.
  • Incorporate a selectable degrees/radians mode with indicator (enhancement).
  • Incorporate a selectable scientific/engineering/fixed decimal point mode (enhancement).
  • Add a setup button for setting initial parameters (enhancement).

Releases

No releases published

Packages

No packages published

Languages