Spirit level sensor

I work on a ship and we have a very old technology onboard called the "listometer" (list lights) which gives us an idea of how much the ship is listed to either side when we are loading or ballasting. It will indicate roughly 1 degree increments.

I'd like to make an electronic spirit level, from -5 to 0 to 5 degrees with indication lights every 1/2 or 1/4 of a degree. (And later be able to set user defined alarms if a value is exceeded)

From what I have been reading about accelerometers they can be difficult to get resolution below 1 degree.

Would this setup need to be calibrated every time it is powered on? I'd like to mount it directly to ship and only calibrate it once if possible.

Thanks for any help!

Need to write some of your own code:

Each 16-bit gyroscope measurement has a full scale defined in FS_SEL (Register 27). For each full scale setting, the gyroscopes’ sensitivity per LSB in GYRO_xOUT is shown in the table below:

FS_SEL Full Scale Range LSB Sensitivity
0 ± 250 °/s 131 LSB/°/s
1 ± 500 °/s 65.5 LSB/°/s
2 ± 1000 °/s 32.8 LSB/°/s
3 ± 2000 °/s 16.4 LSB/°/s

Looks like “Mode 3” would give a lot better then 1 degree increments.