<!doctype html>
<html><head><meta charset="utf-8">
<meta name="readme-max-height" content="32000">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
  :root {
    --bg:#0d1117; --surface:#161b22; --elevated:#1c2128; --border:#30363d;
    --text:#e6edf3; --body:#c9d1d9; --muted:#8b949e; --accent:#00b8b1;
  }
  * { box-sizing:border-box; margin:0; padding:0; }
  html, body { background:var(--bg); color:var(--body);
    font:15px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    scrollbar-width:none; -ms-overflow-style:none; }
  html::-webkit-scrollbar, body::-webkit-scrollbar { width:0; height:0; display:none; }
  #wrap { max-width:880px; margin:0 auto; padding:24px 20px 40px; }
  h2 { color:var(--text); font-size:25px; margin:34px 0 8px; letter-spacing:-.01em; }
  h4 { color:var(--text); font-size:16px; margin:22px 0 6px; }
  p  { margin:9px 0; }
  ul { margin:7px 0 7px 26px; }
  li { margin:4px 0; }
  a  { color:var(--accent); text-decoration:none; }
  a:hover { text-decoration:underline; }
  strong { color:var(--text); }
  strong a, a strong { color:var(--accent); }
  code { font-family:ui-monospace,Consolas,monospace; font-size:.92em;
    background:var(--elevated); border:1px solid var(--border); border-radius:4px; padding:1px 5px; }
  .kicker { color:var(--accent); font-weight:600; font-size:12px; letter-spacing:.12em; }
  .pagehead h1 { color:var(--text); font-size:33px; margin:6px 0 8px; letter-spacing:-.02em; }
  .sub { color:var(--muted); max-width:640px; }
  .rule { height:3px; width:64px; background:var(--accent); border-radius:2px; margin:16px 0 0; }
  .tabs { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 6px; }
  .tab { background:var(--surface); border:1.5px solid var(--border); border-radius:999px;
    color:var(--text); font:600 14.5px/1 inherit; font-family:inherit; padding:12px 26px;
    cursor:pointer; transition:border-color .15s, box-shadow .15s, color .15s;
    display:inline-block; text-decoration:none; line-height:1; }
  .tab::before { content:"↗ "; color:var(--accent); font-weight:700; }
  .tab:hover { border-color:var(--accent); color:var(--accent); text-decoration:none;
    box-shadow:0 0 0 3px rgba(0,184,177,.15); }
  .meta { color:var(--muted); font-size:13px; margin:2px 0 12px; }
  .seealso { color:var(--muted); font-size:13px; background:var(--surface);
    border:1px solid var(--border); border-radius:8px; padding:8px 13px; margin:11px 0; }
  .fig { background:var(--surface); border:1px solid var(--border); border-radius:10px;
    padding:12px; margin:16px 0 6px; text-align:center; }
  .fig img { max-width:100%; max-height:520px; width:auto; height:auto; border-radius:6px; }
  .fig img + img { margin-top:10px; }
  .figcap { color:var(--muted); font-size:12.5px; text-align:center; margin:6px 0 16px; }
  .figfloat { margin:16px 0; }
  .figfloat .fig { margin:0; }
  .figfloat .figcap { margin:6px 0 0; }
  .tblwrap { overflow-x:auto; margin:13px 0; }
  table { border-collapse:collapse; width:100%; font-size:13.5px; }
  th,td { border:1px solid var(--border); padding:7px 10px; text-align:left; vertical-align:top; }
  th { background:var(--elevated); color:var(--text); }
  tr:nth-child(even) td { background:var(--surface); }
  .deck { position:relative; background:var(--surface); border:1px solid var(--border);
    border-radius:12px; padding:14px 14px 10px; margin:14px 0 8px; }
  .stage { position:relative; aspect-ratio:16/9; }
  .slide { display:none; position:absolute; inset:0; width:100%; height:100%;
    object-fit:contain; border-radius:6px; }
  .slide.on { display:block; }
  .deckbar { display:flex; align-items:center; gap:12px; margin-top:10px; }
  .nav { background:var(--elevated); color:var(--text); border:1px solid var(--border);
    border-radius:8px; width:38px; height:32px; font-size:15px; cursor:pointer; }
  .nav:hover { border-color:var(--accent); }
  .dots { display:flex; gap:6px; flex:1; justify-content:center; flex-wrap:wrap; }
  .dot { width:9px; height:9px; border-radius:50%; border:none; background:var(--border); cursor:pointer; padding:0; }
  .dot.on { background:var(--accent); }
  .count { color:var(--muted); font-size:12.5px; min-width:46px; text-align:right; }
  .srcnote { color:var(--muted); font-size:13px; }
  .secdiv { border:none; border-top:1px solid var(--border); margin:32px 0 0; }
  @media (max-width: 700px) {
    #wrap { padding:18px 12px 32px; }
    .fig img { max-height:300px; }
    .tab { padding:10px 18px; font-size:13.5px; }
    .deckbar { flex-wrap:wrap; }
  }
  footer { color:var(--muted); font-size:12.5px; margin-top:34px; border-top:1px solid var(--border); padding-top:12px; }
</style></head><body>
<div id="wrap">
  <div class="pagehead">
    <div class="kicker">ADOM HARDWARE PLATFORM</div>
    <h1>Molecule Design Guide</h1>
    <p class="sub">Everything you need to design Molecules for the Adom Factory, starting with the
      intro slide deck.</p>
    <div class="rule"></div>
  </div>

  <nav class="tabs"><a class="tab" href="https://wiki.adom.inc/adom/adom-machine-parts-library" target="_blank" rel="noopener">Parts library</a></nav>

  <section id="sec-deck">
    <h2>What is a Molecule? — The Slide Deck</h2>
    <p class="meta">11 slides · the beginner introduction. Also available
      <a href="https://docs.google.com/presentation/d/1LQSI1YMCZsVmC5ofULPHoJVyt0phHyBwX1fbb88-CRs/edit" target="_blank" rel="noopener">in Google Slides</a>.</p>
    <div class="deck" id="deck" tabindex="0">
      <div class="stage">
        <img class="slide on" data-n="1" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s01.jpg" alt="Slide 1">
<img class="slide" data-n="2" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s02.jpg" alt="Slide 2">
<img class="slide" data-n="3" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s03.jpg" alt="Slide 3">
<img class="slide" data-n="4" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s04.jpg" alt="Slide 4">
<img class="slide" data-n="5" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s05.jpg" alt="Slide 5">
<img class="slide" data-n="6" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s06.jpg" alt="Slide 6">
<img class="slide" data-n="7" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s07.jpg" alt="Slide 7">
<img class="slide" data-n="8" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s08.jpg" alt="Slide 8">
<img class="slide" data-n="9" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s09.jpg" alt="Slide 9">
<img class="slide" data-n="10" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s10.jpg" alt="Slide 10">
<img class="slide" data-n="11" src="https://wiki.adom.inc/adom/molecule-design-guide/render/slides/s11.jpg" alt="Slide 11">
      </div>
      <div class="deckbar">
        <button class="nav" id="prev" aria-label="Previous slide">&#8592;</button>
        <div class="dots"><button class="dot on" data-n="1" aria-label="Slide 1"></button><button class="dot" data-n="2" aria-label="Slide 2"></button><button class="dot" data-n="3" aria-label="Slide 3"></button><button class="dot" data-n="4" aria-label="Slide 4"></button><button class="dot" data-n="5" aria-label="Slide 5"></button><button class="dot" data-n="6" aria-label="Slide 6"></button><button class="dot" data-n="7" aria-label="Slide 7"></button><button class="dot" data-n="8" aria-label="Slide 8"></button><button class="dot" data-n="9" aria-label="Slide 9"></button><button class="dot" data-n="10" aria-label="Slide 10"></button><button class="dot" data-n="11" aria-label="Slide 11"></button></div>
        <span class="count" id="count">1 / 11</span>
        <button class="nav" id="next" aria-label="Next slide">&#8594;</button>
      </div>
    </div>
    <p class="srcnote">Use the arrows, the dots, or your keyboard&rsquo;s arrow keys.</p>
  </section>

  <hr class="secdiv">
  <p class="seealso related">Related wiki pages: <a href="https://wiki.adom.inc/adom/base-scaffold-system" target="_blank" rel="noopener">Base Scaffold system</a> · <a href="https://wiki.adom.inc/adom/base-scaffold-control-panel" target="_blank" rel="noopener">Workcell Control Panel</a> · <a href="https://wiki.adom.inc/adom/adom-machine-parts-library" target="_blank" rel="noopener">Machine parts library</a></p>
  <h2>Overview</h2>
<h4>Why Molecules?</h4>
<ul>
<li>The electronics prototyping community needs a platform for robots to assemble electronic devices</li>
<li>We need a fully functioning, cloud-based electronics workbench that adds real value to engineers and chip manufacturers</li>
</ul>
<h4>What is a Molecule?</h4>
<ul>
<li>A molecule is a PCB that adheres to the design rules developed by Adom Industries. These include:</li>
<ul>
<li><a href="https://wiki.adom.inc/adom/machinepinmediumstandard" target="_blank" rel="noopener">Machine pins in the corners of each PCB</a> for mechanical and electrical interfacing</li>
<li><a href="https://wiki.adom.inc/adom/machinecontactmedium" target="_blank" rel="noopener">Machine pin contacts for electrical interfacing among PCBs</a></li>
<li>Standardized grid spacing in multiples of 2mm, for machine pins and contacts</li>
</ul>
</ul>
<h4>How to use Molecules?</h4>
<p>Molecules are designed in any EDA software, fabricated (currently offsite), and shipped to the Adom Factory. They are then onboarded into inventory, and available for repeated use thereafter. Molecules and accompanying components are autonomously delivered to a workcell within the factory, placed on the appropriate scaffolding, and wired up to the workcell’s control panel and other molecules. The engineer can then interact with the molecules in a variety of ways, including:</p>
<ul>
<ul>
<li>Using our pincers to move devices or swap components</li>
<li>Defining tests for each molecule using high-end measurement equipment (e.g. 6-DOF robot arm, Keysight oscilloscopes and VNAs)</li>
<li>Flashing firmware to chips</li>
<li>Presenting data in user-defined panels in our UI</li>
</ul>
</ul>
<p>The remainder of this document addresses the details of this process, walking through the different elements of the Adom Factory that are directly related to molecule design and use.These elements are:</p>
<ul>
<li>Machine Pins and Contacts</li>
<li>Scaffolds</li>
<ul>
<li>Base Scaffolds</li>
<li>User Scaffolds</li>
<li>Clamping</li>
</ul>
<li>Molecules</li>
<ul>
<li>Wiring</li>
<li>Jumpers and Nesting</li>
<li>Wings</li>
</ul>
</ul>
<h2>Machine Pins and Contacts</h2>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp11.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 1: Available Contacts and Machine Pins</p></div>
<p>Machine pins’ primary function is mechanical, and secondary is electrical. The robotically controlled pincers throughout the Adom Factory interact with molecules, test equipment, and other devices using these machine pins, making them a cornerstone of the factory.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp12.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 2: Pincers Gripping a Machine Pin</p></div>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp13.jpg" loading="lazy" alt="">
</figure><p class="figcap">Figure 3: Machine Pins and Contacts on a Molecule</p></div>
<p>Machine pins have machine pin contacts pressed into the tops of them, so other machine pins and wires can be inserted into them. On a molecule, power and signals can be routed to the corner machine pins, if desired.</p>
<p>Machine pin contacts are purely electrical in function. They are pressed directly into molecules for connecting power and signals via wires, other machine pins, and machine pin needles.</p>
<p class="figcap">Table 1: Machine Pin Comparison</p>
<div class="tblwrap"><table><tr><th><strong>Class</strong></th><th>Medium</th><th>Medium</th><th>Large</th></tr><tr><td><strong>Minimum Spacing</strong></td><td>2mm x 4mm</td><td>2mm x 4mm</td><td>6mm x 6mm</td></tr><tr><td><strong>Height Designator</strong></td><td>Short</td><td>Standard</td><td>Standard</td></tr><tr><td><strong>Overall Height</strong></td><td>7.66mm</td><td>10.26mm</td><td>18.80mm</td></tr><tr><td><strong>Current Capacity</strong></td><td>Medium contacts are rated for about 6.4A</td><td>Medium contacts are rated for about 6.4A</td><td>Large contacts are rated for about 20.8A</td></tr><tr><td><strong>Application</strong></td><td>Use when the bottom of the PCB is bare and no THT components in design</td><td>Use on a small molecule when you have through-hole (THT) components</td><td>Currently the only option for large machine pins</td></tr><tr><td><strong>Typical Molecule Size</strong></td><td>≤96mm</td><td>≤96mm</td><td>≥32mm, ≤576mm</td></tr></table></div>
<p class="seealso">Part pages: <a href="https://wiki.adom.inc/adom/machinepinmediumstandard" target="_blank" rel="noopener">Machine Pin Medium</a> · <a href="https://wiki.adom.inc/adom/machinepinlargestandard" target="_blank" rel="noopener">Machine Pin Large</a> · <a href="https://wiki.adom.inc/adom/machinecontactmedium" target="_blank" rel="noopener">Contact Medium</a> · <a href="https://wiki.adom.inc/adom/machinecontactlarge" target="_blank" rel="noopener">Contact Large</a> · <a href="https://wiki.adom.inc/adom/adom-machine-parts-library" target="_blank" rel="noopener">assembled libraries (KiCad / Altium / Fusion)</a></p>
<p>The table above provides key specs for machine pins. Some important notes include:</p>
<ul>
<li>For each size, the machine pins can handle much more current than the contacts, so ratings for each size is based on the contacts</li>
<li>Medium machine pins within a row can be 2mm apart, but additional rows must be at least 4mm away from each other</li>
<ul>
<li>This is to accommodate pincer interaction</li>
</ul>
<li>Sizing</li>
<ul>
<li>Medium Short is the most common machine pin</li>
<li><a href="https://wiki.adom.inc/adom/machinepinlargestandard" target="_blank" rel="noopener">Large Standard is currently the only option for large machine pins</a></li>
</ul>
</ul>
<h4>Current specs</h4>
<ul>
<li><strong><a href="https://wiki.adom.inc/adom/machinepinmediumstandard" target="_blank" rel="noopener">Medium Machine Pin</a>:</strong> Ø1.2mm body in a Ø1.2mm plated hole.</li>
<li><strong><a href="https://wiki.adom.inc/adom/machinepinlargestandard" target="_blank" rel="noopener">Large Machine Pin</a>:</strong> Ø3.6mm body in a Ø3.45mm plated hole.</li>
<li><strong><a href="https://wiki.adom.inc/adom/machinecontactmedium" target="_blank" rel="noopener">Medium Contact</a>:</strong> Ø0.78mm drill with a Ø1.30mm annular ring. Rated ~6.4A (80% derated), mates with 24 AWG solid-core wire. 2mm pitch within a row; keep separate rows at least 4mm apart for pincer clearance.</li>
<li><strong><a href="https://wiki.adom.inc/adom/machinecontactlarge" target="_blank" rel="noopener">Large Contact</a>:</strong> Ø2.62mm drill with a Ø4.40mm annular ring. Rated ~20.8A (80% derated), mates with 14 AWG solid-core wire.</li>
</ul>
<h2>Scaffolds</h2>
<p>Scaffolds are the Adom Factory equivalent of a breadboard; they are the mechanical interface for molecules. Fundamentally, a scaffold is a PCB with a grid of machine pin contacts that are not electrically connected to anything. Scaffolds can stack on each other, and molecules can stack on scaffolds.</p>
<h4>Base Scaffold</h4>
<p><a href="https://wiki.adom.inc/adom/base-scaffold-system" target="_blank" rel="noopener">The base scaffold is the mechanical and electrical foundation</a> of the electronics workspace. It mounts into each workcell, and all other scaffolds and molecules mount onto it. Electrically, it contains a control panel, which provides power and comms to all projects.</p>
<p>The base scaffold is 576mm square and provides an 18x18 grid of large machine pin contacts at 32mm spacing. It is the mechanical foundation of the electronics project.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp14.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 4: Base Scaffold</p></div>
<p>Slots for clamps are arrayed throughout, which can be used to secure other scaffolds or molecules. Molecules and scaffolds with large corner machine pins can mount directly onto the base scaffold, while those with medium machine pins require medium-class user scaffolds, which insert into the base scaffold or other user scaffolds.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp15.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 5: Top View of Base Scaffold Panels</p></div>
<h4>Workcell Control Panel</h4>
<p><a href="https://wiki.adom.inc/adom/base-scaffold-control-panel" target="_blank" rel="noopener">The control panel is the user interface to the Base Scaffold System</a>. The scaffold side control panel travels with the scaffold while the workcell side lives in the workcell. The workcell control panel is backed by a Raspberry Pi Compute 5, providing power and data. The scaffold control panel gives users full control of an RP2350A microcontroller and provides power distribution. Capabilities are as follows:</p>
<ul>
<li>Power</li>
<ul>
<li>PS1 - [0–60 V / 10 A] user variable supply with full bench-style control</li>
<li>PS2 - [5 V / 10 A] switchable user supply</li>
<li>PS3 - spare user supply</li>
<li>USB VBUS - [5 V, 3 A max] VBUS is switched and protected from main PS2 rail: ≈120 ms turn-on at device attach.</li>
<li>Each power rail is capable of floating [PS2 ±2.5 V, USB inactive while floating]. Ground jumpers bond a single return-to-ground per rail (default bridged).</li>
</ul>
<li>Metering</li>
<ul>
<li>Every power rail is individually metered at 20-bit precision [INA228]</li>
<li>Current is accurate to ±0.25 % of reading above 100 mA, with ≈25 µA practical resolution</li>
<li>Rail voltage is accurate to ±0.05 % of reading</li>
</ul>
<li>User MCU</li>
<ul>
<li>26 I/O from the nested RP2350A reach the machine-contact field:</li>
<ul>
<li>four analog-capable</li>
<li>I²C / SPI / UART alternate functions</li>
<li>2 LEDs on programmable GPIO</li>
</ul>
<li>USB 2.0 dual-role (host or device) on the scaffold USB-C</li>
</ul>
<li>USB (workcell side)</li>
<ul>
<li>USB-C and USB-A SuperSpeed (USB 3.0) host ports</li>
<li>USB-A shares its USB 2.0 lanes with Bluetooth (mutually exclusive)</li>
</ul>
<li>Wireless</li>
<ul>
<li>Wi-Fi 6E across 2.4 / 5 / 6 GHz (up to ≈2.4 Gbps) and Bluetooth 5.3</li>
</ul>
<li>Sensing</li>
<ul>
<li>On-board environmental sensing (temperature, humidity, pressure, air quality), 6-axis motion sensing and a digital microphone — all available to the project through the Control Panel Dashboard</li>
</ul>
<li>Debug and control</li>
<ul>
<li>SWD and UART debug plus boot and reset control of the user MCU, carried across the dock</li>
</ul>
</ul>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp16.jpg" loading="lazy" alt="">
</figure><p class="figcap">Figure 6: Control Panel — workcell (top) and scaffold (bottom) halves</p></div>
<h4>User Scaffolds</h4>
<p>User scaffolds come in a variety of shapes and sizes. They can be used for a number of purposes:</p>
<ul>
<li>Carry an entire project, or a module thereof</li>
<li>Adapt from one scaffold grid size to another</li>
<li>Adapt from a scaffold with large machine pin contacts to medium machine pin contacts</li>
<li>Provide a shift in Z level to align molecules</li>
</ul>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp17.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 7: User Scaffold (8mm Pitch)</p></div>
<p>For example, the user scaffold shown in Figure 7, above, has some key elements:</p>
<ul>
<li>Large machine pins in the corners, allowing it to mount to a scaffold with large machine pin contacts</li>
<ul>
<li>These adhere to the typical large class grid spacing of multiples of 32mm, specifically 64mm here</li>
</ul>
<li>Medium machine pin contacts</li>
<ul>
<li>These adhere to the typical medium class grid spacing of multiples of 2mm, specifically 8mm here</li>
</ul>
<li>Slots for clamps</li>
<ul>
<li>Large clamp slots adjacent to large corner machine pins</li>
<li>Medium clamp slots, arranged in an “X” configuration and provided for clamping molecules and scaffolds connected via medium machine pins</li>
</ul>
<li>Wings</li>
<ul>
<li>Extra space for machine pin contacts outside the rectangular area defined by the corner machine pins</li>
</ul>
</ul>
<p>Another user scaffold is shown in Figure 8, below. This provides additional options for molecule sizing, but lacks slots for clamping due in part to the tighter spacing of machine pin contacts.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp18.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 8: User Scaffold (4mm Pitch)</p></div>
<h2>Molecules</h2>
<p>As mentioned in the introduction, a molecule is a PCB that adheres to Adom Industries’ design rules. These design rules can be applied to make a molecule out of a single resistor, sensors, microcontrollers, and vastly more complex systems. The purpose of these design rules is to facilitate robotically automated prototyping of electronics. Thus, every electronic component can be onboarded into our factory in molecule form.</p>
<p class="figcap">Table 2: Comparison of Traditional PCBs and Molecules</p>
<div class="tblwrap"><table><tr><th><strong>Traditional PCB</strong></th><th><strong>Molecule</strong></th></tr><tr><td>Mounting holes/ mechanical fasteners are not required, or can be located wherever</td><td>Require a machine pin at each corner to provide a mechanical interfaces</td></tr><tr><td>Any connector can be used</td><td>Electrical connection points from one molecule to another should only use machine pins and contacts</td></tr><tr><td>No particular size or spacing requirements need to be observed</td><td>All machine pins and contacts should be fit to a grid, with spacing any integer multiple of 2mm</td></tr><tr><td>Meant to be picked up by human hands</td><td>The workcell pincers pick up the molecule using the corner machine pins</td></tr><tr><td>Can have slide switches, push buttons, and other kinds of human interfaces</td><td>Machine pin jumpers should be used where possible, with potential for support of various human interfaces to be validated in the future</td></tr></table></div>
<p>Each molecule can function as a breakout for a single raw component, but for many components it is preferable to design the molecule to be self-contained for basic operation. In practice, this means adding with supporting components like decoupling caps, oscillators, pull-up/-down resistors, etc. Where multiple configurations are common, jumpers and nested molecules can be utilized to keep the system compact and functional.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp06.jpg" loading="lazy" alt="">
</figure><p class="figcap">Figure 11: Molecule with Extra Components for Self-Contained Operation</p></div>
<p class="seealso">Example Molecules on the wiki: <a href="https://wiki.adom.inc/adom/bmi270-molecule" target="_blank" rel="noopener">BMI270 IMU</a> · <a href="https://wiki.adom.inc/adom/bmv080-molecule" target="_blank" rel="noopener">BMV080 PM2.5</a> · <a href="https://wiki.adom.inc/adom/bme690-molecule" target="_blank" rel="noopener">BME690 environmental</a> · <a href="https://wiki.adom.inc/adom/usb3-to-ethernet-dataonly-molecule" target="_blank" rel="noopener">USB3-to-Ethernet</a></p>
<p>In general, it is convenient to consider the center of the lower-left corner machine pin to be the XY origin, with the Z plane of the origin defined by the top surface of the molecule. The design rules discussed above then dictate that all machine pins and contacts should be positioned a distance from the origin that is a multiple of 2mm.</p>
<h4>Wiring</h4>
<p>Wires are the primary means of establishing electrical connection from the workcell control panel to molecules, and from molecule to molecule. The current approach is use of precision-bent enamel coated wire, which provides a low profile conduction path that remains rigid across the span of the workcell.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp07.jpg" loading="lazy" alt="">
</figure><p class="figcap">Figure 12: Molecules Arranged on Scaffolds and Wired Together</p></div>
<p>Medium machine pin contacts can be connected with 24AWG wire, as shown in Figure 12 above, and large machine pin contacts can be connected with 14AWG wire.</p>
<p>Currently, human involvement is required for the wiring process, but it will soon become fully automated in order to achieve rapid design setup and iteration.</p>
<p>This approach to wiring does not ensure impedance matching for the many high speed applications across all sectors of electronics. This limitation will be resolved soon.</p>
<h4>Jumpers</h4>
<p>Jumpers are common in all sectors of electronics. On a molecule, it is desirable for the jumpers to be able to be manipulated by the pincers. This is achieved using a machine-pin-style jumper, as shown in Figure 13 below. Jumpers can be designed in a variety of configurations.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp08.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 13: Molecule with Several Machine Pin Jumpers</p></div>
<h4>Nested Molecules</h4>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp09.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 14: Molecule Using Nested Molecules for Configurability</p></div>
<p>One approach to maximize configurability on a molecule is to use nested molecules. This allows components to be quickly swapped without requiring additional space on the scaffold or adjusting wires. The buck converter shown in Figure 14 demonstrates this at depth, with each nested molecule able to be swapped for others that have the same or larger footprint.</p>
<h4>Wings</h4>
<p>In general, molecule and scaffold sizes are discussed in terms of the center-to-center distance of machine pins and machine pin contacts. For example, the 64x64mm user scaffold shown in Figure 7, which has its corner machine pins 64mm apart, is in fact 94mm wide. Due to the importance of machine pins, machine pin contacts, and standardized grids in the Adom Factory, this convention persists. So, the space on the PCB outside the machine pins is considered extra and is referred to as a “wing.” In the broadest terms, a wing is any portion of PCB that extends beyond the rectangular bounding box defined by a molecule or scaffold’s corner machine pins. Figure 15 below demonstrates use of a wing to make room for additional machine pin contacts required for accessing all necessary pins on the RP2350B-RM2 molecule.</p>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/wp10.png" loading="lazy" alt="">
</figure><p class="figcap">Figure 15: A Molecule with a Wing on Right Edge</p></div>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/dg07.png" loading="lazy" alt=""></figure><p class="figcap">Wing used to fit castellations: the board edge extends 0.5mm.</p></div>
<div class="figfloat"><figure class="fig"><img src="https://wiki.adom.inc/adom/molecule-design-guide/render/assets/dg02.png" loading="lazy" alt=""></figure><p class="figcap">An extreme 4mm wing making room for extra contacts and a radio module.</p></div>

<p>A wing should extend a maximum of 1/2 the grid you are working on:</p>
<ul>
<li>4mm max for the 8mm medium machine pin grid</li>
<li>16mm max for the 32mm large machine pin grid</li>
</ul>

  <nav class="tabs"><a class="tab" href="https://wiki.adom.inc/adom/adom-machine-parts-library" target="_blank" rel="noopener">Parts library</a></nav>

  <footer>Based on Adom&rsquo;s Molecule Design white paper (v1.0, September 2025) and the wiki
    component pages (machine pins, contacts, base-scaffold-system). Maintained by the Adom
    hardware team.</footer>
</div>
<script>
(function() {
  var wrap = document.getElementById('wrap');
  function post() {
    parent.postMessage({type: 'readme-height', height: wrap.offsetHeight + 20}, '*');
  }
  var n = 1, N = 11;
  function show(k) {
    n = ((k - 1 + N) % N) + 1;
    document.querySelectorAll('.slide').forEach(function(el) { el.classList.toggle('on', +el.dataset.n === n); });
    document.querySelectorAll('.dot').forEach(function(el) { el.classList.toggle('on', +el.dataset.n === n); });
    document.getElementById('count').textContent = n + ' / ' + N;
  }
  document.getElementById('prev').onclick = function() { show(n - 1); };
  document.getElementById('next').onclick = function() { show(n + 1); };
  document.querySelectorAll('.dot').forEach(function(d) { d.onclick = function() { show(+d.dataset.n); }; });
  document.addEventListener('keydown', function(e) {
    if (e.key === 'ArrowLeft') show(n - 1);
    if (e.key === 'ArrowRight') show(n + 1);
  });
  window.addEventListener('load', post);
  window.addEventListener('resize', post);
  document.querySelectorAll('img').forEach(function(im) { im.addEventListener('load', post); });
  setTimeout(post, 800); setTimeout(post, 2500); setTimeout(post, 6000);
})();
</script>
</body></html>