LuxLibre › Lights › EDCO Mini v0.1
On this page: Against the best 60 mm keychain lights · Specifications · Light and runtime · Using the light · How it is built · Electronics · Cost · Drawings and animations · What has been checked · Open points before the first order · Files
EDCO Mini is the small sister of EDCO v0.2: a sealed keychain light of about 70 mm, made to beat the best 60 mm keychain lights on light, throw, battery and water. It comes in two sizes:
| EDCO Mini-16 | EDCO Mini-14 | |
|---|---|---|
| Cell | one 16340 (Vapcell INR16340 T6, 650 mAh) | a made-to-order Ø14 × 35 mm high-rate LiPo cell (about 400 mAh) |
| Body / head | Ø20 / Ø22 mm | Ø17 / Ø19 mm |
| Length | 73.5 mm with the keyring tab | 69.4 mm |
| Versions | Mini-16 (no magnet) and Mini-16M (two magnets in the end of the tail tab) | Mini-14 and Mini-14M |
Both run a Luminus SST-20 LED behind a TIR optic, with red and UV side lights, a keyring tab at the tail with an obround hole for a split ring or a lanyard, and a waterproof USB-C socket on the side of the head. The M versions add two magnets flush in the end of the tab; the plain versions have none. There is no laser and no radio.

Render made from the design files.
Status: concept (v0.1). The housing of both sizes is modelled in CadQuery and checked for fits, walls and interference. The firmware has the side lights and a board header for each size, and the light output is simulated with the LuxLibre simulator. The circuit boards are not drawn yet, and nothing has been built or measured. Every light figure on this page is simulated or estimated.
The Mini-16 is the main design. No high-drain cell of the Mini-14’s size (Ø14 × at most 37 mm) is sold today: the Mini-14 needs a cell made to order (see open points).
The benchmark is RovyVon’s small keychain lights of the current (G4) generation: the A4 Pro (titanium), A9 Pro (copper), A3 Pro (aluminium) and A8 (polycarbonate, with side lights). They share one light engine: an SST-20 behind a small optic and a sealed 330 mAh LiPo cell. Measured figures come from independent reviews; where none exist, the maker’s claims are used.
| 60 mm benchmark | EDCO Mini-16 | EDCO Mini-14 | Mini-16 | |
|---|---|---|---|---|
| Light at switch-on, out of the front | 608 lm measured (A3 Pro), 650 lm claimed | 944 lm | 978 lm | better |
| Light at 30 s | 416 lm measured (A3 Pro), 381 lm (A9 Pro) | 944 lm | 978 lm | better |
| Light at 10 min | 119 lm measured (A3 Pro) | about 230 lm | about 195 lm | better |
| Peak intensity / throw | 3,241 cd, 114 m measured (A9 Pro) | about 11,000 cd, 210 m (estimate) | about 5,600 cd, 150 m (estimate) | better |
| Battery | 330 mAh, sealed | 650 mAh (950 mAh with the Vapcell T9) | about 400 mAh (made to order) | better |
| Runtime at about 115 lm (medium) | 1 h 44 min (measured, falling from 118 to 67 lm) | 2 h 38 min (113 lm all the way) | 1 h 37 min (117 lm) | better |
| Runtime at about 20 lm (low) | 6 h 22 min measured | 13 h 15 min | 8 h 8 min | better |
| Runtime from the brightest mode | 1 h 13 min (High, measured; about 100-120 lm after the first minutes) | 1 h 7 min (about 230 lm after the first minutes) | 51 min (about 195 lm) | about the same time, twice the light |
| Moon | 0.25-0.5 lm, 72 h claimed | 1.4 lm, 47 h | 1.4 lm, 29 h | worse (see open points) |
| Charging | USB-C, 45-58 min measured | USB-C at 1 A, about 55-60 min (estimate) | USB-C at 0.5 A, about 55-60 min (estimate) | about the same |
| Water | IPX6 claimed (IP65-IP66 on some pages) | IPX8 target, not tested | IPX8 target, not tested | better (if the test passes) |
| Side lights | A8 only: UV 365 nm, red, warm white; UV for 100 min (claimed) | UV 365 nm and red; UV for about 2 h 10 min | UV 365 nm and red; UV for about 1 h 20 min | same colours, no white; longer UV |
| Magnet, keyring, lanyard | clip-on magnetic tail piece, magnetic clip, keyring loop at the tail | a flat tab at the tail with an obround hole for a split ring or a lanyard; M version: two magnets flush in the tab’s end | the same | magnets built in; no clip |
| Size | 60.5 × 15.6 mm (63.8 mm with the tail magnet) | 73.5 × 22 mm | 69.4 × 19 mm | worse |
| Weight | 17.6 g (A8), 24 g (A4 Pro, titanium), about 40 g (A9 Pro, copper) | about 54 g (estimate) | about 33 g (estimate) | worse |
The Mini-16 is better on everything except size, weight and moon runtime. The size and weight are the price of twice the battery and a body that can hold about 230 lm for a long time. The moon runtime can be fixed in the firmware.
The Mini-14 wins on light, throw, low runtime and water, but its made-to-order cell is only a little larger than the benchmark’s. It runs about as long at medium and less long from its brightest mode.
Sources for the benchmark: 1lumen A3 Pro G4 (608 / 416 / 119 lm, 3,025 cd, runtimes, 58 min charge), the zeroair.org review of the A9 Pro, June 2023 (571 / 381 lm, 3,241 cd), Battery Junction A4 Pro G4 (650 lm, 2,500 cd, 330 mAh, 60 mm, 24 g, IPX6, high to 80 lm within a minute), the budgetlightforum.com thread on the titanium A4 Pro (63.8 mm with the magnet, Ø15.5).
![]() |
![]() |
|---|---|
| Front. Crenellated bezel, three fins, the TIR optic. | Port. The waterproof USB-C socket sits in the head’s wall; the plug rests on the head. |
![]() |
![]() |
| UV side light. 365 nm, out of a clear rod in front of the button. | Red side light. Out of the second rod; the button’s membrane glows as the indicator. |
![]() |
![]() |
| Tail. The round tube bevels down to a flat tab; the split ring or a lanyard goes through its obround hole. | M version. The same tab, with two magnets flush in its end: the light stands on steel. |


| Item | EDCO Mini-16 | EDCO Mini-14 |
|---|---|---|
| Size | Ø20 body, Ø22 head × 73.5 mm (with the keyring tab) | Ø17 body, Ø19 head × 69.4 mm |
| Aluminium parts (body, bezel, head insert; from the CAD) | 23.4 g (M: 23.1 g) | 16.1 g (M: 16.0 g) |
| Whole light (estimate) | about 54 g, of which the cell about 20 g | about 33 g, of which the cell about 10 g |
| LED | Luminus SST-20-W Gen 2, 6500 K, on a 16 mm copper DTP board | the same on a 12 mm board |
| Optic | LEDiL FA10887 TINA-RS for XP-E, Ø16.1 × 9.7 mm, 13° with an XP-E (fit over the SST-20 dome to be checked) | Carclo 12079 10 mm IP66 spot, flange Ø12.5 mm, about 6 mm tall; 89 % and 23° with an XP-G |
| Turbo (simulated) | 2,850 mA: about 1,110 lm at the LED and 944 lm out of the front with the LED at 85 °C; about 10 % more in the first seconds with a cool LED | 2,850 mA: about 1,110 lm at the LED, 978 lm out of the front |
| Throw (estimate) | about 11,000 cd, 210 m: 10 cd per LED lumen assumed, from Carclo’s 10 mm figure scaled by the larger aperture | about 5,600 cd, 150 m: Carclo’s 5.0 cd/lm with an XP-G |
| Cell | Vapcell INR16340 T6: 650 mAh typical (580 minimum), 6 A, Ø16.5 × 34.0 mm flat top (claimed). For longer runtimes: Vapcell T9, 950 mAh, 3 A (set BAT_MAX_MA to 2100: turbo then about 800 lm) |
made to order: high-rate LiPo, Ø14 × 35 mm, about 400 mAh and 4 A (estimate) |
| Driver | the EDCO v0.1 / FlashKa v0.7 power stage: TI TPS62095 4 A buck in the LuxLibre current loop (TLV333, 20 mΩ sense), DW01A + SE8830A protection | the same |
| USB-C | waterproof vertical SHOU HAN TYPE-C 16PFS LTH7.45 (LCSC C3020055, IPX8 by its name), axial, in the side of the head; its own seal ring seals in the hole | the same |
| Charging | 1 A: TI BQ24050 (2 × 2 mm, LCSC C2859551) instead of the TP4057; about 55-60 min (estimate) | 0.5 A, about 55-60 min (estimate) |
| Side lights | UV: Nichia NVSU233B-U365 (365 nm, 3.5 × 3.5 mm), about 250 mA from the cell (roughly 0.35-0.4 W of UV at the LED; it falls as the cell runs down). Red: a 2.0 × 1.6 mm power LED, about 150 mA. Each shines through a clear rod: fused quartz for the UV, PMMA for the red | the same |
| Button | Ø6.5 mm stainless cap on a sealed, glowing membrane (halo indicator), Alps SKRKAEE020 | Ø5.8 mm cap |
| Keyring, lanyard | a flat tab at the tail, 10 mm thick, with an obround hole 3.2 × 10 mm through it. A split ring of at least about 14 mm across (checked in the CAD with a 16.8 mm ring of 0.8 mm wire) or a lanyard cord goes through it | an 8.5 mm tab with a 3.0 × 8 mm hole; a ring of at least about 12 mm (checked with 12.8 mm) |
| Magnets (M version only) | two supermagnete S-05-02-N52N, Ø5 × 2 mm, N52, about 680 g pull each on thick steel (rated), flush in the tab’s end face with opposite poles out | two S-04-02-N, Ø4 × 2 mm, N45, about 420 g each |
| Water | IPX8 is the target, not tested. Seals: the optic gasket, the face O-ring of the head insert, the button membrane, the USB-C socket’s seal ring, the two bonded light rods | the same |
| Firmware | LuxLibre, board edco-mini-16 |
board edco-mini-14 |
LuxLibre simulator runs with each size’s board header: 25 °C still air, a full cell, the default profile, and 10 mA for the electronics while the light is on. Lumens are out of the front, with the LED at 85 °C.
| EDCO Mini-16 | EDCO Mini-14 | |
|---|---|---|
| Turbo | 944 lm, full for 45 s (the turbo timer); 56 s with the timer off | 978 lm, full for 33 s (the temperature regulator) |
| High (1.5 A) | 578 lm for 150 s | 599 lm for 93 s |
Sustained (temperature regulator, THM_LIMIT 48 °C) |
about 230-240 lm after 5 min (a dip to about 180 lm at 2-3 min), body at most 47.1 °C | about 195-215 lm (a dip to about 170 lm), body at most 46.8 °C |
| Turbo from a half-full cell, at 30 s | 837 lm | 840 lm |
| On a 35 °C day | full turbo for 26 s, then about 90-170 lm, settling at about 140 lm; body at most 47.9 °C | 14 s, then about 80-140 lm, settling at about 120 lm; 47.8 °C |
| Runtime from turbo to the ANSI end point | 67 min | 51 min |
| Medium (244 mA, 113-117 lm) | 2 h 38 min | 1 h 37 min |
| Low (40 mA, 18-19 lm) | 13 h 15 min | 8 h 8 min |
| Moon (3 mA, 1.4 lm) | 47 h | 29 h |
| UV side light (1 W from the cell, kept constant in the simulator) | about 2 h 10 min | about 1 h 20 min |
THM_LEAD 10). With the default 4 s, it swung between 70 and 330 lm in these bodies.cd firmware
make sim BOARD=edco-mini-16
build/luxsim-edco-mini-16 --preset board "2C W8000000" # turbo, then until empty
build/luxsim-edco-mini-16 --preset board --set MEMORY=0 --set MODE_1=104 "1C W30000000" # medium
Modes layout (as EDCO):
Over USB (the LuxLibre console):
SIDE_RED and SIDE_UV set the brightness of each side light. SIDE_UV 0 turns the UV off for good.BLINKY adds beacon, SOS or strobe after the battery check.UV safety: 365 nm is invisible but not harmless. Do not look into the UV window, and do not shine it into anyone’s eyes.

From the front to the tail:

| EDCO v0.1 | EDCO Mini |
|---|---|
| SST-20 Gen 2 on a 10 mm board, LEDiL LISA3-RS-PIN | the same LED on a 16 mm (Mini-16) or 12 mm (Mini-14) board, LEDiL TINA-RS / Carclo 12079 |
| TPS62095 driver, 2,850 mA, DW01A + SE8830A | unchanged |
| TP4057 at 500 mA | 1 A charger, TI BQ24050 in WSON-10 2 × 2 mm (LCSC C2859551; low stock); its CHG and PG pins go to the HAL’s two status inputs, and its enable pin to CHG_SET (to be confirmed when the board is drawn). A linear charger at 1 A makes about 1.3 W of heat in the first half of the charge |
| waterproof USB-C on a tail board, 4-wire flex | the same kind of socket on the main board, in the side of the head; no tail board, no flex |
| RGB indicator under a light pipe | RGB LED under the button’s membrane (halo) |
| (none) | side lights: UV through a P-MOSFET on GPIO9 (on when low; the strap pin’s pull-up keeps it off at reset), red through an N-MOSFET on GPIO10 |
| ESP32-C3FH4, RT9080, NTC | unchanged |
The firmware gains side lights for every board that sets LX_HAS_SIDE:
SIDE_RED and SIDE_UV parameters, pocket protection and switch-off on an empty
cell or overheating;hal::set_side() in every port, with two LEDC channels on the ESP32-C3;There is no workbook yet. The Mini has the same parts count as EDCO v0.1 less the tail board and flex, plus two side LEDs, two rods and, in the M version, two magnets; its metal parts are smaller. Roughly 650-750 USD for one light, about 220-250 USD each for five, all fees, shipping and VAT included (estimate).
![]() |
![]() |
|---|---|
| Turning. Mini-16M: the side-light windows, the button, the USB-C socket and the tail tab with its split ring. | Coming apart. Bezel, optic, LED board, head insert, button parts and light rods, main board, cell, body with magnets. |
![]() |
![]() |
|---|---|
| Mini-16 body: PDF, DXF | Mini-14 body: PDF, DXF |
The M body is drawn. The plain body is the same without the two magnet pockets (item 9 on the sheet). The drawings are A3 sheets at 2:1, made from the same parameters as the STEP files by hardware/tools/edco_drawings.py. Each has the outline, a section, the end views and a feature table with tolerances, and every dimension on it is checked against the solid (check report). The animations are made by hardware/tools/edco_anim.py. All of them are renders and drawings of the design: nothing has been built yet.
All numbers are in cad/edco_mini_interface.json, written by tools/housing/edco_mini.py.
| Path | What |
|---|---|
| cad/ | for each version (EDCO_Mini-16_*, EDCO_Mini-16M_*, EDCO_Mini-14_*, EDCO_Mini-14M_*): the body and the assembly as STEP; the bezel and head insert once per size (plain thread diameters) |
| cad/edco_mini_interface.json | sizes, walls, fits, masses, the thermal split and the interference check of both sizes |
| cad/EDCO_Mini-16_body_drawing.pdf, EDCO_Mini-14_body_drawing.pdf (and .dxf, .png) | the body drawings (A3, 2:1; the M body, with the magnet pockets marked) |
| tools/housing/edco_mini.py | the CadQuery model (sizes in SIZES, common dimensions in class P): python3 edco_mini.py ../../cad --size both |
| tools/housing/edco_mini_render.py | the renders: xvfb-run -a python3 edco_mini_render.py ../../assets (uses the FlashKa v0.7 renderer) |
| ../tools/edco_drawings.py, ../tools/edco_anim.py | the drawings and the animations of all EDCO designs: python3 hardware/tools/edco_drawings.py, xvfb-run -a python3 hardware/tools/edco_anim.py (from the repository root) |
| ../../firmware/boards/edco-mini-16/, edco-mini-14/ | the firmware board headers, each with the thermal model for the simulator |
Licences as for the rest of LuxLibre: hardware CERN-OHL-W-2.0, firmware and tools GPL-3.0-or-later, this page CC-BY-SA-4.0 (LICENSING.md).