Chicken house door: use all pins of ESP8266

My progress / steps:

  • I prepared breadboard, all stuff around on table.
  • Connect esp8266 with regular power module to breadboard include stepper motor with driver (Baby steps, one function per step)
  • I am able to turning with stepper on both sides.

Problems:

  • pins / connection.
    -- stepper works perfectly, but I could set it up on pins D1, D2, D5, D6.
    -- But D1 and D2 is for I2C which I would like to use maybe for real time clock module.

When I look on table what pins I can use (when I imagine boot from scratch): D1, D2, D5, D6, D7. Thats not much. When I release D1 and D2 and put stepper on D5, D6, D7, D8 ...I am facing issue that it will not boot because of D8.

And thats just start, I still need space for connect 1 or 2 buttons, 2 sensors and one piezo?

I was thinking to connect all sensors and buttons (inputs) and also piezo (output) on PCF8574 I2C interface, 8-bit parallel. But for that I will need empty i2c (D1 and D2)
Can I put just this i2c module and control all (include stepper over it)?