<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="384656" data-post-id="384656">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Beam Bots Progress Update — Week Thirteen</p>
<p>The latest from the Beam Bots project:</p>
<ul>
<li>First community-built driver — <a href="https://github.com/BeautifulGirlCoffee/bb_ufactory" class="inline-onebox" rel="noopener nofollow ugc">GitHub - BeautifulGirlCoffee/bb_ufactory: Beam Bots integration for uFactory cobot arms · GitHub</a> by <a class="mention" href="/u/oullette" rel="nofollow">@oullette</a>  integrates uFactory xArm cobots (xArm5/6/7, Lite6, xArm850) with joint/Cartesian motion, force/torque<br>
sensing, collision detection, and a 100Hz control loop</li>
<li>bb_policy proposal picked up — <a class="mention" href="/u/joelpaulkoch" rel="nofollow">@joelpaulkoch</a>  is working on an implementation to run learned behaviours (e.g. HuggingFace LeRobot models) on the BEAM via ONNX</li>
<li>Elixir 1.20.0-rc.2 is out — ~10% faster compilation, type inference across clauses, redundant clause detection. Phoenix and LiveView already shipping compatibility fixes</li>
<li>Kino 0.19.0 adds :min/:max/:step to number inputs — useful for constraining joint angle controls in Livebook</li>
<li>The usual Dependabot gardening across the ecosystem</li>
</ul>
<p>Full post: <a href="https://beambots.dev/blog/progress-2026-03-09/" class="inline-onebox" rel="noopener nofollow ugc">Week Thirteen: Other People's Robots | Beam Bots</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="384656" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-384656" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384656"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #21"></div>
  </section>
</div>
    <div class="postbit" id="385440" data-post-id="385440">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Beam Bots Progress Update — Week Fifteen</p>
<p>The latest Beam Bots progress update is out:</p>
<ul>
<li>Servo driver rework shipped — both <code>bb_servo_feetech</code> and <code>bb_servo_robotis</code> v0.2.2 replace <code>GenServer</code> message passing with an ETS-backed 100Hz fixed-rate control loop. Batched<br>
writes, observable state from any process, and safer arming that prevents stale-goal jumps.</li>
<li>Code Camp Wellington — gave a talk based on Zach Daniel’s “Building on Bedrock: Elixir’s Fundamental Design Advantage” with a Beam Bots aside.</li>
<li>Next up — PR to <a href="https://github.com/pkinney/robotis/" rel="noopener nofollow ugc">pkinney/robotis</a> for <code>sync_write_raw</code> support to bring Robotis write batching on par with Feetech.</li>
</ul>
<p>Breaking changes in the servo drivers if you’re using them — details in the post.</p>
<p>Full update: <a href="https://beambots.dev/blog/progress-2026-03-23/" class="inline-onebox" rel="noopener nofollow ugc">Week Fifteen: Ticks and Talks | Beam Bots</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="385440" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-385440" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="385440"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="386523" data-post-id="386523">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Beam Bots progress update for April 2026 — a quiet month from me but a busy one from the community.</p>
<p>Highlights:</p>
<ul>
<li>bb_tui — <a class="mention" href="/u/mcass19" rel="nofollow">@mcass19</a> built a full terminal dashboard for BB robots using his own ex_ratatui library (Elixir bindings to Rust ratatui via Rustler). Safety controls, joint manipulation, event streams, parameter editing, and remote<br>
node attach — all from the terminal. Near feature-parity with bb_liveview. Repo</li>
<li>bb_ufactory on real hardware — <span class="mention">@houlette</span>’s community-built uFactory xArm driver has been tested against a real xArm unit. First community driver to hit that milestone. Video</li>
<li>bb_jido proposal accepted — Jido autonomous agent framework integration is a go. Where bb_reactor handles workflows, Jido agents handle goal-directed decision making.</li>
<li>Dependency gardening: Spark 2.6.1, Igniter 0.7.7, LiveView 1.1.28 bumped across the ecosystem.</li>
</ul>
<p>Also moving to monthly updates going forward.</p>
<p>Full post: <a href="https://beambots.dev/blog/progress-2026-04-09/" class="inline-onebox" rel="noopener nofollow ugc">April 2026: Chocolate Eggs and Terminal UIs | Beam Bots</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="386523" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-386523" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="386523"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="388284" data-post-id="388284">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The May progress update for Beam Bots is up.</p>
<p>Two Goatmire 2026 sessions confirmed, the first Nerves Starter Kit boards are back from the fab, and the rest of the org has been quietly grazing.</p>
<ul>
<li>Talk: Beam Bots: Robotics on the BEAM — supervision trees as a hardware-resilience strategy, message passing for distributed control, hot code reloading on a running robot, and the DSL story for describing geometry and kinematics.</li>
<li>Workshop: Achieving Balance in the Workshop — assemble a balance bot on a custom Nerves Starter Kit carrier board, then drive it from your phone via Phoenix LiveView. Free; limited capacity.</li>
<li>First NSK boards (Allwinner T113, designed by Gus Workman / Protolux Electronics) are back from the fab. Gus has Nerves system support landing on the <code>support-nsk</code> branch of <code>nerves_system_trellis</code>.</li>
<li>Mauricio Cassola kept shipping <code>bb_tui</code> — SSH transport, <code>ex_ratatui</code> 0.7 → 0.8 migration, UI refresh on the new primitives, and six <code>ex_ratatui</code> releases along the way. - Genuinely quiet month for the core repos. No releases. Two tutorial fixes in <code>bb</code>. Dependabot kept the lights on.</li>
</ul>
<p>Full post: <a href="https://beambots.dev/blog/progress-2026-05-06/" class="inline-onebox" rel="noopener nofollow ugc">May 2026: The Calm Before the Goat | Beam Bots</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388284" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-388284" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388284"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="389710" data-post-id="389710">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This month Beam Bots grew a sense of orientation. <code>bb</code> went 0.15 → 0.20, and the thread running through it is state estimation:</p>
<ul>
<li><code>BB.Estimator</code> — a new behaviour + DSL entity for turning noisy sensor data into something you can steer by (proposal 0018, shipped in 0.20.0)</li>
<li><code>bb_estimator_ahrs</code> — three 6-DOF IMU fusion filters (Madgwick, Mahony, Complementary), ported with permission from <code>gworkman/ahrs</code> ( <a href="https://github.com/gworkman/ahrs" class="inline-onebox" rel="noopener nofollow ugc">GitHub - gworkman/ahrs: AHRS implemention in Elixir, including Madgwick, Mahony and complementary filters · GitHub</a> )</li>
<li><code>bb_sensor_bmi323</code> — driver for the Bosch BMI323 IMU over I2C</li>
<li><code>mix bb.from_urdf</code> — import an existing URDF robot description straight into the BB DSL, transmissions and all</li>
<li>New packages: <code>bb_mcp</code> (drive robots from LLM agents over MCP) and <code>bb_so101</code> (TheRobotStudio SO-101 arm); <code>bb_jido</code> went from placeholder to a real Jido-backed agent implementation</li>
</ul>
<p>Heads-up on breaking changes in 0.16: <code>BB.Message</code> now carries wall-clock time + originating node, force-disarm moved to the topology supervisor, units migrated to localize, and reverse?<br>
left the servo packages for motor-space transmission blocks. There’s a <code>mix bb.upgrade</code> task to ease the move.</p>
<p>There’s also a video of the new stack running on real hardware — a BMI323 fused through a complementary AHRS filter, with live orientation in LiveView matching the device as it moves.</p>
<p>Full write-up: <a href="https://beambots.dev/blog/progress-2026-06-01/" class="inline-onebox" rel="noopener nofollow ugc">June 2026: Getting Our Bearings | Beam Bots</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389710" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-389710" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389710"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="390947" data-post-id="390947">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Here’s what landed in June for Beam Bots, resilient robotics on the BEAM:</p>
<ul>
<li>bb’s kinematics core moved to Nx defn — forward kinematics, all-link transforms and analytical Jacobians instead of finite differences.</li>
<li>Both IK solvers cashed in: bb_ik_dls now uses the analytical Jacobian; bb_ik_fabrik is now composable defns.</li>
<li>Servo disarm got honest — confirms torque is actually off rather than reporting false success on a dead controller.</li>
<li>Continuous commands cancel cleanly — no more “cancellation logged as a crash”, plus cancel controls in bb_kino and bb_liveview.</li>
<li><a class="mention" href="/u/mcass19" rel="nofollow">@mcass19</a>’s ex_ratatui + bb_tui now render a live 3D view of your robot in the terminal.</li>
<li>Whole ecosystem is on Elixir 1.20 now.</li>
<li>Balance bot for the Goatmire workshop is rolling its wheels; learned-policy package (bb_policy) has started.</li>
</ul>
<p>I’ll be at Goatmire in September and the Ash Summit on 3 October in Varberg — the Ash Summit CFP is open, so submit a talk.</p>
<p>Full write-up: <a href="https://beambots.dev/blog/progress-2026-07-01/" class="inline-onebox" rel="noopener nofollow ugc">July 2026: Show Your Working | Beam Bots</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="390947" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-390947" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="390947"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="392300" data-post-id="392300">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><strong>Beam Bots — August 2026 progress update</strong></p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://beambots.dev/blog/progress-2026-08-02/">
  <header class="source">
      <img src="https://beambots.dev/logo.svg" class="site-icon" alt="" width="36" height="44">

      <a href="https://beambots.dev/blog/progress-2026-08-02/" target="_blank" rel="noopener nofollow ugc">beambots.dev</a>
  </header>

  <article class="onebox-body">
    <img width="246" height="246" src="https://beambots.dev/logo.png" class="thumbnail onebox-avatar" alt="">

<h3><a href="https://beambots.dev/blog/progress-2026-08-02/" target="_blank" rel="noopener nofollow ugc">August 2026: One Way In</a></h3>

  <p>Every actuator command now enters through one door with a guard on it: three bb releases, a migration for every servo driver, drivers that declare what they speak and finally stop when told to. Plus teleop, on someone else's arms.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<p><code>bb 0.23</code> → <code>0.25</code> rework how commands reach an actuator: all three transports now converge on one required <code>handle_command/2</code>, actuators can be addressed by name or full path, and a driver can declare which command payloads it accepts. Arm state is enforced centrally as a result — it used to be each driver’s job, and three of five weren’t doing it.<br>
Breaking, but the migration is short and the compiler names every module that needs it. All four servo drivers have shipped their versions.<br>
Also in the post: <code>Stop</code> finally stopping, Andrew Houllette’s <code>bb_jido</code> audit, and Damir Batinović running teleop on two SO-101 arms he built himself.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="392300" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-392300" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="392300"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="393295" data-post-id="393295">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jimsynz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jimsynz/120/39319_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jimsynz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Ash Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Monthly update for <a href="https://beambots.dev/" rel="noopener nofollow ugc">Beam Bots</a>. Eight releases of <code>bb</code> (0.26 → 0.31), about forty across the satellites.</p>
<p>The headline is that a decision I made a few months ago was wrong. <code>BB.Math.Vec3</code>, <code>Quaternion</code> and <code>Transform</code> held Nx tensors, on the grounds that machines running BB have ample CPU headroom. On a two-core Cortex-A7 closing a 100 Hz loop, that premise is false — and the balance bot that couldn’t hold itself up is what told me. They’re plain BEAM floats now, and the numbers off real hardware are worse than I’d have guessed: <strong>6.9× fewer reductions, and about a whole CPU core handed back on a board that has two.</strong></p>
<p>Also in there:</p>
<p>• Multi-DoF joints (<code>:planar</code>, <code>:floating</code>) — both were in the enum and both silently returned identity from forward kinematics</p>
<p>• <code>BB.Loop</code> — the framework owns periodic timing now, because everyone’s hand-rolled tick loop was drifting 13%</p>
<p>• <code>set_position/4</code> is synchronous, so a refused command can finally say so</p>
<p>• Trajectories turned out to be broken on <em>any</em> joint with a transmission — five of six on an SO-101</p>
<p>Write-up, with the measurements:</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://beambots.dev/blog/progress-2026-09-01/">
  <header class="source">
      <img src="https://beambots.dev/logo.svg" class="site-icon" alt="" width="36" height="44">

      <a href="https://beambots.dev/blog/progress-2026-09-01/" target="_blank" rel="noopener nofollow ugc">beambots.dev</a>
  </header>

  <article class="onebox-body">
    <img width="246" height="246" src="https://beambots.dev/logo.png" class="thumbnail onebox-avatar" alt="">

<h3><a href="https://beambots.dev/blog/progress-2026-09-01/" target="_blank" rel="noopener nofollow ugc">September 2026: Achieving Balance</a></h3>

  <p>The balance bot balances. Getting there meant taking Nx back out of the maths core — 6.9× fewer reductions and a whole CPU core handed back — plus multi-DoF joints, a framework-owned clock, and commands that finally admit when they've been refused.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="393295" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/beam-bots-resilient-robotics-on-the-beam/73591/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-393295" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="393295"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>