I'm for sure not the only one among all Nextion HMI users who does a lot of embedded programming. In the old times, with 8bit MCUs, most of the calculus with numbers between 0 and 255 or between -128 and +127 could easily be done in mind or with pencil and paper. But then came the 16 and 32bit MCUs and things like calculating jump and port addresses or bit masks just got more difficult. Not everyone could afford a HP-16C programmer's pocket calculator back in the mid 1980ies and they are not longer in production, today. So, I thought by myself "That could be a nice blog project, we have a 32bit Cortex M0 MCU inside the Nextion HMI, that should be doable!". And it was doable. I made a few design considerations, first: Not using RPN, HP's uncommon but efficient input system, but "classic" algebraic input. Then, I listed and ordered all the functions I wanted to have and all the keys I wanted to see on the screen. This helped me to divide everything up into 3 groups: Entry keys (0-9, A-F) which allow entering numbers into the main display register (X), immediate function keys which don't require waiting for a second operand: CLR, CE, XY, VIEW, +/- (change sign), ! (bitwise NOT), SGN (extract the sign), and, as a special case "=". And finally, the third group, operator keys like +, -, *, /, & (bitwise AND), | (bitwise OR), ^ (bitwise XOR), % (modulo), > (arithmetic shift right).