diff --git a/py/objbool.c b/py/objbool.c
index 729ffb4..53b2bf8 100644
--- a/py/objbool.c
+++ b/py/objbool.c
@@ -6,6 +6,7 @@
 #include "mpconfig.h"
 #include "qstr.h"
 #include "obj.h"
+#include "runtime0.h"
 #include "runtime.h"
 
 typedef struct _mp_obj_bool_t {
@@ -32,11 +33,24 @@
     }
 }
 
+static mp_obj_t bool_unary_op(int op, mp_obj_t o_in) {
+    machine_int_t value = ((mp_obj_bool_t*)o_in)->value;
+    switch (op) {
+        case RT_UNARY_OP_NOT: if (value) { return mp_const_false; } else { return mp_const_true; }
+        case RT_UNARY_OP_POSITIVE: return MP_OBJ_NEW_SMALL_INT(value);
+        case RT_UNARY_OP_NEGATIVE: return MP_OBJ_NEW_SMALL_INT(-value);
+        case RT_UNARY_OP_INVERT:
+        default: // no other cases
+            return MP_OBJ_NEW_SMALL_INT(~value);
+    }
+}
+
 const mp_obj_type_t bool_type = {
     { &mp_const_type },
     "bool",
     .print = bool_print,
     .make_new = bool_make_new,
+    .unary_op = bool_unary_op,
 };
 
 static const mp_obj_bool_t false_obj = {{&bool_type}, false};
