The Circuit Playground Express can alert via other NeoPixel animations. The design constraint would be how much battery you use over time. You can adjust the NeoPixel brightness in the
set brightness block - even a value of 25 is easily seen.
If you always have a green "good" display and then it turns into a flashing red display, that's alerting. But having the NeoPixels always on will drain battery. Using the animations defined in the LIGHT block group also gives an animated display at the expense of battery power.
You can have a sound alert but this might become annoying. See the first code below. You can always have fun and have it play a tune. In practice, it becomes annoying (and drains battery), so lights are best.
For a person with limited sight, the sound might prove to be a better choice. The light code could be removed to save power and the sound stretched to a longer time.
The code below allows for much longer times without too many pause blocks. This program waits 5 minutes (
300000 milliseconds) and makes a beep if the soil is dry. This may be better for someone who cannot see NeoPixels. Adjust the number of milliseconds in the
while loop to increase or decrease from 5 minutes. Again, the sound should be such that it alerts but does not annoy.