Contents
- The Boring Stuff
- What comes in the box?
- Design & Construction
- Size & Measurements
- User Interface
- Modes, Brightness, Throw, & Tint
- Runtime
- Driver & Regulation
- Emitter & Beam
- Switch
- Carry & Ergonomics
- Batteries & Charging
- Competition
- Conclusion
The Boring Stuff
I purchased this light with my own money from Convoy’s official Aliexpress store. Here is the official product page of the exact configuration I purchased, but there are lots of other emitter options with their own listings and duplicates of those with batteries included, so poke around a bit before buying to find the right config for you. Below are the official specs copied straight from the product page.

What comes in the box?
The box is typical of Convoy’s larger lights: thick cardboard that opens like a board game box. There’s a small sticker on the end indicating the model and LED, and a foam cutout on the inside to protect the light during shipping. The only thing in the box is the light itself; no accessories or paperwork whatsoever.
Design & Construction
I think this is one of the best looking hosts I’ve ever seen. I love the design. I’ve wanted a side switch version of M21C with some emitter besides XHP70.2 ever since I reviewed M21C about a year ago, and this is it.
Build quality is excellent. The anodizing is thick and a little bit matte. There’s an anodizing blemish inside the head, but you’ll never even see it unless you remove the reflector. The threads are thick, trapezoid cut, well lubricated, and smooth. The tailcap threads are anodized and mechanical lockout works great, but the head threads are unanodized. Notably, the threads perfectly match the threads on Convoy Z1’s tail.


Size & Measurements
From left to right:
Convoy S12
Noctigon K1
Nightwatch NS59v1
Convoy M21D
Convoy Z1

Measurement | Measured (mm) |
---|---|
Bezel Diameter | 55.0 |
Maximum Head Diameter | 55.0 |
Length | 162 |
Switch Diameter | ~11 |
Switch PCB Diameter | 11.9 |
Switch Proudness | 0.9 |
Lens Diameter | 50.8 |
Lens Thickness | 2.1 |
Reflector Hole Diameter | 11.25 |
Reflector Diameter | 45.8 |
Reflector Height | 39.6 |
MCPCB Size | 20 |
Driver Diameter | 27.8 |
Driver Cavity Depth | 9.6 |
Body Tube Diameter (internal) | 22.1 |
Body Tube Diameter (maximum) | 33.9 |
Body Tube Diameter (mode) | 27.9 |
Body Tube Length | 75.9 |
Tailcap Diameter | 30.0 |
Tailcap Length | 26.9 |
Tailcap End Cavity Depth | 6.2 |
Tailcap End Cavity Diameter | 24.9 |
Driver Diameter | ~28 |
USB Port Width | 13.1 |
USB Port Depth | 7.1 |
USB Port Height | 4.7 |
Weight without battery: 284g / oz
Weight with Molicel P42A battery: 349g / oz
User Interface
This is Convoy’s typical e-switch UI. There’s no one thing that’s wrong enough to be a deal-breaker, but there are a lot of little things that bug me about it and they add up. I strongly dislike the UI
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.
State | Action | Result |
---|---|---|
Off | 1C | On (mode memory, except moonlight) |
Any (except momentary & lockout) | 2C | Turbo (memorized) |
Off | 1H | Moonlight (not memorized) |
Moonlight | 1H | No action |
On | 1C | Off |
On (stepped ramp) | 1H | Change Brightness (L-M-H-T) |
On (smooth ramp) | 1H | Increase Brightness (release & 1H again to lower) |
Any (except momentary & lockout) | 3C | Strobe |
Off | 4C | Momentary mode |
Momentary | 1H | Momentary Turbo until button released |
Momentary | 4C | Off |
Off | 5C | Voltage readout |
Off | 6C | Toggle smooth/stepped ramp |
Off | 10C | Lockout |
Lockout | 10C | Unlock to off |
On (except momentary & lockout) | 1C | Off |
Lockout | 1C | One low blink |
Lockout | 1H | One low blink per second until button released |
What I love about this UI that most others don’t have:
- Moonlight isn’t memorized. Modes should never be memorized if they’re accessed via shortcut.
- A voltage readout. An arbitrary number of blinks is ambiguous, but voltage is not.
The things that bother me and how they should work:
- Turbo is always memorized. It should not be memorized when accessed via shortcut.
- There is no way to go from Turbo back to the mode you were using. 2C should do that.
- The only ways to get out of moonlight are off and Turbo. Hold from moonlight should go to low.
- Holds take way too long (a full second). They should around 1/3 of a second.
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. 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 Molicel P42A battery unless otherwise specified. 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) | CCT | DUV |
---|---|---|---|---|---|
Turbo (100%) | 2050 | 34000 | 369 | 4620 | 0.0010 |
High (40%) | 700 | 11610 | 215 | 4600 | -0.0002 |
Medium (10%) | 240 | 3980 | 126 | 4540 | -0.0011 |
Low (1%) | 16 | 265 | 33 | 4480 | -0.0020 |
Moonlight (0.2%) | 7 | 116 | 22 | 4530 | -0.0029 |
Mode Spacing / Ramp Speed: Mode spacing is not great. Moon and Low are visually indistinguishable. It would be nice if Moon were 1 lumen or less. There’s a large jump from low to Medium too, so Low should brighter, probably around 50-75 lumens. Ramp speed is much faster on the low end than on the high end. Overall it’s too slow, taking four seconds to ramp from end to end, plus the full extra second it takes to actually respond to you holding the switch. For comparison, Anduril takes about half as long to tamp from end to end.
How does it compare to the official specs? Convoy has a nasty habit of listing theoretical LED output before reflector/optic & lens losses. The official lumen output is listed as “2000-2500LM”, so my measurement does technically fit into that window this time. Warmer CCT’s will not be so bright. Convoy should start doing actual measurements, or at least reduce their theoretical output claims by 20% to account for losses in the reflector, optic, and/or lens.
Runtime

Performance: Turbo lasts about 3 minutes before stepping down to high mode. High mode lines up nicely with M21D’s max thermally sustainable output of around 700 lumens.
LVP: When the battery gets low, the light will blink the LED off and back on periodically and step down to Low/Moonlight mode to warn you it’s low. It will also eventually shut completely off to protect the cell around 2.7-2.8V. You can re-activate the light after it’s shut off and it will step down shut off again after a short time. This is a good implementation.
Driver & Regulation
M21D has a few different drivers depending on the LED you choose. Mine came with a 12V 2.5 driver which is well suited for GT-FC40. The tallest component on it sticks out 6.5mm above the PCB. I think a Noctigon K1/DM11 driver could fit in here with a little bit of work. I may try that since I dislike the Convoy UI so much, even though it will eliminate the integrated charging.

Regulation is pretty excellent overall. Higher modes are affected by battery voltage a little bit when it gets low, but not enough you’d notice.
Note: All regulation measurements are taken at turn-on so they do not reflect any thermal or low voltage stepdowns that may occur. A value of 0 indicates low voltage shutoff immediately upon activation.
Thermal regulation: Its present and works OK. Convoy’s thermal regulation isn’t as sophisticated as some other firmware (Anduril) and the thermal limit of 55C is a little too high for my liking, but it’s not unsafe.
PWM: I found no PWM on any mode using an Opple Light Master III.
Parasitic Drain: Fluctuates between ~65 and ~120 microamps. A little higher than I would expect, but no cause for concern. That would still take 4-6 years to drain a fully charged Molicel P42A battery.
Emitter & Beam
M21D is available with a wide variety of emitters. I think the two most compelling options are GT-FC40 (shown here in 4500K) for High CRI & nice tint, and Luminus SFT40 for great throw. Shortly after receiving the light and doing most of my testing, I swapped a 3000K FC40 in because I wanted this 4500K in another light. The beamshots below were taken after that swap. Color temperature will be warmer, but beam profile will be identical.

M21D has a large, deep reflector that’s good for throw. Even with the relatively floody GT-FC40 emitter, it produces a narrower beam with narrower spill that’s got a lot more reach than a smaller light like Noctigon KR1 FC40. It’s a great outdoor beam for walking around. The beamshots below are a little under-exposed, so it looks a bit brighter in real life.





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.





Reddit user u/Omnias-42 prompted me to include some ceilingbounce beamshots to see how well a light can illuminate a room. In the photos below, the lights have all been set to their maximum sustained brightness level and are being shined at the ceiling in the opposite corner of the room. What do you think? Are these shots useful? Should I include them in future reviews? Let me know in the comments on Reddit or BLF.





Switch
M21D uses an electronic side switch. It’s tactile and clicky and requires a normal amount of force to actuate. This is noteworthy, as its smaller siblings M21E & F have switches that are notoriously difficult to press. This switch is easy to find in the dark and easy to distinguish from the rubber port cover on the opposite side.
The switch retaining ring can be easily removed with some snap ring pliers. The PCB isn’t glued down, and there’s a cutout to allow you to fish the PCB through to the inside of the head for driver removal without de-soldering the switch PCB. Neat!
Carry & Ergonomics
The ergonomics in-hand are perfect. It’s comfortable, reasonably balanced, and doesn’t have any weird protrusions or edges. It’s even usable in a reverse grip if you want to do that.
There are no carry methods included. There are lanyard holes on the tailcap if you want to install one. Convoy also sells a nice belt holster for it which works well and has extra pockets on the sides for a spare battery, for example.
Batteries & Charging
M21D uses one 21700 battery. For best performance, you’ll want to use one with a discharge rating of at least 10 amps. I’m using a Molicel P42A for my testing. Unprotected flat top cells will work, but the driver has a brass post instead of a spring for the positive contact. That means that shorter cells (like unprotected flat tops) will flicker when you jostle the light. If you want to use unprotected flat top cells, I recommend picking up these spacers with your order to take up the slack and make the light more reliable. Button tops and protected cells should fit just fine and should be less prone to flickering when the light is jostled.
A USB-C port is is hidden under a rubber cover on the head, opposite the button. This port serves as a way to charge the light, and as a way to use the light as a powerbank for charging other devices. The cover is large and is not the most secure I have seen. In fact, when I was runtime testing the light, I heard a “pop”. Upon further investigation, I realized that the air inside the light heated up and expanded enough to pop the cover open. Needless to say, don’t take this light swimming.
Inside the light there are small red and blue LED’s that are faintly visible through a hole. When charging, the red LED lights up. When charging is complete, the blue LED lights up. When using M21D as a powerbank, the blue LED lights up. Charging a Molicel P42A from LVP cutoff to full took two and a half hours.
Charging compatibility: M21D will only charge from an A-to-C cable. It could work as a powerbank when connected to any of my other USB-C charging lights (including Thrunite TC20 V2 which wont charge from a C-to-C cable except when connected to M21D), but it would not charge my Google Pixel 4A smartphone.
Note: There are multiple driver options for M21D depending on the LED you choose, and I’m not certain that they all contain powerbank functionality.
Competition
Here are some lights in the same class and how they compare.
Convoy M3-C, M21E, & M21F with GT-FC40: All basically the same light as M21D with GT-FC40, but in various different sizes with slightly different beam profiles and a couple of different battery options.
Noctigon DM11: Smaller, fancier UI (Anduril), different emitter options, TIR instead of reflector, no integrated charging, more expensive, RGB aux LED’s, backlit switch, doubles as a cheese grater, reviewed here
Noctigon K1: Larger, fancier UI (Anduril), different emitter options, more expensive, RGB backlit switch, throws further but beam is narrower reviewed here
This section is not comprehensive. If I didn’t include a particular light here, it doesn’t mean it’s bad or doesn’t deserve to be here. I simply cannot list every possible competitor.
Conclusion
Convoy nailed most aspects of M21D. The host is gorgeous. The build quality is top notch. The emitter options are plentiful. The switch is good. Battery support is good. The price is great. It’s even got integrated charging! The only things Convoy didn’t get right here are the weird USB-C compatibility (which I can overlook) and the UI (which I can’t overlook). If you aren’t a UI snob though, this is an easy light to recommend because just about everything else about it is perfect. If you’re like me though and you can’t overlook the bad UI, you may want to look elsewhere.