How to convert 5V to 3.3V for all pins of wemos D1 mini when interfacing it with Atmega16?
You need voltage regulator to power this Wemos with 3.3V. That's for sure.
Next check in the documentation - maybe your Wemos is powered from 3.3V but is capable of tolerating 5V inputs? (so called "5V tolerant inputs")? If so then you don't need to do anything.
If not, then For Rx you don't need any conversion of voltages. Because even if Wemos outputs 3.3V for High and 0V for Low signal it will be still properly received by the Atmega.
And for Tx you need to convert voltage. You can use dedicated level shifters (or sometimes called level converters). Alternatively you can use just 2 resistors to make a voltage divider and for this purpose it should be ok.
Instead you can also power Atmega from 3.3V - but see Atmega datasheet to see what is the biggest crystal you can then connect. Because if your Atmega is running from 16MHz crystal, then 3.3V is probably too low for this speed.