Hi,
your input voltage range is 2.5 ... 3.5V, this makes a difference of 1V
Your output range is 0...5V, this makes a difference of 5V.
Gain = dUout/dUin = 5V/1V = 5
Now you can use a simple non inverting opamp circuit with gain = 5
Lets call the upper (feedback) resistor "RF" and the resistor to GND = "RG"
Now you need to compensate the input offset of 2.5V:
Here you may add a third resistor from -Vin to 5V (i hope this is your VCC). Lets call this pullup resistor = RU.
For gain calculations one must calculate as if RU is in parallel to RG
So the adjusted formula for RF is: RF = (gain -1) x 1/(1/RG + 1/RU) = 4 / (1/RG + 1/RU)
To achieve Vout =0V @ Vin = 2.5V the following formula must be true: RU = 1 / (1/RF + 1/RG)
combining both formula gives RF = RG * 3 / 2
Combining this in one of the above formula gives RU = RG = 0.6
Now i choose RG to be 20k0
then RU = 12k0
and RF = 30k0.
You need an RR output OPAMP, supplied with 0V and 5V.
Keep in mind, that even RR output opamps have a small dropout voltage to the rails.
Klaus