11-08-2019, 06:46 PM
Hi everybody. Some time ago (many years in fact) i found some HP calculator emulators on the web. I found that RPN system can be kinda good for some things, especially for programmable calc. I started to get interested in HP calculators and soon i started to look for some 48GX or 41CX, (un)fortunatelly it was not easy to get one in Poland, and prices of the ones on Ebay were a little too high. I ended using emulators on Android and PC.
Some time after that i just started to think if i could make a calc by myself. I had done some experiments with my own software calc using tenkey system. Then i got some cash registers for parts and i made functioning thermal printer out of that parts. When i got printer i though to myself that i am only missing a good calc to connect it to it ;-) I got some mechanical keybaord modules, LCD displays and stuff like that and i found that those parts are great material for a calc.
I started looking for MCU to handle that stuff and found that AVRs may not be the best choice, i found cheap STM32 board and i found it great for the job. From the lack of pins i used old AVR just to work as keyboard controller. It took many software upgrades to get to the state where i am today, i have learned some things along the road. Software i written is in Bascom (for AVR) and Arduino IDE for STM.
Here are some of the features of the junk i have made:
-RPN/Tenkey system with 6 level RPN stack and 2 Tenkey adders. * key is used not only to clear tenkey adders but also can move data from adders to RPN stack.
-Can swap any 2 levels of stack (not only lower ones).
-Indirect memory access with STORE, RECALL, ADD (shift + left add button) and SUBTRACT (shift + left subtract button) functions.
-Build in unit converter and constant library.
-Various scientific math functions hidden in >MATH< menu.
-Alphanumeric prompting (on LCD) and printing.
-Printing on thermal printer, trough universal UART (for Psion Workabout MX) or USB (emulating HID keyboard or USB UART).
-Shadow and normal programming (shadow mode works like manual operation, but it stores everything you do in background, so the keypresses are both executed and stored in memory).
-5 programmable keys.
-Statistical functions.
-Timer (much like HP-41CX one) that can be triggered manually or by external interrupts.
-Possibility to read values from ADC inputs.
-Multiple display modes (showing things like whole stack, part of stack and tenkey adders, part of stack and alpha registers and so on).
-Dropping values from stack to PC (trough HID USB keyboard emulation).
-Values can be displayed in SCI format or in fixed point (rounded) format, but they are always handled as 64bit floating point.
Some time after that i just started to think if i could make a calc by myself. I had done some experiments with my own software calc using tenkey system. Then i got some cash registers for parts and i made functioning thermal printer out of that parts. When i got printer i though to myself that i am only missing a good calc to connect it to it ;-) I got some mechanical keybaord modules, LCD displays and stuff like that and i found that those parts are great material for a calc.
I started looking for MCU to handle that stuff and found that AVRs may not be the best choice, i found cheap STM32 board and i found it great for the job. From the lack of pins i used old AVR just to work as keyboard controller. It took many software upgrades to get to the state where i am today, i have learned some things along the road. Software i written is in Bascom (for AVR) and Arduino IDE for STM.
Here are some of the features of the junk i have made:
-RPN/Tenkey system with 6 level RPN stack and 2 Tenkey adders. * key is used not only to clear tenkey adders but also can move data from adders to RPN stack.
-Can swap any 2 levels of stack (not only lower ones).
-Indirect memory access with STORE, RECALL, ADD (shift + left add button) and SUBTRACT (shift + left subtract button) functions.
-Build in unit converter and constant library.
-Various scientific math functions hidden in >MATH< menu.
-Alphanumeric prompting (on LCD) and printing.
-Printing on thermal printer, trough universal UART (for Psion Workabout MX) or USB (emulating HID keyboard or USB UART).
-Shadow and normal programming (shadow mode works like manual operation, but it stores everything you do in background, so the keypresses are both executed and stored in memory).
-5 programmable keys.
-Statistical functions.
-Timer (much like HP-41CX one) that can be triggered manually or by external interrupts.
-Possibility to read values from ADC inputs.
-Multiple display modes (showing things like whole stack, part of stack and tenkey adders, part of stack and alpha registers and so on).
-Dropping values from stack to PC (trough HID USB keyboard emulation).
-Values can be displayed in SCI format or in fixed point (rounded) format, but they are always handled as 64bit floating point.