In the details, I mentioned the "utility socket" I plan to add to the device.
I'm trying to use only I2C modules and components inside the device. So, there are "a lot" of unused GPIOs.
I plan to use some of these remaining GPIOs in the utility socket :
- UART Tx
- UART Rx
- I2C SDA
- I2C SCL
- 1 digital pin
- GPIO 0
It would allow using "slave modules" with the device, while GPIO 0 and Reset will allow to reprogram it.
For an example, I could plug a I2C Inertial Measurement Unit, or a Serial GPS.
I plan to also use AtTinys and Atmegas coupled with sensors/actuators, as I2C slave devices. This way, I could use some IO absent on the ESP8266 : SPI, hardware PWM, analog... Each slave device will have its own unique address, so the main device could identify it, and run the appropriate function.