Having code that is organized as blocks or objects opens the door for other possibilities. As the ESP32-Cam project progressed, the use of the I2C protocol from the current sensor led to the widening of the project scope. Among the current sensor were several shelved I2C protocol sensors. The hardware was already available, all that need to be done was merge its code base into the firmware development.
Only a barometer sensor was added, which included a thermometer. The sensors that weren’t added due to limited sampling rates were a gyro, compass, and microphone. The code base of the barometer sensor was evaluated then edited into its working block code. From there it was merged into the main development code base and tested.
Everything came together much easier this way versus starting the development process all over again. Some challenges will still face the development phase. Having a sensor requires the environment that it senses. The ESP32-Cam project was not exempt from this due to where the bench testing of code occurred. The main purpose of the project was to log GPS data. Unfortunately, the GPS data reception never worked indoors and at the workspace. This required the need for a mockup to mimic the GPS sensor, which will be covered in the next section.