Sofirn SD02B – Budget Dive Light


The Boring Stuff

Sofirn sent me this light in exchange for an honest review. Here is the official product page where it’s available with or without a battery & charger, and in 3 different color temperatures. It’s also available on Amazon where (at the time of writing) there’s a 30% off coupon. There’s also this Reddit post from Sofirn where you can ask for an additional 20% off code. That takes the price down to just over $20!

It appears to be identical to Wurkkos WK20S, just with a different LED and one less mode. There was an SD02A in the past (now discontinued & removed from Sofirn’s site) that had one more mode and a CREE XPL 3000K LED, but was otherwise identical to SD02B.

What comes in the box?

The box is typical from Sofirn. It’s plain, thinner cardboard with a small foam pad on the bottom and a bubblewrap sleeve to protect the light. The following items are included in the box:

  • The light itself
  • Battery (inside the light)
  • USB A-to-Micro cable
  • Basic bay-style charger
  • Big lanyard
  • User manual
  • Spare o-rings

Design & Construction

The light is very smooth with no knurling or texturing really. There are lots of facets in the head and tailcap, both of which flare out a bit.

Build quality is good, as I’ve come to expect from Sofirn. They’re particularly good at making smooth threads and this is no exception. They’re anodized and well lubricated. There’s a beefy spring in the tailcap held in a cavity by its own tension. I can’t find any complaints with the build quality. Everything is glued together besides the tailcap to prevent water ingress. I don’t usually like when lights are glued shut but it absolutely makes sense here.

Water Resistance: SD02B is officially IPX8 rated down to 100 meters. I performed a submerged runtime test for a little under an hour and a half with no ingress.

Size & Measurements

Convoy M1 | TN12 V4 | TN12 Pro | Sofirn SD02BNoctigon KR1

Below are the measurements I was able to get. Almost everything on this light is glued together for water resistance, which makes it not very mod-friently.

MeasurementMeasured (mm)
Bezel Diameter40.0
Maximum Head Diameter40.0
Switch Diameter6.8
Switch Proudness2.7
Body Tube Diameter (internal) 19.0
Body Tube Diameter (maximum)25.0
Body Tube Diameter (mode)25.0
Tailcap Diameter30.9
Tailcap Length38.0
Included Battery Length66.6
Included Battery Diameter18.5

Weight with included battery: 225g

User Interface

This is a super simple user interface that’s easy for anyone to pick up and understand.

The actions are # of presses followed by a hold (H) or a release (C). So, “1C” is one click and release. “2H” is two clicks but you hold down the last one.

Off1COn (Mode Memory)
On1CCycle Mode (L-M-H-T)

I appreciate the simplicity of the UI and I don’t think you need (or want) anything more complicated for a dive light. I would have liked on/off to be the same action though instead of one being a click and one being a hold. Ideally, 1C would work for on and off, then 1H would be used to cycle modes.

The benefit of 1C for on and 1H for off is that anyone can pick up this light and figure it out how to use it with no instruction. Click the button: it turns on. Click it again: it changes mode. Click it a few more times: it just keeps changing modes instead of turning off, so I guess I’ll try holding the button down. Hold the buttin: it turns off. Now you’ve figured out the whole UI in a few seconds with zero instruction.

Modes, Brightness, Throw, & Tint

Disclaimer: Lumen measurements were taken on a Texas Ace 3.5″ Lumen Tube. A candela measurement was taken at 10 meters with an Opple Light Master III on the highest brightness, and other candela figures were calculated relative to that. CRI, CCT, & DUV data was taken for each mode from a few feet away at the center of the hotspot with the Opple Light Master and Waveform DUV Calculator. Runtime tests were performed with the Ceilingbounce app on my smartphone. All of these tests were performed with a fully charged included battery unless otherwise specified. I cannot measure moonlight directly, so moonlight readings are calculated based on the brightness relative to the next-lowest mode. None of this is professional equipment, so take all of these measurements with a grain of salt.

Level Lumens (@ Turn-On)Candela (@ Turn-On)Throw (meters)Color TempTint (DUV)

Mode Spacing: Mode spacing is fine. It feels like 3 modes would have been plenty but a 4th one doesn’t really get in the way. It’s kind of nice that you can just click through them super fast instead of having to hold the button and wait.

How does it compare to the official specs? All my measurements are all very close to official specs, all within the margin of error for my equipment. The official specs are accurate.

Runtime & Regulation

Performance: Turbo lasts for several minutes before a big thermal stepdown when in air. Underwater it runs as bright as it can until the battery gets low, and the light never got warm. High mode is still quite bright for a little over two hours. Medium is respectably bright for over six hours.

Regulation: Based on these graphs (particularly the cooled Turbo graph) it’s clear that SD02B is poorly regulated. Brightness is directly affected by cell voltage.

LVP: is present and works great. There are low voltage warning blinks and a final low voltage shutoff.

Thermal regulation: Is present and works well. You can see that in the uncooled Turbo test, brightness drops after a few minutes when the light gets too hot. Oddly, High mode displays no thermal stepdown despite bright brighter than Turbo for most of the runtime. The light didn’t get alarmingly hot during the High runtime test.


Based on my testing I believe this is a basic, unregulated FET driver that utilizes PWM to modulate brightness. The body tube is glued to the head to keep it water tight, so I was unable to get any good photos of the driver itself.

PWM: No PWM is visible to my eye. I did some testing on each mode with an Opple Light Master III and found fast flickering on all modes. Low, Med, and High definitely have PWM. The flickering on Turbo isn’t PWM but it still might show up on camera or something. None of it is audible.

Parasitic Drain: 45 microamps, which should take over seven years to drain the included battery.

Emitter & Beam

Sofirn chose to use a Samsung LH351D emitter in this light. It’s a nice, efficient, high CRI option and they offer it in 3 different color temperatures: 5000k, 4000k, and 2700k. It’s a fine LED and it’s a great choice here.

CRI (Ra): I measured 95 CRI with my Opple Light Master Pro.

The beam is fairly clean with no significant artifacts in the main parts of the beam. There are some flower petals in the corona but they’re not significant. The hotspot is delightfully well defined and there’s not much tint shift to speak of. However, there are some significant rings outside the spill. They don’t affect the usability of the light.

Unfortunately I don’t have a great way to take underwater beamshots so open air beamshots will have to suffice.

Sofirn SD02B | LH351D 5000K

In the beamshots above, the trees where I’m aiming the hotspot are 175M away. In the beamshots below, the park bench where I’m aiming the hotspot is 42M away.

Sofirn SD02B | LH351D 5000K


SD02B uses a magnetic side switch. The switch has a little magnet in it and there’s a hall-effect sensor in the head of the light that senses when the magnet moves. That helps keep the electronics nicely sealed inside. It doesn’t click like a normal switch. There’s no tactile or audible actuation, it just bottoms out or tops out. There’s quite a bit of travel; 3.5mm to be exact. Interestingly, I can wave another magnet over the switch and the light will respond by turning on or changing modes. Neat!

Carry & Ergonomics

SD02B feels good in-hand. There’s no texturing but I can still get a decent grip on it. The size is good and my thumb lands right on the button.

Only one carry method is included: a big lanyard. It appears to be made of paracord and has a thick rubber tube over part of it. I’m not sure what it’s for. There’s also a tightener to help cinch the lanyard down on your wrist.

Tailstand: works great. The flared tailcap actually makes it quite stable. Unfortunately there’s only one lanyard hole on the tailcap though instead of two, and the lanyard is very thick, so having the lanyard installed will preclude tailstanding.

Batteries & Charging

Sofirn optionally includes an unprotected, button top, 18650 battery with SD02B. It’s the same cell Sofirn includes with a dozen or two other models. It’s not great but it’s perfectly adequate for this light and is worth the $3 upcharge to have it & a charger included.

Charging is facilitated by a small, basic, single-slot, bay-style charger. It’s got a Micro-USB port for input and has a bright red/green indicator LED on top. Red means charging. Green means fully charged. It took just under 4 hours to fully charge the cell so it’s not particularly fast. It stopped at 4.22V which is a tad high, but not dangerous. It truly stops charging and does not continue trickle charging, which is good.


I’m not particularly familiar with the diving light market, but I plugged in some of SD02B’s features into Parametrek and it seems that Sofirn (and Wurkkos, by extension) largely dominates the budget dive light market. There are a few other players but their offerings are not nearly as bright and are more expensive. Almost none of them are high CRI.


Sofirn has produced a super affordable dive light package with great performance here. If you’re a really serious diver I imagine you’ll want to get something fancier and a lot more expensive, but for the average Joe wanting an affordable light to take diving, or just to take into a really wet environment, this is an excellent choice.

Thanks to Sofirn for sending me this light for review!