# User Guide ## Required Permissions The mobile app does not involve a registration process, nor does it upload any of your personal information to servers. During usage, you only need to grant the following device permissions to ensure the proper functioning of related features: **Storage** Purpose: To save and read programming projects. Special Note: Your programming projects are stored locally on your device and will not be accessed or uploaded. **Bluetoot** Purpose: To connect to hardware devices and enable interactive operations with hardware. Special Note: During Bluetooth communication, data is transmitted only between your device and the hardware. Communication content is neither recorded nor disclosed. **Location** Purpose: To scan BLE (Bluetooth Low Energy) devices, as required by technical specifications. Special Note: The app does not collect location information; this permission is solely for Bluetooth scanning purposes. ## Connecting Devices Using Bluetooth 4.0, you can easily connect your device to the main controller to unlock a variety of functions: + **Beginner Version:** Supports running programs directly in online mode. + **Advanced Version:** Allows uploading programs to devices for offline operation. ### Connection Steps: 1. **Power On the Device:** Press the device's power button to start. 2. **Enable Bluetooth and Location Services:** Ensure Bluetooth and location services are active to support Bluetooth Low Energy mode. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U01.png) 3. **Open the Programming Software:** Tap the Bluetooth button to initiate the device connection. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U02.png) 4. **Select the Device:** If multiple devices are detected, choose the target device from the dropdown menu. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U03.png) 5. **Complete the Connection:** Once connected, the target device will display a green background with a "Disconnect" button. The Bluetooth connection status will remain active within the app, eliminating the need for frequent reconnections. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U04.png) ## Creating a Project 1. **Choose Beginner Mode:** Select the basic programming mode for a quick start. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U05.png) 2. **Click "New Project":** Create a brand-new project. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U06.png) 3. **Edit the Program:** Drag and drop blocks to write your program. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U07.png) 4. **Exit and Save:** Tap the back button to automatically save your program. You’ll return to the main interface to view your project list. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U08.png) ## Online Mode (**Beginner Version)** 1. **Write a Program:** Enter the basic programming interface to create your program. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U09.png) 2. **Click the Run Button:** The program will run on the device in real-time. Note that the program stops running if the Bluetooth connection is interrupted. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U10.gif) ## Offline Mode (Advanced Version): 1. **Write a Program:** Enter the advanced programming interface to design more complex logic. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U11.png) 2. **Click the Run Button:** The program is downloaded to the device and starts immediately. It continues running even if the Bluetooth connection is lost. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U12.gif) 3. **Click the Download Button:** The program is downloaded to the device but does not execute immediately. You can run it later, even without a Bluetooth connection. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U13.gif) 4. **Start a Downloaded Program:** Press the device's power button three times in quick succession to run the downloaded program. Note that the Bluetooth connection will be interrupted, and the device cannot reconnect while the program is running. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U14.gif) 5. **Quickly Stop a Running Program:** While the program is running, press the power button three times in quick succession to stop it. ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U15.gif) ## Renaming the Bluetooth Device | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U16.gif) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U17.gif) | | --- | --- | | 1. **Connect the Device:**
Tap the Bluetooth button, select the target
device in the list, and connect.
The hub's breathing light will flash white
to indicate a successful connection. | 2. **Access the Rename Option:**
Tap "Select Device" 10 times in a row to
bring up the rename input box. | | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U18.gif) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U19.gif) | | 3. **Enter a New Name:**
Input the new name in the box. A confirmation
window will appear upon a successful name change. | 4. **Reconnect to View the New Name:**
Disconnect the Bluetooth connection, refresh
the device list, and reconnect to see
the updated device name. | ## AI Machine Learning provides four types of training models: Image Recognition, Gesture Recognition, Pose Recognition, and Speech Recognition. By creating and training a model, the system automatically generates the corresponding programming blocks for the selected model category, allowing you to easily incorporate the trained model into your programs. Example: Train an Image Recognition model. After the training is complete and the programming blocks are generated, use the corresponding blocks to develop your application. | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U21.png) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U22.png) | | --- | --- | | 1. Open KIDZBricks Advanced Programming Software, then select the AI category. | 2. Click training model. | | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U23.png) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U24.png) | | 3. In the Machine Learning panel, select a training model. Click Image Recognition.
_(Image Recognition is used as an example in this guide.)_ | 4. Click New Project. | | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U25.png) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U26.png) | | 5. Click Camera to capture image samples in the pop-up camera window.
**Note:**
You can capture one or more samples for the same class.
At least **two classes** are required for image model training. | 6. Press and hold Capture for 1–2 seconds to capture an image sample.
The captured samples are displayed in the yellow panel on the left.
It is recommended to collect approximately 30 image samples for each class. | | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U27.png) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U28.png) | | 7. After all image samples have been collected, click Start Training.
You can monitor the training progress using the progress bar. | 8. When the training is complete, the software automatically enters Model Testing mode.
Place a sample in front of the camera and verify that the software correctly identifies the sample's class
and displays its confidence score. After confirming that
the test results are correct, click Use Model. | | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U29.png) | ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U30.png) | | 9. The Machine Learning category will automatically generate the programming blocks for the trained model.
Drag the corresponding blocks into your program to use the trained model. | 10. During programming and program execution, observe the model recognition results in the Recognition Window. | **Demonstration:** ![](https://pub-eed680a9b7c24a0c8ca64ceb3e12d6e4.r2.dev/icbricks/docs/KIDZBricks/05MobileCodingSoftware/img/U31.gif)