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
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.