Ok, you can google around and find the basics of the concepts here.

Basically you pass enough current through a thermistor to heat it with about 70 milliwatts, less for a smaller one, just to raise it's temperature by 30 to 60 degrees above ambient.  No need to overdo things.


Then, you measure the ambient temperature.  Might as well use another thermistor although an AHT10 did cross my mind.  


Then, the faster the air flows past the heated (powered, I will call it) thermistor, the smaller the temperature differential between the unheated and the heated thermistor.


However it gets slightly complicated because the resistance of the thermistor changes with the temperature, and thus so does the current that flows through it, the voltage drop across it and thus the amount of heating power.


There are a number of other complications, like radiant heat from the heated thermistor raising the temperature of the unheated one.


Heating of the unheated one because you have to pass a bit of current through it can be mostly eliminated.


One more complicated issue is that the heated thermistor drops a *lot* in resistance when you heat it up, and so if you aren't careful you can overheat it.  But it also has to "fire up" from cold, that is warm up enough to reach a low enough resistance you can put enough power through it.


It took a bit of experimenting with various voltages and current limiting and sensing resistor values, but I think I got something stable, with reasonable safety margins against overheating or other failure modes (it's also possible it could "go out"  if it was quite cold in the area or with very high airflow velocity i.e. enter into a region of higher resistance and lower power from which it cannot escape until the ambient temperature goes up or the airflow rate goes down).

There are many ways you could further improve the device.  For instance, you could reduce the current limiting resistor value and then PWM the powered thermistor so you could "jump start" it if it goes out, or to start it quickly, or whatever, but at the same time pwm it down during normal operation to prevent overheating.  Maybe with a PID controller.


However I tried to keep it simple while meeting my modest needs.  I only need low airflow velocities and so on.  Someone who needs more will have to carry the torch further.  I would like to be able to get funded to do a thorough job to make a really good but cheap sensor but....  There is one published at https://moderndevice.com/en-ca/products/wind-sensor?pr_prod_strat=copurchase&pr_rec_id=8aedf869f&pr_rec_pid=7570784944370&pr_ref_pid=7570785042674&pr_seq=uniform  but you need that amplifier and they don't explain how it works at all so I don't have a lot of confidence in it anyway, and it seems like it's super expensive for some reason.

Seriously, I don't know why Adafruit can't make something in this line, they usually good stuff (although I don't like that they split the community with circuitpython when they could have just contributed to micropython and gotten the same result without splitting the community).  I mean no airflow sensor? seriously?  Who doesn't need to sense aiflow?

I tried to make sense of the physics to make a mathematical model of heat dissipation for a small object and then go backwards from that to determine the airflow.  I got the temperatures  of the thermistors and their power dissipation, that was easy.


However there are many complications like different regions of more or less turbulence, linearity of the ADC, accuracy of the resistors and the effect of heat on them., etc. 


 I was not able to sort things out in the end, and realized I would probably have to calibrate things anyway because it would probably end up pretty crude. 

 So I was planning to just use my little cheap vane anemometer right behind it, write a program and some manual recording of anemometer...

Read more »