Introduction: [3D Print] 30W High Power Handheld Lantern

About: Passionate Maker

If you are reading this, probably you've seen one of those Youtube videos showing DIY extremely powerful light sources with huge heatsinks and batteries. Probably they even call this "Lanterns", but I always had a different concept of lantern: something portable and easy to carry.

This is why I've been working on this project for many months now, and I would love to share here the result of many different design iterations. Not as powerful as 100W, water-cooled LED, but way more portable and usable!

Note: In the video is not possible to see how powerful this lantern is because it's recorded with a phone. Believe me, it's really powerful.

So enough talking! Let's start this project!

What do we need?

  1. A 3D printer (working one, if possible!) (Mine is on Supplies list, if anyone is interested. Super good results and cheap price)
  2. All the supplies in supplies list
  3. Patience (It will take around 12 hours to print all the parts)
  4. A soldering iron (don't worry, it will be pretty minimal soldering. I've designed it to be accessible to almost everyone) [I will add a link in supplies to a cheat, decent one that will do it for this project)
  5. A multimeter
  6. Basic Arduino usage knowledge
  7. Basic electronics knowledge (basic circuits and how to use a multimeter)


Working with electronics and with Li-ion batteries has always an associated risk. If you don't know what you are doing, please learn a bit about it before continuing this tutorial. I'm not responsible of any damage.

And as always, if you like this projects and want to contribute, you can make a small donation to my
Bringing those projects to you requires 3 to 4 times the item price, so this could help me bring you more projects :)


Most components came in big packs, so the average price of the lantern is actually not that high, ~30€.
You can reuse most for other projects (including my other coming soon projects!)


Components (Average Price 48€ if you need all components [Depends on shipment cost]):

  1. 3x 10W LED (select White Copper, 10W, amount 3)
  2. 4x Li-io 18650 batteries (select 4PCS for better price)
  3. 1x 1S BMS MicroUSB - Any individual 18650 charger will serve
  4. 1x 2S BMS with balancing function (Select 2S Li-ion 15A Balance)
  5. 1x Roll of soldering tabs
  6. 1x High Power Buck Converter (overdimensioned for safe long term usage)
  7. 1x 8mm Push Button
  8. 3x 20Kohm resistors (This is the cheapest pack I've found) - You could find them in a local store for about some cents. Any resistor for PULL_DOWN will serve
  9. 8x M4x6mm screws (Select M4, 6mm Full Thread)
  10. 7x M3x14mm screws (Select M3 16mm Full Thread) - These are the ones I've used, but you could try shorter length if you have some laying around.
  11. 2x M5x12mm screws (Select M5 12mm Full Thread) - These are the ones I've used, but you could try shorter length if you have some laying around.
  12. 1x Arduino Nano (includes cable) - Any small Arduino will serve
  13. 2x XT-60 connector (Select 5 Pairs Male + Female)
  14. 1x Soldering PCB
  15. 1x Micro Voltage Booster 12V (for FAN and Arduino powering)
  16. 3x MOSFET IRFZ44N (1 of them is optional, for efficiency purposes)
  17. 1x 50x56mm Heatsink (this is a 2x pack, but cheapest than most other offers)
  18. 1x 50x50x10mm 12V FAN
  19. 1x Roll of reflective tape (I found mine in a local store, I hope this one is good enough)
  20. Some sandpaper, depending on your 3D Printer tolerances (Everything is designed to fit, but you never know) - But you better buy this in a local hardware store, if you can)
  21. 1x Fresnel Lens (The only one I've found with decent price) (optional, to focus light in smaller angle)
  22. 2S battery charger (select 8.4V 2A) - Any 8.4V charger will serve
  23. 2m x 14AWG wire (Select 14AWG 1M Black + 14AWG 1M Red)
  24. 2m x 20AWG wire (Select 20AWG 1M Black + 20AWG 1M Red)
  25. (Optional) 3Pin Screw Connectors
  26. (Optional) 2Pin Spring Connectors
  27. 4x 8x3mm Magnet (select the minimum amount available)
  28. 1x Thermal Paste

And of course, you can check the whole Instructable first and decide whether you want to suppress or modify anything.

And the list of cheap tools (Any other with similar capabilities will serve):

  1. Solder Tin (select 0.6mm, 100g)
  2. Solder Iron
  3. Multimeter
  4. Ender 3 3D printer (At the time I write this Ender 5 (mine) is so expensive, but Ender 5 is highly capable too)

Step 1: What You Will End Up With

That's it. A "quite compact" yet powerful lantern with removable 2S2P battery (don't worry if you don't know what 2S2P is, more on that later), removable lenses and configurable output power, with about 1h of battery at max throttle or 10h at minimum power, with a single battery charge.

And the best of all: it's completly made by you. You probably already know how satisfactory that is!

Step 2: 3D Printing - Global Overview

You will find all files in Thingiverse:

What you have to print:

  1. MainBody.stl: This part holds the LED's, heatsink, fan, the light collimator and the lens holder.
  2. Handler.stl: This is where the Push button will be attached, the battery holder will be screwd into and the electronics will fit into. It's screwed into MainBody.stl.
  3. BatteryHolder.stl: This part serves for quick attach - detach the battery, to make them easily swapable. It contains two magnets to keep the battery in place and the XT-60 male connector.
  4. Collimator.stl: This is meant to reflect the light in a certain contained angle, just because a 180º light angle is quite useless for a lantern. You will have to cover all the inside with reflective tape.
  5. LedsHolder.stl: A thin 3D part that holds the LED's in place, in a certain angle.
  6. HeatsinkSupport_1.stl: Meant to hold the heatsink with certain preassure to the LED's, so they can refrigerate. You'll need 2 of them.
  7. HeatsinkSupport_2.stl: As the other HeatsinkSupport, but for the other axis. You only need one of those.
  8. LensHolder.stl: Meant to hold the lenses in place.
  9. BatteryBody.stl: The main body of the battery. Fits tightly into BatteryHolder.stl.
  10. BatteryCap.stl: The upper part of the battery. Contains two magnets that holds the battery in place with the BatteryHolder magnets, and the female XT-60 connector.

And that's it! It could seem a lot of parts, but most of them will take less than an hour to print.

Step 3: Electronics - Global Overview

Okey, so now, let's work on the brain and muscle of this project.

This was designed to be done by anyone, even with 0 electronics knowledge, so let me explain everything for that 0 knowledge people. But of course, the most you know, the easiest it will be.

What do we need?

As our 3 12V LED's will be connected in series, we need a power supply that delivers 3*12V = 36V. Our battery, though, only delivers a max of 8.4V. How do we rise that voltage? Simple: Using a Voltage Booster.
The one selected for this project is a regulable voltage booster. You plug your battery into the IN terminals and simply adjust the included potentiometer until you get 36V on the output. Quite easy!

Now, the FAN and the Arduino needs more voltage than what the battery offers, but less than what our main Voltage Booster delivers (Around 12V). Solution? Another Voltage Booster! (But this one, micro)

Next, output power control + fan control: for this we will be using an Arduino Nano and it's PWM output capabilities. (Don't know what PWM is? Here you have some info: )
But as Arduino Nano can only handle 5V max and we need to PWM 36V, we are gonna use a MOSFET. If you don't know how this component works, don't worry, just follow my step-by-step and everything will work just fine!

And finally, user input: We will be using an 8mm push button plugged into our Arduino through internal pull up resistor to modify the output PWM signal.

That's it :)

Step 4: Electronics - Preparing All Wires

Cut cables at the following sizes:

2x 15cm thin wire(1 red, 1 black)
2x 20cm thin wire (1 red, 1 black)
3x 2.5cm thick wire (1 red, 1 black)
2x 5cm thinwire (any color)
2x 8cm thin wire (any color)

For each of those cables, peel the tips (about 5mm) and presolder them.

Step 5: Electronics - Battery Pack

First of all, for each of the 4 batteries, identify positive and negative side using the multimeter (You know, put red terminal on one side, black on the other side, and if the multimeter displays a positive number, red side is positive, black negative. Otherwise, if the multimeter displays a negative number, black is positive, red is negative). (See pic 2 & 3)


Now, you have to fully charge all batteries using any 18650 charger. In our case, our cheap TP4056. Connect a red wire into BAT+ and a black wire into BAT- (those wires are not contemplated in previous step). (See pic 4)

Then, solder this cables with a tiny tip of tin into each one of the cells (all, but one by one), red to positive, black to negative. Let them charge until the charger LED's tell you it's full. Desolder the cables, solder in to the next one, and repeat. (It could take some hours depending on how discharged they are. Use this time to prepare next steps and 3D print everything!)

Now, with all 4 batteries fully charged, we will connect 2-by-2 in parallel, and each pack of 2 parallel in series with the other.

How to connect them in parallel? See third picture. Do you see how my batteries are connected? Connect 2-by-2, negative to negative, positive to positive, with two pieces of soldering tabs. Make sure with the multimeter that each cell has the exact same voltage, to avoid any possible damage to the cells.

And now, following the last picture, connect the negative side of one of the 2-parallel packs to the positive side of the other. Just one side! The other must be left free.

Step 6: Electronics - Battery Cables + BMS + 3D Case

First, solder a 9cm thin wire to the metal plate that connects the two batteries in series (Picture 1).

Then, connect a black 2cm thick wire to the negative terminal of the opposite side, one thick red 2cm wire to the positive terminal, as in the second picture.

Following the third picture, connect the red thick wire to the B+ terminal of the BMS, black thick wire to the B- terminal, and thin wire to the center terminal of the BMS, like in the image.

Now, to the P+ and P- terminals of the BMS, connect again 2cm thick wires and those, to the + and - of the XT-60 connector (the male one, the one that is a hole with two golden pins inside) , like in picture 4. I've used some hot glue to keep everything secure and isolated.

It's time to get our 3D printer case and check if everything fits in place. XT-60 connector must fit inside the rails (maybe you need a bit of sanding to the connector to remove the extruded + and - signs and keep the connector flat). (Pic 5)

When everything fits nicely, put two magnets in the cap of the case. Polarity does not matter. You just will have to match the opposite polarity in the battery holder.

Then hold everything in place with electrical tape and add two thin cords to the batteries like in the pictures 9, 10 and 11. Those will help us remove the battery when connected to the battery holder. You could use whatever cord or material you like. I wrapped mine across the battery to avoid exerting to much force to 3D part.

Finally, put the 4 M3 screws in, and your battery is ready to go!

My XT-60 connectors were to tight and I had to press the golden pins with a pair of pliers so that the male-female pair slides in and out without too much force.

Step 7: Assembly - Battery + Battery Holder

This is an easy step.

Print the BatteryHolder.stl file and check that your battery slides in easily. Otherwise you will need some sanding to smooth the walls of your prints. (But not too much, they must fit tightly)

Then, insert the two magnets facing the opposite polarity of the battery so that they attract.

Insert the XT-60 female connector in place (it could need a bit of sanding too. It must fit really tight), make sure that the battery slides in easily and hold it in place with some glue. The less deep you put the connector, the easier it will be to put and remove the battery.

And last, solder 2 thick 6cm wires (red + black) and 2 thin 8cm wires (red + black) to the XT-60 terminals like in the pictures. Reds to positive, blacks to negative.

Step 8: Electronics - Voltage Boosters

With the Battery and Battery Holder in place, connect the 2 thick wires to the big voltage booster. Red to IN+, Black to IN-.

Then, plug the battery inside the battery holder and with the help of the multimeter, adjust the screw of the Voltage Booster until the voltage between OUT- and OUT+ reaches exactly 35.5V.

Get the small voltage booster and connect it to the output of the big one. GND to the big OUT-, IN+ to the big OUT+.Then measure the voltage between VO+ and GND of the small one using the multimeter. Turn the small screw until that voltage reaches around 12V.

That's it! You have your boosters ready to work!

Step 9: Electronics - Preparing Arduino

First, connect the Arduino to the computer trough the USB and push the attached sketch (LanternCode_8steps_fan_decay.ino) .

Then, solder the 4 wires shown on the picture (about 6cm each):

D11 will control LED's intensity, D10 will control FAN intensity and D5 and GND will serve as INPUT for the push button.

If curious, the code I've wrote is quite simple:

It has 8 different levels of power, switchable cyclically from less to more power by pushing the switch.
If you hold and press for more than 800ms, and then release, the lantern will start blinking at the current power.

The fan will start working at ~1/3 of the max power, but at a proportional speed to make it less noisy at lower power. After you power it off or reduce the power to less than ~1/3 (first 3 power steps), the fan may continue working for a while to keep the heatsink cold and ready for the next high power usage (we are using a quite small heatsink for the power, so it can become quite hot)

Step 10: Electronics - Soledering Power Distribution Board

First, place all components like in the first picture. You'll have to bend MOSFET legs. It's important that the thick black body of the MOSFET looks upwards, and to keep everything small.

Now, cut the extra PCB with a knife, as adjusted as possible. Mark it with the knife and bend it gently until it breaks though the mark.

Check that everything is in place again, and prepare to solder the board like in the third image. The actual circuit diagram is in fourth image, in case it's not clear enough.

Its's important to solder the shown resistors between left and right legs of the MOSFETs. I've used two 20Kohm resistor, but you could use any near value.

TIP: if you place the board in a certain angle it's easier to get tin to follow that angle (use gravity in your favour)

Step 11: Assembly - Building the Focus

First, print the Collimator.stl and the insides with reflective tape. There is actually no good way to do this. Just cut the tape in small pieces to cover it all.

Then, print the LedsHolder.stl and put the LED's on top, tightly. Solder the cables as in the diagram to connect them all in series and let 2 30cm wires soldered in one of the LED's. Cover the terminals with tape to avoid a shortcircuit in the HeatSink.

Print and attach the HeatsinkHolder_2.stl to the Heatsink. It should fit tightly.

Apply thermal paste to the LED's and push them to the heatsink, passing the cables though hole of the HeatsinkHolder_2.

Attach the other two HeatsinkHolder_1 to the heatsink and screw all the pieces together with 4 M3 screws.

Print MainBody.stl and attach the fan to the bottom using M3 screws, as shown in pic 7.

Pull the FAN + LED wires though MainBody's bigger hole and insert the focus inside the body, like in last picture.

Step 12: Assembly - Building the Handler

Print the Handler.stl file and prepeare 1xM3 screw and 2xM5 screws.

Then, insert the push button into its hole.

That's it for this step. Simply, yep?

Step 13: Electronics - Finishing Up

Solder another thick 5cm wire to the OUT- of the big voltage booster, like in the first image.

Then, connect this wire to the right-most screw terminal of the Power management board as in second pic.

Connect LED's black wire to the middle screw terminal and the positive to the OUT+ of the big voltage booster, like in pic 3.

Solder Arduino VIN to the large left wire attached to Vout of the small voltage booster, and Arduino GND to the remaining black wire soldered to the XT-60, like in pic 4.

Connect FAN red wire to the Arduino VIN (= small voltage booster Vout, both cables together to VIN), and the FAN black wire to the left-most screw terminal of the power management board, like in picture 5 (my red fan wire is actually black, sorry ^.^)

Connect Arduino D10 to the left-most spring terminal and D11 to the right-most spring terminal like in pic 6.

And finally...

Insert the BatteryHolder inside the Handler making sure no wires get trapped and all electronics are well positioned inside. There is not too much space, but it should be more than enough if everything is correctly organised. You should tape every exposed solder or wire to avoid shortcircuits.

Solder the two left free wires of the Arduino to the Handler push button. It does not matter which cable to which terminal of the button. It will work anyway.

And that's it! Make sure the cables are well fitted inside the remaining space so no one touches the fan!

Step 14: Assembly - Final Attach

You should have all electronics fitted inside the Handler like in the first image.

Use the hole above the push button to wrap the pass the wires through without touching the fan.

Put the 3 screws that hold everything together (2x M5, 1x M3) like in second picture.

Insert the top lens holder and attach into it the Fresnel Lens (Mine hasn't arrived yet. Will update with an image when it arrives).

Put the 8 M4 screws, 4 in the top, 4 in the bottom and...

The project is completed! Congrats!

Step 15: Enjoy Your New Super Powerful Lantern!

It was a really long journey to this lantern prototype, searching components and modeling all 3D prints, adjusting tolerances, etc.

So, if you liked this project feel welcome to comment with your suggestions and comments!

See you! =)

First Time Author Contest

Participated in the
First Time Author Contest