HP’s $40 20b Business Calculator based on standard 32-bit Atmel Microcontroller
Steve Leibson - July 30, 2008
Time was, back in the early 1970s, calculator chips were the ultimate proof of semiconductor manufacturing prowess. Many 4-banger (add, subtract, multiply, divide), battery-powered, handheld calculators were available. These machines were based on the biggest and best PMOS LSI chips that the IC vendors could build at the time. There were literally thousands of transistors on each chip! Imagine that.
Meanwhile, Bill Hewlett was gently beating on Tom Osborne, Dave Cochran, and the rest of the HP 9100A programmable desktop calculator team to develop a pocket-sized scientific calculator for which, according to market-research done by SRI, there was no market. The result was the HP 35, the world’s first pocket scientific calculator, which launched HP into the calculator market for a fantastic run of very profitable calculators based on custom HP-designed silicon. HP spun out a new division to handle this business.
Fast forward 30 years. The 4-banger calculators cost a buck at the dollar store. They are no longer big moneymakers, but they’re still really useful. After letting its calculator business go nearly dormant, HP has lately been introducing some new calculators that have got HP calculator aficionados somewhat excited. (Manufacturing quality-control problems continue to keep the fanboys from getting too excited.) I wrote about the first machine in this new generation, the HP 35s scientific calculator, a year ago. Now there’s a new HP business calculator called the 20b.
HP 20b Business Calculator
I don’t think there’s a lot of interest in the HP 20b on the part of EDN’s readers because it’s a business calculator, but the inside of the machine is pretty interesting from a design perspective. You can find some disassembly photos here. For the purposes of this blog entry, the really interesting aspect of the HP 20b is the silicon inside. There’s one chip in this puppy and it’s an off-the-shelf microcontroller from Atmel: the AT91SAM7L128. No more custom silicon. The off-the-shelf AT91SAM7L128 microcontroller is attached to the calculator’s circuit board using chip-on-board technology and is covered with a blob of epoxy. This microcontroller has a maximum clock rate of 36MHz but HP says it’s only running at 30MHz in the calculator.
Here’s a block diagram of Atmel’s AT91SAM7L128.
Atmel AT91SAM7L128 Block Diagram
There are adequate resources on this chip to implement many embedded devices that have keyboards and displays. The chip’s processor is an ARM7TDMI, which is based on the 32-bit ARM 7 architecture that’s been around for more than 20 years. The ARM 7 architecture has a 3-stage pipeline (fetch, decode, execute), so it’s not a fast machine by today’s standards. However it’s blindingly fast relative to the old 8-bit microcontroller architectures that have been around since the 1970s. Those old 8-bitters are still cranking along at clock rates well under 10MHz and they’re not pipelined so they do not execute an instruction per clock cycle. These “new” RISC architectural innovations (actually, they’re nearly 30 years old) no longer cost a significant amount of silicon, thanks to the industry’s long ride on Moore’s Law, so RISC processor architectures are now entirely appropriate for the world of low-cost microcontrollers.
Consequently, the really important part of the ARM7TDMI architecture for calculator purposes is that “T” in the middle of the model designation. The “T” stands for Thumb, which is a 16-bit subset of the 32-bit ARM instructions. The Thumb instructions cut code size, which is really, really important when all you have to work with is the 128 Kbytes of on-chip Flash and 12 Kbytes of on-chip, externally programmable ROM available in the Atmel AT91SAM7L128.
Unfortunately, the 16-bit Thumb instruction set is mutually exclusive with the 32-bit ARM instructions. A mode switch is required to go back and forth between the two instruction sets. This sort of mode switching isn’t needed for ARM’s newer Thumb2 architectural extensions or the native 16/24-bit instructions in Tensilica’s Xtensa architecture. However, ARM’s original Thumb extensions are obviously fine for a product like the HP 20b business calculator.
Because the HP 20b calculator is based on a standard processor architecture, and because the designers of the HP 20b elected to bring the Atmel AT91SAM7L128’s JTAG port out to pads on the calculator’s circuit board, it’s possible to regard the calculator as a hardware-development platform for other projects. Indeed, that’s already happened. You’ll find the HP 20b Repurposing project here.
Share your thoughts.
Currently no items