Version 1.0

A project log for TritiLED

Multi-year always-on LED replacements for gaseous tritium light sources

Ted YapoTed Yapo 06/11/2016 at 23:480 Comments

The Good Stuff

TritiLED V1.0 is released under a CC-BY-SA License. See the license file in the zip packages for details:

The design uses SMT parts, and although most of them can be hand-soldered, I don't think you can mount the LED without reflowing the board. Version 1.1 will allow mounting alternate (cheaper and hand-solderable) LEDs. Currently $2.76 of the parts cost is for the LED.

Here's what it looks like top and bottom (sans case):


I built the first prototype in the Spring of 2015 with through-hole components and an ultra-bright cyan LED I purchased on ebay. I use this to read at night (not comfortably) when I don't want to wake my spouse. Here it is still running on the original battery over a year later (the CR2032 coin cell is underneath). I added the mirror so you could see the LED and the construction in one image.

The design was inspired by a long-dead chip, the LM3909, which used a single-shot flying-capacitor DC-DC converter to flash an LED from a 1.5V cell. Here's a beacon I made c. 1998 using that part and the brightest LED I could find at the time. I think I've replaced the battery twice (the current one "expired" over two years ago) . It flashes once every few seconds - I got lucky with this picture.


Here's the V1.0 schematic (there's an additional 0.1μF capacitor on the board; populating it is optional). Like the LM3909, this circuit is a simple charge pump that charges C1 up to the battery voltage, then connects C1 in series with the battery to (almost) double the voltage applied to the LED. Q1 switches the high side, while four PIC output pins are paralleled on the low side. During charging, these four pins are driven high, while GP0 is driven low to charge C1. The LED current is around 100mA for the pulse, and is limited by the semiconductor IV curves and parasitic resistances in the components.

The run time can be estimated with back of the envelope calculations as follows: the circuit consumes around 26μA at 3V. A CR2032 cell is rated for 225 mAh, yielding around 8,600 hours, or 360 days. In practice, you get a bit longer, because as the cell voltage drops, so does the device current. The original prototype has now been running over a year on the same cell. I'll include some more detailed information in a log about estimating efficiency and run-time.

Efficiency can be marginally improved by using a high-gain, low-Vce(sat) transistor at Q1. I've listed two alternatives in the BOM, along with the increased value for R1 this allows. I've tested all three transistors (2N4403, FMMT718TA, and DSS20200L), and I'm not sure the expensive ones are worth the cost in this case.

The capacitors are large to keep the voltage swings low; this raises efficiency. The well-known capacitor paradox illustrates that charging a capacitor all the way wastes half the initial energy; keeping the charge/discharge depth low wastes correspondingly less. Also, the capacitors are significantly de-rated: 10V caps in a 3V circuit. This is to overcome the tendency of ceramic capacitors to show reduced capacitance with applied voltage.

The LED is a cyan Luxeon Z (LXZ1-PE01). I chose this LED for two reasons besides its overall efficiency. First, its peak output is very close to the dark-adapted (scotopic) eye sensitivity peak at 507nm - ideal for illumination in very dark conditions. After 20 minutes or so of dark-adaptation, this LED becomes noticeably brighter compared with other colors. Other Luxeon Z LEDs (listed in the BOM and others) can be substituted. The LXZ1-PM01 green version is particularly interesting - the 530nm peak falls in between the scotopic (507nm) and photopic (555nm) human eye sensitivity peaks - this is a good trade-off for markers intended for mesopic (low light) vision. Other colors (e.g. red, blue) will light on the board, but they make inefficient visual markers. The second reason for choosing this LED series is the nominal current rating of 500mA. Efficiency typically drops when LEDs are over-driven (even pulsed), so this should be more efficient than over-driving a 20mA LED with the 100mA pulses. I need to build a photometer to measure the overall efficiency.


The code is trivial. Here it is (also in the zip file):

;;; tritiLED.asm : PIC12F508 code for CR2032-powered 1+ year LED glow marker
;;;  4/23/16 adapted from earlier version c. 5/15 TCY
    LIST        P=12F508
#include    <>
        ORG     0
        movwf   OSCCAL          ; update OSCCAL with factory cal value
        movlw   b'001000'       ; GP0, GP1, GP2, GP4, GP5 outputs
        tris    GPIO
        movlw   b'11010000'     ; WDT minimum time (18ms)
        movlw   b'000001'       ; GP1/2/4/5 L, GP0 H -> discharge capacitor    
        movwf   GPIO
        movlw   b'110110'       ; GP1/2/4/5 H, GP0 L -> charge (sleeping) 
        movwf   GPIO
        goto    MAIN_LOOP

After setting up the output pins, the code enters a loop blinking the LED for 3μs, then sleeping (charging C1) until the watchdog timer (WDT) wakes it 18ms (nom.) later. The approximately 55 Hz blink rate is noticeable, especially in motion, but tolerable. It actually seems to enhance visibility in peripheral vision when moving relative to the marker.


The PIC12F508 supports in-circuit serial programming (ICSP), but this design doesn't. This means that the SOIC-8 part has to be programmed before soldering on the board. For my prototypes, I bought an SOIC-8 socket at Adafruit, and hooked it to my PICkit3 programmer:

You can also order pre-programmed parts from DigiKey or directly from Microchip by supplying them the hex file. The setup fees are $50 at DigiKey and $29 at Microchip. I went through the initial process with Microchip - uploading the hex file, choosing the part, and selecting to go through the "verification" process. Four days later (still no setup fee paid), three sample programmed parts arrived via FedEx, with labels and everything (that's one of them on the purple board above). Now that's customer service! (Please don't abuse the free programmed samples - I really do intend to order some :-)

Next Up