Arduino Nano - power saving options?

Hello all,
Firstly apologies if this is in the wrong section, I did try to find one that suits what I am looking to-do.

I have an Arduino Nano being driven from a 9v battery (the typical square battery). I am driving a small oled screen, Humidity sensor, Temp Sensor & RTC, however at the moment the battery doesn't last very long. I was hoping to find some advice out about how I can reduce the Arduino's power consumption and generally extend the life of the battery as much as possible.

any help would be really appreciated.

Some options:

  • Remove the power led from the Arduino
  • Reduce refresh rate of the screen
  • Just use a small part (because an oled used more current the more pixels are on)
  • Switch to a switch mode regulator
  • Don't leave the screen on all the time
  • Put Arduino to sleep

But I don't think putting the Arduino to sleep will gain you much. I think the screen is using most of the current. So if that must be on then the only options are the top 4. But yeah, a 9V block doesn't hold that much energy...

This won't sound very helpful, but don't use a Nano, don't use an oled and don't use a 9V battery! None are great for low power projects.

I would suggest an lcd display that can be read without a backlight, an attiny and battery pack for 3 or 4 AAA or AA batteries (rechargeable). Or a li-ion battery, if you have a suitable charger.