{
  "$schema": "robofaults-fault-record/v0",
  "kind": "error",
  "brand": "roomba",
  "page_en": "https://robofaults.com/roomba/error-31/",
  "page_es": "https://robofaults.com/es/roomba/error-31/",
  "code": "31",
  "slug": "error-31",
  "device_type": "vacuum",
  "name_en": "Internal software error",
  "name_es": "Error interno de software",
  "badge": "ERR 31",
  "severity": "warn",
  "severity_note_en": "mission interrupted; a restart clears most cases",
  "severity_note_es": "misión interrumpida; un reinicio resuelve la mayoría de los casos",
  "series": [
    "i",
    "s"
  ],
  "tools_en": "none",
  "tools_es": "ninguna",
  "time_min": 5,
  "difficulty": "easy",
  "safety": "none",
  "safety_note_en": "",
  "safety_note_es": "",
  "meaning_en": "Error 31 means an <b>internal software error</b>. Press CLEAN and the mission usually restarts fine. If it nags, reboot the robot. Error 31 that keeps returning after that points at firmware trouble — call support.",
  "meaning_es": "El error 31 significa un <b>error interno de software</b>. Pulsa CLEAN y la misión normalmente se reanuda sin más. Si insiste, reinicia el robot. Un error 31 que sigue volviendo después apunta a un problema de firmware — llama al soporte.",
  "causes": [
    {
      "title_en": "One-off software fault",
      "title_es": "Fallo de software puntual",
      "detail_en": "An internal process stumbled once. A mission restart is the whole fix.",
      "detail_es": "Un proceso interno tropezó una vez. Reanudar la misión es toda la reparación.",
      "likelihood": "most_common"
    },
    {
      "title_en": "Firmware state gone stale",
      "title_es": "Estado del firmware corrupto",
      "detail_en": "Long uptime without a reboot can leave the robot's software in a bad state.",
      "detail_es": "Mucho tiempo encendido sin un reinicio puede dejar el software del robot en mal estado.",
      "likelihood": "common"
    }
  ],
  "steps": [
    {
      "title_en": "Press CLEAN",
      "title_es": "Pulsa CLEAN",
      "detail_en": "Restart the cleaning mission and watch whether the error returns.",
      "detail_es": "Reanuda la misión de limpieza y observa si el error vuelve."
    },
    {
      "title_en": "Reboot the robot",
      "title_es": "Reinicia el robot",
      "detail_en": "Hold CLEAN until the light ring swirls white, release, and let it finish booting.",
      "detail_es": "Mantén pulsado CLEAN hasta que el anillo gire en blanco, suelta y deja que termine de arrancar."
    },
    {
      "title_en": "Call support if it keeps coming back",
      "title_es": "Llama al soporte si sigue reapareciendo",
      "detail_en": "Persistent error 31 after reboots is an internal fault iRobot needs to look at.",
      "detail_es": "Un error 31 persistente tras varios reinicios es una avería interna que iRobot debe revisar."
    }
  ],
  "parts": [],
  "related": [
    "15",
    "21"
  ],
  "sources": [
    {
      "label_en": "iRobot Support — i Series, Error 31",
      "label_es": "Soporte de iRobot — Serie i, error 31",
      "url": "https://homesupport.irobot.com/app/answers/detail/a_id/19489",
      "kind": "official"
    },
    {
      "label_en": "iRobot Support — s Series, Error 31",
      "label_es": "Soporte de iRobot — Serie s, error 31",
      "url": "https://homesupport.irobot.com/s/article/21048",
      "kind": "official"
    }
  ],
  "confidence": "official",
  "last_verified": "2026-07-05"
}