“To examine how much “calculator power” a simple microcontroller like the ATTINY85 is able to perform was already the intention of ScArY (www.github.com/zooxo/scary). Unfortunately ScArY was based on a premanufactured development board (QYF-TM1638) and was restricted to a 7 segment display.
Beside an ATTINY85 microcontroller SCOTT is based on an OLED display and a 16 key one wire keypad. As SCOTT is powered by one 3V battery only a good power management is essential.
Two of the five regular I/O-pins of the ATTINY are used to control the display (I2C communication) and one (analog) pin is used to handle the one wire keypad. So far two pins are available for further developments (i.e. sensors).
SCOTT uses the internal RAM of the SSD1306 display controller as screenbuffer, what saves valuable RAM of the ATTINY. And to speed up the relatively slow I2C-communication with the display SCOTT splits the controller RAM. So while one half of the RAM is used to display its content the other half is filled with content via the I2C line. With a RAM swap the new content is displayed rapidly (without the effect of “dropping in characters”).
Like in ScArY the functionality of SCOTT outweights comfort and error handling which can be seen for instance at the permanent scientific display format or a “non interpretable” display after dividing by zero.
Features of SCOTT:
- Scientific RPN calculator (similar to those famous HP calculators)
- Power settings: Set the contrast of the display and save the value permanently to EEPROM, display the recent battery voltage and shift SCOTT into a deep sleep mode.
- Function menu to browse and call every operation of SCOTT comfortable with cursor and function keys (“catalog”).
- Basic functions for number input, basic arithmetical operation and memory.
- Low level functions like squareroot, power and inverse.
- High level functions like exponential, logarithmic, trigonometric and hyperbolic.
- User definable keys to store and load 10 physical constants to/from EEPROM permanently.
- User definable keys for fast access of 10 functions/commands.
- Basic financial function (present value).
- Conversion of polar and rectangular coordinates.
- Gaussian normal distribution (CDF, PDF).
- Statistics (Mean value, standard deviation).
- Linear Regression (a, b - where y = a x + b).
- Type recorder (record and play 3 user defined sequences of keypresses).