# What's Jacdac?

<br>

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

Jacdac is an open source hardware/software platform developed by Microsoft for programming electronic components. It emphasizes modularity, allowing different electronic elements to be plug-and-play (Plug and Play). With Jacdac’s modular design, users can quickly prototype and explore creative ideas, making electronic programming more accessible and user-friendly. The flexibility and powerful extensibility of Jacdac also contribute to its popularity.

### [Microsoft Jacdac Website](https://microsoft.github.io/jacdac-docs/)

### Microsoft Jacdac and Kittenbot

![](https://kittenbothk.readthedocs.io/en/latest/_images/banner.png)

Jacdac supports various controllers, including computers, smart devices, Arduino, and Raspberry Pi microcomputers. In the realm of Micro:bit and electronic component design and support, Kittenbot has become an official partner of Microsoft. They collaborate to design and develop Jacdac modules compatible with Micro:bit and other controllers.

#### [Microsoft Official Website: Jacdac and MakeCode](https://medium.com/@jacdac/jacdac-for-makecode-and-the-micro-bit-887291d60f3c)

#### [HacksterIO: Microsoft partners with Kittenbot for Jacdac](https://www.hackster.io/news/microsoft-kittenbot-launch-the-first-jacdac-standard-microcontroller-kits-and-software-apis-9faec87abe70)

![](https://kittenbothk.readthedocs.io/en/latest/_images/130.png)

### Jacdac and Micro:bit

To program Jacdac modules, users can easily use MakeCode with Micro:bit V2, which already includes support for Jacdac modules via an extension plugin.

![](https://kittenbothk.readthedocs.io/en/latest/_images/311.png)

It’s important to note that Jacdac is a new standard, so users need to use hardware that adheres to the Jacdac specifications. Currently, Kittenbot is the sole producer of Jacdac kits.

![](https://kittenbothk.readthedocs.io/en/latest/_images/kit_full.png)

By connecting a Micro:bit to a Jacdapter, users can add Jacdac interfaces to their Micro:bit projects.

![](https://kittenbothk.readthedocs.io/en/latest/_images/jacdapter1.jpg)

### Why Jacdac?

Let’s delve into more details about Jacdac. Before developing Jacdac, Microsoft consulted educational institutions and hardware manufacturers. They identified several challenges with existing Micro:bit extension hardware:

1. **Difficulty finding suitable programming blocks**: Users had to search for specific plugins for each extension hardware, making the process cumbersome.
2. **Inconsistency between different plugins**: Various manufacturers had their own plugins, leading to confusion.
3. **Lack of hardware support in simulators**: Users couldn’t see real-time feedback while writing code.
4. **Complex connection methods**: Existing connectors were engineer-oriented and not suitable for students.

To address these issues, Microsoft designed Jacdac with specific features:

**Unified plugin**: All Jacdac hardware uses the same official plugin, regardless of the manufacturer or hardware type. This simplifies finding appropriate programming blocks.

![](https://kittenbothk.readthedocs.io/en/latest/_images/212.png)

**Standardized hardware design**: Jacdac not only defines a protocol but also sets hardware standards. All Jacdac devices must adhere to consistent circuit board sizes, current ratings, safety standards, and connector designs. The standardized connector uses an anti-reverse insertion cable, streamlining wiring.

![](https://kittenbothk.readthedocs.io/en/latest/_images/4.gif)

**Simulator support**: Jacdac modules can be simulated within MakeCode, allowing code testing without physical hardware.

![](https://kittenbothk.readthedocs.io/en/latest/_images/510.png)

Additional features of Jacdac include:

* **Strong expandability**: Each Jacdac module can be daisy-chained to another, enabling nearly limitless expansion.

![](https://kittenbothk.readthedocs.io/en/latest/_images/67.png)

* **Online hardware programming**: MakeCode supports online Jacdac hardware programming. Users can connect Micro:bit and Jacdac hardware to MakeCode for real-time feedback before downloading the program.

![](https://kittenbothk.readthedocs.io/en/latest/_images/71.gif)

* **Simulation without hardware**: Even without physical hardware, users can simulate Jacdac module behavior for testing and development.

![](https://kittenbothk.readthedocs.io/en/latest/_images/8.gif)

* **Standardized board sizes**: Jacdac module circuit boards are designed to align perfectly, ensuring neat and organized installations.

![](https://kittenbothk.readthedocs.io/en/latest/_images/breadboard.png)

### Jacdac Videos

#### [Micro:bit Offcial Demo with Jacdac](https://www.youtube.com/watch?v=Jqn2YCUkWqk)

#### [Demo by Overseas User](https://www.youtube.com/watch?v=VMBNxTSGWsI)


---

# 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/microsoft-jacdac-series/whats-jacdac.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.
