UPDATES:
5/3/26 - Software update:
Show the true values of 1% resistors available on the market - next highest 1% E96 value.
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. Then the value is changed back to show the correct decade.
5/5/26 - Reconfigured the hardware dimming circuit, improved dimming, it now gets into the nA range now. To compensate I've increased sampling to get 14 bit resolution. That gives me 2.2uA resolution. We are now running into the limits of what the potentiometer can do and it's own resistance. Practically, we are able to measure down to about 10-30 uA. Had a lot of math overflow issues to contend with, have had to use 32bit UL casting to ensure no overflow.
5/6/26 - Schematics and layout updated for the next generation of design. The device is now becoming a precision instrument.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.