<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Cyberbrick on Plicatim</title>
        <link>https://plicatim.com/categories/cyberbrick/</link>
        <description>Recent content in Cyberbrick on Plicatim</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <copyright>Plicatim</copyright>
        <lastBuildDate>Sat, 24 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://plicatim.com/categories/cyberbrick/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>CyberBrick RC Module Quickstart</title>
        <link>https://plicatim.com/post/cyberbrick_simple_setup/</link>
        <pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate>
        
        <guid>https://plicatim.com/post/cyberbrick_simple_setup/</guid>
        <description>&lt;img src="https://plicatim.com/post/cyberbrick_simple_setup/featureImage.jpg" alt="Featured image of post CyberBrick RC Module Quickstart" /&gt;&lt;h3 id=&#34;backgroundmotivation&#34;&gt;Background/Motivation
&lt;/h3&gt;&lt;p&gt;When I discovered the CyberBrick™ toy ecosystem, I was so fascinated by it, mainly because I have kids and the keyword &lt;em&gt;&lt;strong&gt;toys&lt;/strong&gt;&lt;/em&gt;. With a 3D printer, I can now make some little toys from time to time to keep my kids entertained. Of course, I love making things, so it&amp;rsquo;s not entirely for my kids—it&amp;rsquo;s an excuse to justify this newly found hobby.&lt;/p&gt;
&lt;p&gt;Anyway, to get started as a &lt;em&gt;&lt;strong&gt;developer&lt;/strong&gt;&lt;/em&gt; under the CyberBrick™ ecosystem, you need a basic working system to play around with.&lt;/p&gt;
&lt;p&gt;Of course, you can check the &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;official CyberBrick Wiki here&lt;/a&gt;, however, the information is rather scattered and it lacks a clear picture about how to get started as a &lt;em&gt;&lt;strong&gt;developer&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Therefore, this is the motivation for this quickstart guide (Basically, this is just a record of how I got started).&lt;/p&gt;
&lt;h3 id=&#34;big-picture&#34;&gt;Big Picture
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/makerworld/cyberbrick/intro#:~:text=What%20is%20CyberBrick%E2%84%A2%EF%BC%9F&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;What is CyberBrick™？&lt;/a&gt;
CyberBrick is a modular smart toy ecosystem that combines programmable hardware, 3D printable structures, and dual-level coding environments. It is where 3D printing collides with electronics and coding through LEGO-like simplicity. CyberBrick empowers anyone to build and enjoy a wide range of 3D-printed projects, from R/C toys to productivity tools.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The way I understand the CyberBrick toy ecosystem is that there are three aspects to it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Electronics Hardware&lt;/strong&gt;: i.e., the official &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;component list&lt;/a&gt; that allows you to do a variety of things. But in simple terms, it&amp;rsquo;s just an input→process→output kind of system.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Programming Software&lt;/strong&gt;: Programming how the components interact with each other by using &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/software/cyberbrick-app#cyberbrick-desktop-software&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CyberBrick Desktop Software&lt;/a&gt;. The desktop version is used because only the desktop version can &lt;code&gt;Create New Project&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3D Printable Structure&lt;/strong&gt;: Basically, it should be the &lt;em&gt;&lt;strong&gt;appearance&lt;/strong&gt;&lt;/em&gt; of your idea/design. Of course, there could be a mechanical part that is 3D printed.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;getting-started&#34;&gt;Getting Started
&lt;/h3&gt;&lt;p&gt;I&amp;rsquo;ll focus on aspects 1 and 2 from the above big picture. That is, just build a very simple input → process → output system out of the official &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;component list&lt;/a&gt; and use &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/software/cyberbrick-app#cyberbrick-desktop-software&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CyberBrick Desktop Software&lt;/a&gt; for the process part.&lt;/p&gt;
&lt;h4 id=&#34;simple-test-system&#34;&gt;Simple Test System
&lt;/h4&gt;&lt;p&gt;Okay, let&amp;rsquo;s design a bare-bones system with input as a button and output as an LED.
The process part is just &amp;ldquo;if a button is pressed, an LED lights up&amp;rdquo;. Basically, a button at the transmitter (TX) side is pressed, then an LED at the receiver (RX) side will light up.
&lt;img src=&#34;https://plicatim.com/post/cyberbrick_simple_setup/simple_test_system.jpg&#34;
	width=&#34;1424&#34;
	height=&#34;720&#34;
	srcset=&#34;https://plicatim.com/post/cyberbrick_simple_setup/simple_test_system_hu_20efd0f8ae24c91a.jpg 480w, https://plicatim.com/post/cyberbrick_simple_setup/simple_test_system_hu_7f253a5bf30d121b.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Simple test system diagram&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;197&#34;
		data-flex-basis=&#34;474px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Now, someone may ask: Do we really need an RX/TX system to implement the above simple system? The answer is absolutely no—you can of course do it with just one &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/makerworld/cyberbrick/component-list#:~:text=Multi%2DFunction%20Controller%20Core%2DXA003&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Multi-Function Core Board - XA003&lt;/a&gt; with both button and LED connected to the same board. But this requires &amp;ldquo;custom&amp;rdquo; changes to the official &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;component list&lt;/a&gt;. The idea here is to just really use whatever the &amp;ldquo;bricks&amp;rdquo; we have and implement a system.&lt;/p&gt;
&lt;h4 id=&#34;hardware-list&#34;&gt;Hardware List
&lt;/h4&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Component&lt;/th&gt;
          &lt;th style=&#34;text-align: center&#34;&gt;Quantity&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/makerworld/cyberbrick/component-list#:~:text=Multi%2DFunction%20Controller%20Core%2DXA003&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Multi-Function Core Board - XA003&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#remote-control-receiver-shield-xa004:~:text=Remote%20Control%20Receiver%20Shield%2DXA004&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Remote Control Receiver Shield - XA003 XA004&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#remote-control-transmitter-shield-xa005:~:text=Remote%20Control%20Transmitter%20Shield%2DXA005&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Remote Control Transmitter Shield - XA003 XA005&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#ws2812-led-hub-xa006:~:text=WS2812%20LED%20Hub%2DXA006&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WS2812 LED Hub-XA006&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#ws2812-rgb-led-kb003:~:text=WS2812%20RGB%20LED%2DKB003&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WS2812 RGB LED-KB003&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#momentary-button-module-xa008:~:text=Momentary%20Button%20Module%2DXA008&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Momentary Button Module-XA008&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://us.store.bambulab.com/products/14500-7-4v-800mah-li-ion-battery-1pcs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;14500 7.4V 800mAh Li-ion Battery&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Please note that the &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#remote-control-transmitter-shield-xa005:~:text=Remote%20Control%20Transmitter%20Shield%2DXA005&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Remote Control Transmitter Shield - XA003 XA005&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/cyberbrick/components/component-list#remote-control-receiver-shield-xa004:~:text=Remote%20Control%20Receiver%20Shield%2DXA004&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Remote Control Receiver Shield - XA003 XA004&lt;/a&gt; are already mounted on individual &lt;a class=&#34;link&#34; href=&#34;https://wiki.bambulab.com/en/makerworld/cyberbrick/component-list#:~:text=Multi%2DFunction%20Controller%20Core%2DXA003&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Multi-Function Core Board - XA003&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://plicatim.com/post/cyberbrick_simple_setup/component_all.jpg&#34;
	width=&#34;4032&#34;
	height=&#34;2268&#34;
	srcset=&#34;https://plicatim.com/post/cyberbrick_simple_setup/component_all_hu_2affdba75ce60435.jpg 480w, https://plicatim.com/post/cyberbrick_simple_setup/component_all_hu_45351d22fe105da7.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;All components assembled&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;177&#34;
		data-flex-basis=&#34;426px&#34;
	
&gt;&lt;/p&gt;
&lt;h4 id=&#34;software-setup&#34;&gt;Software Setup
&lt;/h4&gt;&lt;p&gt;Download and install the &lt;a class=&#34;link&#34; href=&#34;https://bambulab.com/en-us/download/cyberbrick-apps&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CyberBrick desktop app&lt;/a&gt; and open the app.
&lt;img src=&#34;https://plicatim.com/post/cyberbrick_simple_setup/cyberbrick_desktop_app.png&#34;
	width=&#34;1350&#34;
	height=&#34;1162&#34;
	srcset=&#34;https://plicatim.com/post/cyberbrick_simple_setup/cyberbrick_desktop_app_hu_13a835b253c39c88.png 480w, https://plicatim.com/post/cyberbrick_simple_setup/cyberbrick_desktop_app_hu_ddc418b21b577266.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;CyberBrick desktop app interface&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;116&#34;
		data-flex-basis=&#34;278px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Now, what we need to do is add the TX and RX devices to the &lt;code&gt;Device Management&lt;/code&gt; as shown below.&lt;/p&gt;
&lt;p&gt;Then &lt;code&gt;Create New Config&lt;/code&gt; → &lt;code&gt;Start from empty&lt;/code&gt;.
&lt;div class=&#34;video-wrapper&#34;&gt;
    &lt;video
    controls
    src=&#34;add_device.mov&#34;
    
    
    &gt;
        &lt;p&gt;
            Your browser doesn&#39;t support HTML5 video. Here is a
            &lt;a href=&#34;add_device.mov&#34;&gt;link to the video&lt;/a&gt; instead.
        &lt;/p&gt;
    &lt;/video&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Then in the &lt;code&gt;Channel Config&lt;/code&gt; tab, &lt;code&gt;+ Add Receiver&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In the &lt;code&gt;Controller Connection&lt;/code&gt; tab, you can now drag and drop the TX/RX to the corresponding boxes.&lt;/p&gt;
&lt;p&gt;You may need to upgrade the firmware when adding the devices.
&lt;img src=&#34;https://plicatim.com/post/cyberbrick_simple_setup/firmware_upgrade.png&#34;
	width=&#34;1306&#34;
	height=&#34;1118&#34;
	srcset=&#34;https://plicatim.com/post/cyberbrick_simple_setup/firmware_upgrade_hu_811489df9b615f35.png 480w, https://plicatim.com/post/cyberbrick_simple_setup/firmware_upgrade_hu_9238a3f927ae3759.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Firmware upgrade prompt&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;116&#34;
		data-flex-basis=&#34;280px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Finally, just check &lt;code&gt;Pair device&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;programming&#34;&gt;Programming
&lt;/h4&gt;&lt;p&gt;Now, the last part, which I also think is not clear in the official wiki, is how to program the TX/RX to behave as we want, i.e., &amp;ldquo;if a button is pressed, an LED lights up&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;First, add a button to the TX, then add an LED to the RX.&lt;/p&gt;
&lt;p&gt;After you add an LED to RX, you can define how the LED behaves, or it&amp;rsquo;s called &lt;code&gt;Effect&lt;/code&gt; in the software. Pick a name for this effect—in my case, I use &lt;em&gt;&lt;strong&gt;Blink_Red&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Now, back to the TX, you can finally program &amp;ldquo;if a button is pressed, an LED lights up&amp;rdquo;. In the software, it&amp;rsquo;s called an &lt;code&gt;Event&lt;/code&gt;. For a button, you can select certain types of &amp;ldquo;button events&amp;rdquo; from the dropdown list.&lt;/p&gt;
&lt;p&gt;Now, simply select &lt;code&gt;Press&lt;/code&gt; as the &lt;code&gt;Event&lt;/code&gt;, &lt;code&gt;LED1&lt;/code&gt; as the &lt;code&gt;Module&lt;/code&gt; (you can think of which module will respond to the &lt;code&gt;Event&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Finally, the &lt;code&gt;Value&lt;/code&gt; is just the behavior of the &lt;code&gt;LED1&lt;/code&gt; that we defined before, which is &lt;em&gt;&lt;strong&gt;Blink_Red&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Finally, just &lt;code&gt;Save Config&lt;/code&gt; and &lt;code&gt;Send Config&lt;/code&gt; to both TX/RX. Then you are done.
&lt;div class=&#34;video-wrapper&#34;&gt;
    &lt;video
    controls
    src=&#34;config_module.mov&#34;
    
    
    &gt;
        &lt;p&gt;
            Your browser doesn&#39;t support HTML5 video. Here is a
            &lt;a href=&#34;config_module.mov&#34;&gt;link to the video&lt;/a&gt; instead.
        &lt;/p&gt;
    &lt;/video&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;h4 id=&#34;testing&#34;&gt;Testing
&lt;/h4&gt;&lt;div class=&#34;video-wrapper&#34;&gt;
    &lt;video
    controls
    src=&#34;blink_red.mp4&#34;
    
    
    &gt;
        &lt;p&gt;
            Your browser doesn&#39;t support HTML5 video. Here is a
            &lt;a href=&#34;blink_red.mp4&#34;&gt;link to the video&lt;/a&gt; instead.
        &lt;/p&gt;
    &lt;/video&gt;
&lt;/div&gt;

</description>
        </item>
        
    </channel>
</rss>
