# Micro:bit V2 operating system

**URL:** <https://forum.makecode.com/t/micro-bit-v2-operating-system/26356>\
**Category:** Show & Tell\
**Tags:** game\
**Created:** [January 26, 2024, 9:08pm UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356 "2024-01-26T21:08:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Xc98](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/xc98/32/13322_2.png) [@Xc98](https://forum.makecode.com/u/Xc98)\
**Post date:** [January 26, 2024, 9:08pm UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356/1 "2024-01-26T21:08:43Z")

</div>

> **[GitHub - Xc987/mbv2-os-js: microbit v2 OS coded in JS](https://github.com/Xc987/mbv2-os-js)**
>
> microbit v2 OS coded in JS. Contribute to Xc987/mbv2-os-js development by creating an account on GitHub.

Micro:bit V2 operating system with programs such as: games, tools, calculator, clock, turtle, bluetooth, creating text / numbers / music / images, billy Text To Speech, Serial / UART, data logging and settings.

You can check all of the features and hex file in the github link.

Any settings will be saved in flash storage and will be kept after restart. If any problems with flash storage extension - reflash the hex file.

---

<div class="post-metadata">

**Author:** ![bsiever](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bsiever/32/1032_2.png) [@bsiever](https://forum.makecode.com/u/bsiever)\
**Post date:** [January 29, 2024, 9:18pm UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356/2 "2024-01-29T21:18:30Z")

</div>

Wow! Interesting project @Xc98 !

I haven’t had a chance to try it, but I thought I’d mention some coding tricks that are sometimes useful:

1. I noticed a big `if-else` with things like `uns = unslist[0] * 10 + unslist[1]`. There’s a clever trick you can do with loops instead (based on [Horner’s Method](https://en.wikipedia.org/wiki/Horner%27s_method)). It’d be something like:

```auto
let uns = 0;
for (let i = 0; i < unslist.length ; i++) {
    uns = unslist[i] + 10*uns
}

```

1. It’s also possible to create shortcuts for some of the other if-statements, like changing the first 7 parts of:

```auto
 } else if (selected_menu == 2) {
            bitmap = sysimages[1]
...

```

to:

```auto
else if (selected_menu <= 8 ) {
            bitmap = sysimages[selected_menu-1]
} else ...

```

---

<div class="post-metadata">

**Author:** ![TestTube](https://avatars.discourse-cdn.com/v4/letter/t/9fc29f/32.png) [@TestTube](https://forum.makecode.com/u/TestTube)\
**Post date:** [February 7, 2024, 12:57am UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356/3 "2024-02-07T00:57:32Z")

</div>

Can you post the link in a Micro Bit program, please? Whenever I try to import the project into the program, it says ‘Network request failed, it appears that you are offline’, so I can’t open the project. If anyone could shed some light on this, I would greatly appreciate it!

---

<div class="post-metadata">

**Author:** ![Xc98](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/xc98/32/13322_2.png) [@Xc98](https://forum.makecode.com/u/Xc98)\
**Post date:** [February 8, 2024, 9:54pm UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356/4 "2024-02-08T21:54:45Z")

</div>

> **[MBV2-OS JS-V10](https://makecode.microbit.org/41408-59205-73005-58875)**
>
> Made with ❤️ in Microsoft MakeCode for micro:bit.

There ya go

---

<div class="post-metadata">

**Author:** ![BlueMoon2607](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bluemoon2607/32/17370_2.png) [@BlueMoon2607](https://forum.makecode.com/u/BlueMoon2607)\
**Post date:** [June 4, 2025, 5:00pm UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356/5 "2025-06-04T17:00:13Z")

</div>

Your Github link leads to nowhere…

---

<div class="post-metadata">

**Author:** ![Xc98](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/xc98/32/13322_2.png) [@Xc98](https://forum.makecode.com/u/Xc98)\
**Post date:** [June 5, 2025, 7:01pm UTC](https://forum.makecode.com/t/micro-bit-v2-operating-system/26356/6 "2025-06-05T19:01:08Z")

</div>

I have long moved from making projects on the microbit, the previous makecode link is the last version i have, any updated versions are lost.

I did start on making a completely new version rewriting the entire project, but i found out that on my only v2 microbit the B button was often not responding and few pins were not working, lost motivation and abandoned the project.
