HP Forums

Full Version: Repurposing the HP20b in an engineering class
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Some specifics from the professor's web site:


Columbia University

ENGI E1112

Gateway Lab for Computer Science and Computer Engineering

Fall 2011


In this project, you will write new firmware for an HP 20b calculator. This is an example of embedded programming: coding software for something that does not, and should not, appear to be a computer in the traditional sense, yet is one at its core. The plummeting cost of integrated circuits has made such embedded systems ubiquitous, and this trend promises to continue. The challenges of designing such systems run the gamut from traditional electrical issues such as sensor noise and power consumption all the way to high-level computer science problems such as efficient algorithm design to human factors engineering. You will experience all of these, and learn some standard solutions, while performing this project.

1: Getting Started: Hello World

2: Listening to the Keyboard

3: Entering and displaying numbers

4: An RPN Calculator


Seven teams of students completed written reports and presentations. Links to those 14 items, to the professor's instructions for parts 1, 2, and 3, and to other pertinent stuff are all at the URL below.

All this might hold interest for the WP34 crowd here.

The URL:


Awesome!!! I love this!

More, more!

Good to see Prof Edwards creating a new generation of HP calculator fanatics :-)

I wonder if he and any of his students know about wp34s? I had a quick look at a few of the reports and none of their code looks like Pauli or Marcus'

It looks like they managed to create an OpenOCD configuration for the 20b for flashing which might prove useful for me. It may even help to resurrect my original development unit. :-)

I'm going to download the sample files...

I asked the professor about this. He didn't let his students know because they might be tempted to copy it.