As with any DIY project (electronics or otherwise), you are responsible for the pain and suffering your creations may cause you, as well as the inevitable existential crises they will have once you gift them the curse of sentience.
This is a horribly fun DIY project for a portable hand warmer.
I have received feedback that the heat is just perfect for direct-skin contact relief of period pain if you follow my instructions here, though your mileage (≈kilometreage?) may vary.
The model comes with a place for a two-pin rocker switch, and cable strain relief to prevent the insides from getting scrambled if you tug on the USB cable powering the heater.
The problem I've had with battery-powered handwarmers is two-fold:
The battery and the heating elements occupy the same housing. You can see where this is going. You chef-Ramsay the battery when you use it, you get fast degradation.
Running out of battery = no heating. When you reach for a heater, you probably need it, if it runs out of battery, you're out of luck unless you have another heater lying around. I have more power banks than dedicated battery-powered heaters.
This project solves those two problems: Run out of battery? Just swap the power bank for another generic USB-A equipped bank, and you're ready to continue. The heating also happens far from the batteries powering it.
I have plenty of things without a purpose I have incorporated into this project.
I happened to have an assortment of resistors I haven't used in 7 years; I also have leftover thermal paste from a PC build (1 year?); and I also had a mini-USB cord I had no use for (probably 10 years old); and I have generic two-pin rocker switches I have also not found a use for (7 years old). Oh, and I also have ABS filament that I've had lying in my room for 6 years, patiently waiting for the day I decided I want to breathe in the pleasant fumes ABS is known to emit during printing.
The thermal paste goes bad if left unused, and I had no other use for it, so this prevents it from going to waste. Also, the metallic element is a common by-product, a lid from canned food.
This all counts up to a upcycling score, κ (Kappa), for "Keeper's Coefficient" (or the Keep-it-just-in-case Constant).
κ = ∑(t unused) κ = 7 + 1 + 10 + 7 + 6 κ = 31 Shelf-Years
This is generally considered a respectable number.
You will need
9 x 150 Ω resistors
9 x 100 Ω resistors
A common 307 can lid (~85 mm inner diameter)
Safety Can Opener / Smooth Edge Can Opener for getting the lid (see Assembly below for why)
A generic two-pin rocker switch.
A USB-A cable
Tin and soldering iron.
(Leftover) thermal paste
5 x M3x10 screws (3 mm wide screws, 10 mm long)
5 x M3 nuts.
I have provided a Fusion 360 file, and a STEP file, the model is parametrised, so if your lid has a slightly different diameter, or your switch / USB cable are different sizes, you can try to modify the corresponding parameters and hope the model doesn't disappear from this existence.
The switch appears to be what I found by Googling "aliexpress 2-pin electric rocker switch"
I suggest using ABS/ASA/PETG for the housing, as the heater will... heat. PLA will likely warp once you start using the heater.
I printed without supports, using the 0.25 mm Speed profile on the MK4S 0.4 mm HF nozzle.
I highly suggest against using the generic can openers that cut the lid off.
You should use a Safety Can Opener/Smooth Edge Can Opener, as these simply uncrimp the seal of the lid, instead of cutting the lid and leaving sharp edges. See the image below. You also need a can with a 307 lid (mine has 85 mm inner diameter), I got one from a tuna can.
If you hoven't even heard of these can openers, I recommend checking the incredibly interesting video by Technology Connections about these can openers below. I had no idea I owned one of these until I watched the video.
This is what the lid looks like after removing it with the safety can opener:
Cut off the pull tab if present, I did this with side cutters.
I decided to place the resistors on the side of the outward-facing side of the can lid, as it has a lip around it, which would make it difficult to apply this side to the object you wish to warm up.
The surface of the outward-facing side of the lid has a thin plastic coating. Proceed at your own peril, you don't want to overheat it during assembly/operation, just to be safe, as it might release gasses, hence why I've chosen moderate resistances and use it with USB-A 5V outlets.
Use e.g. a needle file to scrape away at it to expose the metal beneath, but only do this for a small region, keep reading to find out why. If you solder tin onto it, it should stick if the coating is properly scraped off (assuming the lid is e.g. steel and not aluminium).
I decided the safest route is to use the can lid material for the ground of the power supply (power bank). Hence, you want to only scrape the parts where you will solder the second leg of your resistors. The other leg should lay against a part with plastic coating on it, so you don't short the resistor legs together.
Obtain a cable with a USB-A connector at one end, cut the other end, and identify the live and ground lines.
I decided to first place the 9 x 150 Ω resistors as shown below, uniformly distributed to ensure even heating of the lid. First, I soldered just the ground legs to scraped areas of the lid, so all 9 ground legs are electrically connected through the lid material under the plastic coating.
You can then trim off the excess ground legs.
Make sure your live legs have enough length for as many of them to be soldered together, the rest will be connected by strands of wire at the end. You can see I have three groups of interconnected live legs.
Then, add thermal paste beneath the resistors to affix them to the lid for better coupling of the generated heat to the lid.
Then, you can find another useless electrical cable, or snip some of the one you already have, and bridge together the remaining live-leg gaps as below. I needed only two cables as I had three interconnected groups
It is at this point that I realised that these resistors would not provide enough heat.
So, I decided to add 9 more resistors, this time 100 Ω instead of 150 Ω, one under each of the 150 Ω resistors.
Now, you may want to test the heating power of your lid. You can connect the live wire from your USB-A cable to any one of the live resistor legs, and scrape a bare-metal part for the ground wire. Then connect the USB-A side preferably to a lab power supply set to 5V, with current-limiting abilities, or if you're brave enough, directly to a 5V USB-A outlet of a power bank.
Then, once you're done testing, and satisfied with the heating power, place the lid into the 3D-printed bottom plate, disconnect the live of the USB-A cable from the resistors, and connect it to one pin on the electrical switch, and the other pin of the switch to any one of the resistor live legs.
Next, guide the cable along the wavy part of the bottom plate seen in the image above. This is strain relief for the cable, and once you place the top lid on it, it should lock the cable in place, so that if you tug on the cable, it should not destroy the advanced electronics inside.
Then, place the five M3 nuts into the inserts the on the bottom plate
Then, you can attach the top plate with the five M3x10mm screws, making sure the cable does not get snagged, but you properly guide it along the wavy strain relief path.
Now, tug on the USB-A cable a little bit; it should not easily move in or out of the hole in the casing, if it does, the cable guide path is too wide, modify it in the .f3d or .step file through the relevant parameter.
That's it!
The author marked this model as their own original creation.