Here's a circuit i've designed for measuring approximate current flowing through a mosfet. I have a uC that has no ADC, it only has a comparator and an internal bandgap reference voltage. So i can't just connect the drain to an ADC input and divide the voltage by Rmosfet.

The line marked "PWM" is not actually a PWM signal. It's just a regular high/low and starts off low, comparator disabled, DIO is high-Z. First,
1) DIO goes high & charges the cap for 500uS. So now Vcap = ~0.025v. Then
2) DIO goes high-Z, the comparator is enabled & PWM goes high long enough for the comparator to sense the voltage, then
3) comparator disables, PWM goes low
While the PWM was high, the drain voltage is
Vdrain = Icoil * Rds (0.033ohm). Suppose Icoil = 3A, then Vdrain = .099v
The comparator voltage then is
Vcomparator = Vdrain(~.099v) + .7 + Vcap (0.025v)
If Vcomparator(~0.824v) < Internal Bandgap Voltage (1.12v), then repeat at step 1 and increment Vcap by 0.025v
Eventually (after incrementing Vcap 13 times) Vcomparator > 1.12v, at which point i'll know that Vdrain = 1.12 - (.025 * 13) - .7 = 0.095v so
Icoil = 0.095 / 0.033 = ~2.88A which is close enough for my purposes.
My question is, is there any other way to rough measure Icoil with fewer components? I'm using 2 Rs, 1 cap & 1 diode. My circuit board is so damn tiny i'm having trouble fitting those 4 components.

The line marked "PWM" is not actually a PWM signal. It's just a regular high/low and starts off low, comparator disabled, DIO is high-Z. First,
1) DIO goes high & charges the cap for 500uS. So now Vcap = ~0.025v. Then
2) DIO goes high-Z, the comparator is enabled & PWM goes high long enough for the comparator to sense the voltage, then
3) comparator disables, PWM goes low
While the PWM was high, the drain voltage is
Vdrain = Icoil * Rds (0.033ohm). Suppose Icoil = 3A, then Vdrain = .099v
The comparator voltage then is
Vcomparator = Vdrain(~.099v) + .7 + Vcap (0.025v)
If Vcomparator(~0.824v) < Internal Bandgap Voltage (1.12v), then repeat at step 1 and increment Vcap by 0.025v
Eventually (after incrementing Vcap 13 times) Vcomparator > 1.12v, at which point i'll know that Vdrain = 1.12 - (.025 * 13) - .7 = 0.095v so
Icoil = 0.095 / 0.033 = ~2.88A which is close enough for my purposes.
My question is, is there any other way to rough measure Icoil with fewer components? I'm using 2 Rs, 1 cap & 1 diode. My circuit board is so damn tiny i'm having trouble fitting those 4 components.