> For the complete documentation index, see [llms.txt](https://sharinghub-eng.kittenbot.hk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sharinghub-eng.kittenbot.hk/microsoft-jacdac-series/whats-jacdac.md).

# 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)
