Close

Updates

A project log for Why I built an LED luminosity tuner

It's annoying to guess at the brightness of an indicator when calculating for an LED.

charlie-kimCharlie Kim 05/07/2026 at 16:110 Comments

UPDATES:

5/3/26  -     Software update: 

Show resistance as 1% E96 values available on the market.  

Implemented 96 value array was saved to flash (free up RAM)

const int E96_TABLE[] PROGMEM = { 100, 102, 105, 107, 110, 113, 115, 118, 121, 124, 127, 130, 133, 137, 140, 143, 147, 150, 154, 158, 162, 165, 169, 174, 178, 182, 187, 191, 196, 200, 205, 210, 215, 221, 226, 232, 237, 243, 249, 255, 261, 267, 274, 280, 287, 294, 301, 309, 316, 324, 332, 340, 348, 357, 365, 374, 383, 392, 402, 412, 422, 432, 442, 453, 464, 475, 487, 499, 511, 523, 536, 549, 562, 576, 590, 604, 619, 634, 649, 665, 681, 698, 715, 732, 750, 768, 787, 806, 825, 845, 866, 887, 909, 931, 953, 976 };

The measured resistance is converted to 100's value and is compared with a switch case to next highest value.  Then the value is changed back to show the correct decade. 

5/5/26 -   Implemented 14 bit oversampling of the 10 bit ADC.  It brings the current resolution from 35uA to 2.2uA. I had a lot of math overflow issues to contend with, have had to use 32bit UL casting to ensure no overflow. 

Discussions