# Scanning Barcodes and QR Codes

· Barcode is wide adopted in our daily lives, they are found on various products.

· QR Codes are used for data exchange or cashless shopping.

### Scanning Barcodes and QR Codes

<figure><img src="https://kittenbothk-eng.readthedocs.io/en/latest/_images/mcbanner.png" alt=""><figcaption></figcaption></figure>

#### **Loading Extensions**

Search "KOI" in the search bar.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/koi_search.png" alt=""><figcaption></figcaption></figure>

Or copy and paste the following link to the search bar.

**<https://github.com/KittenBot/pxt-koi>**

Blocks for reading codes:

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/014.png" alt=""><figcaption></figcaption></figure>

#### Sample Program

{% embed url="<https://makecode.microbit.org/_gckdFPXUEgto>" %}

### Program Flow

Download the program to the Micro:bit.

1. Point the KOI at a Barcode and press A on the Microbit, the content of the Barcode will be shown on KOI’s screen.
2. Point the KOI at a QRCode and press B on the Microbit, the content of the QRCode will be shown on KOI’s screen.

### Advanced Program

There may not be enough time to read the contents if we show it on KOI, to improve readability, we can connect an OLED screen.

#### Connecting an OLED

Connect an OLED panel to the I2C port of your Robotbit/Armourbit.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/03-1.png" alt=""><figcaption></figcaption></figure>

#### Sample Program

{% embed url="<https://makecode.microbit.org/_bXFegEPx6Vv7>" %}

### Sample Code

[1. Scanning Barcodes and QR Codes (Extension0.5.7)](https://makecode.microbit.org/_bUKY6cULX7E8)

[2. Scanning Barcodes and QR Codes /w OLED (Extension0.5.7)](https://makecode.microbit.org/_9VxF5J8Tu3kD)

[Bar Code & QR Code Sample](https://bit.ly/KOIBarAndQRCodeSample)

### Extension Version and Updates

There may be updates to extensions periodically, please refer to the following link to update/downgrade your extension.

[Makecode Extension Update](https://kittenbothk-eng.readthedocs.io/en/latest/Makecode/makecode_extensionUpdate.html)

### FAQ

#### 1: There is no reaction after pressing the buttons on the Micro:bit.

· A: This is because KOI has a longer boot time than Micro:bit. When the power is turned on, Micro:bit has already ran the code for KOI initialization before KOI is ready.

· Solution: Reset your Micro:bit after KOI has been turned on. (The trick is to let KOI power on completely before initialization.)

#### 2: Does KOI work with 3V input?

· A: No, KOI only works with 5V.

#### 3: KOI fails to recognize my Barcodes/QR Codes.

· A: Make sure the width of the code is at least 3.5cm and the code is entirely within the camera’s view.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sharinghub-eng.kittenbot.hk/airelated/koi/koimc/codescan.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
