Classic HP Calculator LiPo Battery Pack

Safe and convenient power for HP 35/45/55/67 Calculators

Similar projects worth following
This is my attempt at a LiPo-based battery pack for "Classic" HP Calculators, specifically HP-35, HP-45, and HP-55 and HP-67. The original NiCd packs are all dead by now, and rebuilding them is difficult - assuming you can even find a pack to rebuild. I thought it would be fun to use a rechargeable LiPo battery, and include the circuitry to re-charge via USB as well.

LiPo chemistry has very specific care-and-feeding when it comes to recharging, the HP AC charger wont recharge this pack. Instead, there's a micro USB connector to facilitate safe charging. Version 2 of this project (blue PCB) includes circuitry to protect the LiPo battery when an HP charger is connected.

The mechanical concept is a gold-flashed (ENIG) PCB as the contact substrate, with the LiPo, USB micro B receptacle, and charging circuitry on the opposite side. A pair of laser-cut 'endcaps' locate the assembly within the battery well, and the compartment cover holds it all in place.

GitHub Repository Link

Mechanical Design

I have an old (defunct of course) battery pack, so I traced the profile onto graph paper and replicated in Visio. I added a slot for a PCB at the appropriate height (to put the PCB contact pads at the same position as the terminals of the pack). Exported to SVG and sent off to Ponoko for fabrication in 3mm thick fiberboard.

Charging Circuit (V1 and V2)

The MCP73831 does all the heavy lifting here - it's a completely integrated Lithium charge controller, handles the transition from CC to CV, and terminates charge when it's time. The schematic is lifted right from the datasheet application circuit. 

Protection Circuit (V2)

In version 2, I added a Charger Immunity protection circuit, to avoid mayhem in the event that an HP AC adapter is connected while the LiPo pack is installed in the calculator. I used a very nifty 'ideal diode' from Maxim, the MAX40203, which integrates a P-channel MOSFET and the control circuitry to manage the gate, only turning it on (pulling to ground) when current is flowing in one direction. To make it compatible with the HP AC adapter's charge output (which is approx 50mA current source, open circuit voltage is >12VDC) I also included a 5.1V Zener clamp, to limit the voltage on the charger side to something below the 6VDC that the MAX40203 allows.

There are two "solder bridge" jumpers in the V2 design.  JP1 is simply a 'bypass' around the MAX40203 IC, in the event it isn't needed (or doesn't work out). When shorted, it connects the LiPo + to the POS contact pad on the PCB.  JP2 is a means to pull the MAX40203 "EN" (enable) pin high. EN allows the load side to be disconnected from the source (when pulled low)  and of course, we always want the diode enabled. The Maxim datasheet says that the EN pin has an internal pullup and can float, but my simulation runs seem to indicate that it sometimes needed to be pulled high in order to work. So just wire it high on the PCB, right?  Not so fast; my simulation also seemed to show a few mA current draw from the battery when the HP AC charger was present. So, I leave it as a solder bridge option and I'll sort it out when I get the PCBs. 

Other Stuff

KiCAD for PCB and Schematic. 
Visio (sorry!) for mechanization drawings and such.
Both V1 and V2 releases are tagged at the GitHub link.


Version 2 schematic drawing

Adobe Portable Document Format - 41.26 kB - 01/25/2021 at 15:29



Version 2 topside assembly drawing

Adobe Portable Document Format - 5.98 kB - 12/02/2020 at 21:41



Version 2 PCB check plots

Adobe Portable Document Format - 96.47 kB - 12/02/2020 at 21:10



Version 2 bottomside assembly drawing

Adobe Portable Document Format - 3.05 kB - 12/02/2020 at 21:09



SVG file for endcap. 47mm x 14mm overall size.

svg+xml - 1.81 kB - 11/18/2020 at 19:52


  • 2 × Endcaps laser-cut 3mm thick fiberboard endcaps
  • 1 × Microchip MCP73831T-2ACI/OT U1, Lithium battery charge controller
  • 2 × 4.7uF 16V 0805 capacitor C1, C2
  • 1 × 4.7K 0805 resistor R1
  • 1 × 470 ohm 0805 resistor R2

View all 11 components

  • V2 Board Assembly & Checkout

    tomcircuit12/16/2020 at 21:57 0 comments

    I received the V2 circuit boards from PCBWay earlier this week. These sport blue soldermask, to differentiate them from the red V1 boards (that are not immune to HP charger). The USPS package with components from DigiKey was delayed a bit (normal for this time of year, particularly for this year) but eventually made its way to my house.

    I assembled the boards and did a brief checkout:

    • First, I connected a LiPo battery + series current-meter to the board via J2

      1. Approx 100uA of static current is consumed by the MAX40203 (and perhaps Z1 leakage) with no-load across the PCB battery contact pads (those that mate with the calculator).
      2. The MAX40203 'ideal diode' allows current to flow from the LiPo battery, through the MAX40203, into a small resistive load (~50mA)
      3. Voltage drop across the MAX40203 while it is conducting is very low 
    • Next, I applied a 10V source, current-limited to 50mA, across the PCB contact pads (to simulate what happens when an HP charger is present)

      1. The voltage across the pads clamped at around 5V. This is required to keep the MAX40203 voltage with specification

      2. There is no current flow 'into' the LiPo battery; the MAX40203 is indeed preventing charger current from entering the battery

    During my testing, I found something interesting: With "no load" (just my Fluke DMM) across the contact pads, there was only a very small voltage (less than 150mV) present .  This seems very reasonable - I'm guessing the MAX40203 needs to see some differential voltage across the MOSFET before it decides it must be "on". I bridged JP2 to pull the MAX40203 ENABLE pin high, and the voltage across the contact pads matched the LiPo battery voltage, even with only a DMM load.  So, for now, I'm leaving JP2 bridged. Note that this behavior matches the simulation that I did previously, where the MAX40203 would not conduct when the simulated load was abruptly connected.

  • Charger Immunity

    tomcircuit11/26/2020 at 00:53 0 comments

    I’m retagging this project as “ongoing” now. As Mike Szczys pointed out, there’s the possibility of someone connecting an HP AC charger to a classic calculator with this pack inside. The HP AC charger produces a ~50mA constant current source output into the battery pack when it’s connected. Such long term ‘trickle charging’ is not recommended for LiPo chemistry. So, need to prevent this current from flowing into the LiPo battery  

    A simple Schottky diode could be used to block the reverse current into the cell. The downside is the 0.3V drop that it imposes when the LiPo is powering the calculator. That would bring the nominal voltage to 3.4V, which is a bit on the low side. 

    What’s needed is an “ideal diode”: zero voltage drop when forward biased, and zero current flow when reverse biased. Back in college this was a pipe dream. Fortunately, that’s “a thing” nowadays! The circuit idea is pretty neat: manage a P-channel MOSFET gate depending on the direction of current flow between drain and source.  There’s a good writeup here on this. It’s a cute application of a differential amplifier biased at a miserly operating point. It turns out that you can get the whole shebang integrated into a friendly SOT-23 sized package. In the GitHub repository you can find my LTspice simulation of the HP AC adapter, the ideal diode, and how well it performs in the two usecases (charger connected and not connected)

    So, ‘version 2’ of the classic HP calculator LiPo battery pack will (probably) feature a MAX40203 “ideal diode” to make the LiPo immune to damage from long-term connection to the HP AC adapter.  Oh, and I’ll correct the &$@%# polarity of the JST LiPo connector while I’m at it!

  • Success!

    tomcircuit11/18/2020 at 19:57 0 comments

    This was a fun and easy project, and it went perfectly.  Well, nearly.  Had to swap the LiPo leads in the JST connector to match the polarity that I assumed on my PCB. Otherwise, no issues at all.

View all 3 project logs

Enjoy this project?



George wrote 08/21/2023 at 10:14 point

Love this design; inspired to try something similar. I like your care to use the ENIG finish, and the MAX40200 is a great find for this application!

Saw this article where the author used a regulator to (counterintuitively) squeak out some more battery life / reduce the dissipation in the calculator:

Turns out, because the calculator's current input increases with increasing voltage, you can actually extend battery life by adding a (very low dropout) linear regulator - e.g. I calculated 3.6V with 30mV Vdo might give 4-5% longer run time than no regulator in my HP35.

Also, I thought I would try an arrangement to allow charging in-place with the HP charger. Not yet proven / tested that part but feel free to follow along:

  Are you sure? yes | no

Gus Fantanas wrote 01/15/2021 at 01:05 point

In the bottom right text note, should it be "U2" instead of "D2?"

  Are you sure? yes | no

tomcircuit wrote 01/24/2021 at 20:29 point

Hi Gus - can you describe what file you're looking at, so I can check/correct any errors?  There is only D1 (the LED), and no D2. The second diode is Z1 (the Zener).    -tom

  Are you sure? yes | no

Gus Fantanas wrote 01/24/2021 at 22:37 point

Hi, Tom—

Your TEXT NOTE, on the bottom right above the title block, mentions "D2."  That's what I am referring to, the text note, not any component in the schematic.  This site does not allow me to upload a graphics file here...

  Are you sure? yes | no

tomcircuit wrote 01/25/2021 at 04:45 point

ah, in the schematic note the zener is referred to as D2 rather than Z1. Thanks for catching that, Gus! I have corrected the schematic file and PDF prints. 

  Are you sure? yes | no

dbcorbin wrote 11/25/2020 at 17:07 point

I have an HP35 I bought in college the 2nd year it was out.... The batterys... welp.

The AC adapter doesn't work anymore either.

Did you etch the board yourself?   Can we order some for our use?

thanks for a great project


  Are you sure? yes | no

tomcircuit wrote 11/25/2020 at 23:16 point

 I had the PCBs fabricated by PCBWay. The gold flash is a must for reliable connection to the calculator contacts, so I don’t recommend trying to etch one yourself. I have several extras and happy to sell you one for what they cost me ($6). contact me directly and we’ll figure it out. 

  Are you sure? yes | no

tomcircuit wrote 11/24/2020 at 03:32 point

Hi Mike - yeah, I debated a Schottky diode on the LiPo output to the contact pads, to prevent trickle charging via a real HP adapter. I ultimately decided against it, because it’s 300mV lost all the time. Maybe a 3.9V zener across the contacts could prevent mayhem? It’s actually not a disaster - LiPo are okay with a small trickle charge while, but really want CV charging to “finish up” correctly and charge to full capacity.  So a temporary connection of HP adapter  (50mA) wouldn’t be the end of the world, it’d just be a poor way to charge the LiPo. But long-term AC adapter connection would be bad. 

I’m open to ideas on how to prevent damage to the LiPo in the case of long term connection of an HP AC adapter. Briefly considered also a boosted NMOS but felt that was too complicated, Any other thoughts?


  Are you sure? yes | no

Mike Szczys wrote 11/23/2020 at 17:34 point

It's a cool project. Great that everything fits just right and the laser-cut endcaps for PCB are a really nice solution!

I wondered about the charging ability of the original calculator and saw you mentioned it doesn't work. But I also didn't see any protection against that in your design. If someone other than you plugs in the charger by mistake will it be a bad situation? Would something like a diode on the positive line prevent this?

  Are you sure? yes | no

tomcircuit wrote 11/25/2020 at 00:50 point

Ah-ha! Here’s the ticket - a simple circuit to control a PMOS depending on current flow direction - I’ll prototype this soon and add it to the PCB if it works.

i like the LT6003 opamp based approach because of the lower static current (<2uA)  and lower parts count. 


  Are you sure? yes | no

Mike Szczys wrote 11/25/2020 at 15:04 point

Very clever solution there to avoid the efficiency losses!

Love the project... rolling your own replacements for unobtanium rechargeables that never performed all that well with the original chemistry is a huge win. I added this one to the newsletter that's shipping out in two hours.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates