30b Repurposing Concept


Here is my 20b repurposing concept updated and applied to the 30b:

I’m not sure that both the up-shifted and down-shifted legends would fit between the keys as I depicted on my 20b concept, so I went ahead and put the blue legends on the sloped key faces. This makes the key-relabelling problem that much more difficult, but, if a way can be found to put new primary legends on the key tops, it should be possible to put the blue legends on the sloped face. I have an idea for how it might be done (nothing fancy, still a sticker or overlay concept) but for now will just assume that it could be done.

Based on the discussion of the 30b regarding the memory allocation for storage registers and such that allows only 300 or so bytes of program memory, I don’t know how feasible this concept is. I believe it has been mentioned that someone at HHC 2009 had a 20b with a micro-SD card slot connected. Could programs be stored in and executed from an SD card? If so, the 2 kB of ram might be enough for data. If 300 or so bytes is indeed the limit, there would not be much point in creating a machine with the 41C/42S programming paradigm. If that is the limit, something with the capability of maybe the 11C might be doable, perhaps with only a single shift key to keep things simpler.

Paul reports below that significant program memory is possible with a very capable design.


Edited: 26 Jan 2010, 7:52 a.m. after one or more responses were posted


I like the flipped HP logo. Maybe stands for d(o it)y(ourself)?


I like the flipped HP logo. Maybe stands for d(o it)y(ourself)?


(I wondered if anyone would notice. Nobody mentioned it on my 20b design.)



Martin, I laughed out loud when I read your message. Thank you for the humor.




Does the 30b's LCD has an Arrow Up annunciator?


Jeff, I don't remember ever using the roll keys, it seems to me a single one would serve for a 4 stack. I would not make it an important key. I remember when the 35 came out my friend was never sure the upper number was still there, he had to use the x<>y key repeatedly to make sure. Sam


Does the 30b's LCD has an Arrow Up annunciator?

No, it has exactly the same display as the 20b.


Thanks, Katie.

I suppose that will more or less rule out using a second shift key in any repurposing project.


The shift indicator could blink for the 2nd shift. The dot matrix could say '2nd shift, alpha, etc...'


There are two "=" annunciators, a large one and a small one. You could use the small one for the 2'nd shift or the "BEG" symbol which is directly underneath the down arrow and is not likely to be needed for anything else.


It is quite possible to have more than 300 bytes for program space. The CPU has 2048 bytes of non-volatile RAM. This can be divided up as desired. The low level support routines need a few bytes but it really isn't all that many.

Walter & I have been (slowly) working on a 20b repurposing and ours has 500 merged program steps (each of two bytes since we've so many commands available). In addition we've 100 registers (16 digit BCD using 8 bytes each). These don't include the stack.

We've also got more than one shift by ignoring the built in annunciator and using the dot matrix portion of the display to show 'f', 'g' and 'h' as required.

Yes, we'll be switching to the 30b for the nicer keyboard.

- Pauli


OK, some more facts:

Menu labels are underlined. There are 3 hotkeys. Participants of HHC2008 may know some features, but there's new stuff, too. Display shows the calc in programming mode.

The function set of the 34S is based on the one of the HP-42S RPN Scientific. This set is extended to completely include the functionality of the HP-16C (we even added and expanded some commands), the fraction mode of the HP-32SII, statistical distributions as featured by the HP-21S, and even more mathematical, statistical, scientific and engineering functions like

  • Euler’s Beta function, incomplete Beta and Gamma, the error function, Fibonacci number calculation, Lambert’s W as well as
  • many distributions and their inverses like Binomial, Poisson, exponential and geometric, Gaussian with arbitrary mean and standard deviation, Weibull for reliability analysis,
  • extended date and time calculations based on a real time clock,
  • nearly 50 fundamental physical constants taken from NIST,
  • over 50 different conversions between SI and Imperial units,
  • extended Latin (i.e. Spanish, Portuguese, French, German, Norwegian, Swedish, Finnish, Czech, etc.) as well as Greek upper and lower case fonts in two sizes.
We had to drop matrix math due to display restrictions.

All features are subject to change without notice, but were pretty stable in the last months. Comments etc. are most welcome.


Looks great!

Be even better if/when put on the 30b physical unit!



thanks for your kind words. As mentioned above, we'll use the 30b for its rotate-and-click keys. IMHO, however, matte black is a better background for label prints than shiny metal. Maybe we can sandblast a 20b plate and use it then on the 30b, since dimensions seem to match.



Unfortunately not. :-(

The 30b uses a different process. The LCD is completely enclosed and protected under a clear window, and the inside had to be different to give a little more space for fitting a real keyboard. They aren't compatible.



Time to get a real 30b in our hands d:-)
When will it be available?


Extra programming features:

  • As mentioned, 500 merged programming steps.

  • 100 registers that hold either reals or integers depending on the current mode.

  • Almost any command that takes a register can also take a stack element and/or can be done indirectly. LBL being the main exception to both.

  • Extended conditional tests: all six comparisons of X against 0, 1 or any register or stack element (possibly indirect for both). Complex equality and inequality comparisons against the same.

  • 100 user flags and 11 flag set/clear/flip and test operations. None of these flags are used for system purposes. Sieve of Eratosthenes without using any registers anyone?

  • 100 numeric labels + three character alpha labels. 8 levels of nesting for subroutines. Solve, integrate, summation and product of functions using any of these labels. Only a single program space with three hot keys definable. Three character alpha labels are the only non-merged commands -- they take two steps not one.

  • Save and restore the entire stack to registers as a single operation.

  • Register move, swap, clear and sort commands.

  • Store and recall arithmetic (including min and max). Complex support for basic arithmetic store and recall to register pairs.

  • If you're not using complex arithmetic, there is an I register to make converting HP-34c, 32S, 33S and 35S programs easier.

  • 31 character alpha register with some supporting operations. Not quite as rich as the 42s yet.

All implemented except for the low level hardware driving (works on a desktop PC in a text window). Still a few bytes left of non-volatile RAM and several kbytes of flash.

- Pauli


This sounds like awesome software design, I can't wait to try it!

Just a word of caution about a problem that I found in all the ARM-based HP calculators (12C+, 20b, 30b). The power supply is not well designed and can/does lead to memory loss when the batteries get low. The 2 CR2032 cells are in parallel with no steering diodes so once one cell goes bad the 2nd cell will follow suit soon thereafter. In the process of changing out one cell you can easily short the contacts and lose memory too. Finally, the low battery warning code should be given careful consideration and re-design, it does not work well in any of these machines.



Pauli and Walter,

I continue to be very impressed by what you have accomplished. It sounds like you have made progress recently and are pretty close. Now that the 30b will (hopefully) soon be available, there is a worthwhile platform on which your design can be implemented. I guess I will have to buy two 30b's, one to load your "34s" on and one for my as yet un-alphanumerically designated Science and Engineering flash. I'd like to think there is room for both, as I think we have somewhat different goals, maybe. I won't presume to state your goals, but mine are as follows:

  • relatively uncluttered keyboard, not that yours is cluttered, but it is quite busy :-)
  • complex numbers entered as on the 35s, stored and handled just like the 42s (with display improvements as described in my 20b repurposing post)
  • easily useable as an engineering/scientific by having the basic functions ex, ln, square-root, 1/x, SIN, COS and TAN as un-shifted key functions. (I realize that these functions are of course only one shift away on your design.)

Aside from the above, a major goal is that there be some way to upload and download programs. Otherwise there is not much point to my design since the 35s has most if not all of the functionality I desire. I’d be willing to hack the calculator, buy special cables and hardware and software, but it would be nice if a cable connected to those six-little holes on the back could do the job.

Best regards and good luck with the 34s,


edited to correct typo

Edited: 27 Jan 2010, 2:54 p.m.



as you wrote, there will be room for more than one repurposing project. And each and every design is biased by personal preferences and experience of its designers, as it has been stated many times by different forumers here. So let's run it the biological way: may many species rise and compete d:-) There isn't anyone completed and ready yet, so far. Still some work to be done.

Enjoy designing (and checking and redesigning and ... d;-) ),


(Edited to correct an error)

Edited: 27 Jan 2010, 6:24 p.m.


OK, some more facts:


We had to drop matrix math due to display restrictions.


I also think the design is great, but what is different about the 30b display that makes the 42s matrix math impractical?


what is different about the 30b display that makes the 42s matrix math impractical?

The 42S has a dot matrix LCD 131 pixels wide and 16 high, allowing for 22 characters in each of 2 display lines, or 6 soft key labels in the lower line . OTOH, the LCD of the 20b and 30b looks like this:

No way to display a comparable number of soft keys. No space for reasonable matrix descriptors. Too tight in many ways :-(


Thanks for that. Very clear :-(



Wow! Nice design, Jeff.

Possibly Related Threads...
Thread Author Replies Views Last Post
  Repurposing the HP Prime? John Ioannidis 4 1,034 09-21-2013, 05:38 AM
Last Post: Pier Aiello
  Flashing cable for HP 20 / 30B Stefan Koenig 3 1,180 09-19-2013, 05:53 AM
Last Post: Marcus von Cube, Germany
  Any 30b cables left? patryk 7 1,486 09-16-2013, 02:54 PM
Last Post: Marcus von Cube, Germany
  HP-30B (WP-34S) Technical Documentation Barry Mead 3 1,037 09-09-2013, 03:07 PM
Last Post: Harald
  HP's thinking behind the 20b/30b? John Ioannidis 3 1,001 09-07-2013, 10:21 AM
Last Post: Tim Wessman
  30b/34s interfacing? ross sponholtz 5 1,257 06-26-2013, 01:41 AM
Last Post: Walter B
  Inexpensive HP 30b Matthew Richards 23 3,691 05-22-2013, 10:10 AM
Last Post: Dave
  hp-30b with free shipping sjthomas 9 1,773 04-14-2013, 02:46 AM
Last Post: Gerson W. Barbosa
  Amazon offering 8$ for my HP-30B Siegfried (Austria) 7 1,430 04-13-2013, 04:38 PM
Last Post: Chris Smith
  That is how they should sell the HP 30B :) Harald 11 2,036 04-07-2013, 11:44 AM
Last Post: Juergen Keller

Forum Jump: