<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://scatena.co/feed_style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <tabi:metadata xmlns:tabi="https://github.com/welpo/tabi">
        <tabi:base_url>https:&#x2F;&#x2F;scatena.co</tabi:base_url>
        <tabi:separator>
            •
        </tabi:separator>
        <tabi:about_feeds>This is a web feed, also known as an Atom feed. Subscribe by copying the URL from the address bar into your newsreader. Visit About Feeds to learn more and get started. It&#x27;s free.</tabi:about_feeds>
        <tabi:visit_the_site>Visit website</tabi:visit_the_site>
        <tabi:recent_posts>Recent posts</tabi:recent_posts>
        <tabi:last_updated_on>Updated on $DATE</tabi:last_updated_on>
        <tabi:default_theme></tabi:default_theme>
        <tabi:post_listing_date>date</tabi:post_listing_date>
        <tabi:current_section>Jason Scatena</tabi:current_section>
    </tabi:metadata><link rel="extra-stylesheet" href="https://scatena.co/skins/teal.css?h=bd19e558a52d678a50de" /><title>Jason Scatena</title>
        <subtitle>Jason Scatena blog and personal projects</subtitle>
    <link href="https://scatena.co/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://scatena.co" rel="alternate" type="text/html"/>
    <generator uri="https://www.getzola.org/">Zola</generator><updated>2026-02-16T00:00:00+00:00</updated><id>https://scatena.co/atom.xml</id><entry xml:lang="en">
        <title>Mechanical Autopen Simulation</title>
        <published>2026-02-16T00:00:00+00:00</published>
        <updated>2026-02-16T00:00:00+00:00</updated>
        <author>
            <name>Jason Scatena</name>
        </author>
        <link rel="alternate" href="https://scatena.co/blog/mechanical-autopen-simulation/" type="text/html"/>
        <id>https://scatena.co/blog/mechanical-autopen-simulation/</id>
        
            <content type="html">&lt;p&gt;Or how I nerd sniped myself and ended up reverse engineering Lyndon B. Johnson’s signature&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-inspiration&quot;&gt;The Inspiration&lt;&#x2F;h2&gt;
&lt;p&gt;The other evening I was killing time browsing a government surplus auction site. I had filtered it to relatively nearby auctions that were ending in the next 24 hours. Among the usual broken-down school buses and old computers, something caught my eye. A listing titled &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.govdeals.com&#x2F;en&#x2F;asset&#x2F;39453&#x2F;432&quot;&gt;“One (1) Sigtech800 Automated Signature Machine Table”&lt;&#x2F;a&gt;, even from the small picture on the search page it immediately drew my attention. The vintage metal mechanical mechanism taking up the left third of a fairly sizable desk was more than compelling, I am a sucker for vintage mechanical devices.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Screenshot%20From%202026-02-16%2018-29-43.png&quot; alt=&quot;Listing Page Screenshot&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;When I first found the listing, there was only half an hour left in the auction and only a single bid of $5. It took a lot of willpower to not place a bid myself, but in the end my better judgment won out and I resisted buying this hulking machine I certainly don’t have the room for. My curiosity was, however, piqued, and I descended into what ended up being hours of researching, then simulating these old machines.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;background-research&quot;&gt;Background &amp;amp; Research&lt;&#x2F;h2&gt;
&lt;p&gt;I’ll start with a quick primer for anyone who hasn’t had the misfortune of becoming aware of what an Autopen is because of American politics. An Autopen is a device that can write out an individual’s signature. The general class of devices is referred to as “signing machines”, but much like Kleenex or Band-Aid, the Autopen brand name has become synonymous with the whole class. Signing machines do exactly what their name implies, they allow an individual to create a reusable representation of their signature, which can in the future be used in the signing machine to create a limitless amount of near-perfect examples of their signature on command. They have been used widely by politicians, famous individuals and others who need to sign a lot of paperwork since the 1950s.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;US_Politics.jpg&quot; alt=&quot;US Politics is the Worst&quot;&gt;
  &lt;figcaption&gt;Hopefully you never had to see this before. But you can clearly make out the Autopen specific 4-bar linkage&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Modern Autopens are entirely computer controlled. They are essentially robotic devices that can take a digital representation of a signature and using electronic motors move a pen to render that signature onto a piece of paper. Their mechanical design does share some fairly obvious lineage with their pre-computer ancestors, however. These computer-controlled Autopens were first released into the market in the 1980s.&lt;&#x2F;p&gt;
&lt;p&gt;The Autopen I came across, the Model 80, predates the computerized designs. These mechanical Autopens instead use a physical representation of the user’s signature. The Autopen company refers to them as a &lt;strong&gt;matrix&lt;&#x2F;strong&gt; or &lt;strong&gt;template&lt;&#x2F;strong&gt;. Each matrix stores a single signature and can be loaded in or out of the machine to allow multiple users for a machine and to allow a signature to be stored safely out of the way when it is not in authorized use.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Autopen-12-1-2025.jpg&quot; alt=&quot;Model 80 with Matrix&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There seems to be very little written or recorded about these devices and how they work. At least that I could find searching the internet. The best resource I was able to find was the official &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;damilic.com&#x2F;&quot;&gt;website of Damilic&lt;&#x2F;a&gt;, the company that owns the Autopen brand. Their site has a few short “Info” and “FAQ” pages that give a couple of paragraphs of explanation for some of the company’s history and legacy machines. Somewhere, in one of those pages was a link to the absolute best resource I was able to find through this whole project: a scanned PDF that Damilic had posted of a &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;damilic.com&#x2F;info&#x2F;newsroom&#x2F;j-forensic-sci-the-autopen&quot;&gt;1970s article from the Journal of Forensic Sciences&lt;&#x2F;a&gt;. The article spans 7 pages and goes into a fair bit of detail on how the mechanical Autopens work, as well as having a labelled close-up shot of the primary mechanism of the machine.&lt;&#x2F;p&gt;
&lt;p&gt;Just by staring at the mechanism, I could see how the two pins that ride along the matrix could provide the full two degrees of freedom needed for a signature. If both of the pin arms move in towards each other, the arms would swing outward and the pen would move towards the rest of the machine. Likewise, if the pins move outwards, the pen would be pushed away from the machine. Finally, if both pins move in the same direction, the pen would move in the opposite direction. None of these kinematics are simple though. Being built around the intersection of circles, there is a limit to how far my intuition could take me. So, while the article went a long way towards helping me understand the device, I wanted to find a way to build a deeper intuition for it.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Screenshot%20From%202026-02-16%2018-38-25.png&quot; alt=&quot;Labelled Mechanism from Journal Article&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;One other amazing resource I came across was a high-resolution picture of President Lyndon B. Johnson’s signature matrix from his time in office made available by the National Archives.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Lyndon_B._Johnson_Autopen_Signature_Matrix_-_NARA_-_7788253.jpg&quot; alt=&quot;Lyndon B. Johnson Matrix&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-simulation&quot;&gt;The Simulation&lt;&#x2F;h2&gt;
&lt;p&gt;Having gathered enough information to get a rough understanding of the device and then seeing the President Johnson matrix, I began to form an idea. I decided I’d like to try and digitally simulate one of these mechanical Autopens, so that I can play with it and watch it and try to build an intuition for how they work. And finally I wanted to see if I could reproduce President Johnson’s signature from the picture of his matrix. I did not have very high hopes I’d actually pull that second part off.&lt;&#x2F;p&gt;
&lt;p&gt;I started by using the picture in the journal article to draw a sketch of the 4-bar linkage that makes up the heart of the machine and assign rough dimensions to all the pieces.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Screenshot%20From%202026-02-16%2019-09-19.png&quot; alt=&quot;Rough Estimated Geometry&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;llm-coding-adventures&quot;&gt;LLM Coding Adventures&lt;&#x2F;h3&gt;
&lt;p&gt;I won’t be going into too much detail on the code for my simulations. I used Anthropic’s Claude Code to help with much of the development and in many ways don’t consider the code fully mine. It is not a codebase I would feel comfortable releasing under my name without a good amount of refactoring. With all that said, I would not have been able to get nearly as far in this work as quickly as I did without the use of Claude or a similar LLM coding tool. I will generally say that Claude was not very useful for the physical kinematics, but did much of the heavy lifting for the computer vision, UI creation, and general script boilerplate.&lt;&#x2F;p&gt;
&lt;p&gt;I started by having Claude make a simple visualization of the 4-bar linkage interacting with a matrix. At first this was a random matrix that Claude had created that did not map to any actual signature. Having the visualization was critical for me, it was a very quick sanity check that the physics were being modeled correctly. Once the model seemed to be working for this random test template, I decided to move on to the President Johnson matrix.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;computer-vision-detour&quot;&gt;Computer Vision Detour&lt;&#x2F;h3&gt;
&lt;p&gt;To simulate the matrix, I needed a tool that could be run on the source image and create an output file with the curve information required to run the simulation and visualization. There ended up being 3 main concerns to deal with:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Extracting the curves of the matrix edges&lt;&#x2F;li&gt;
&lt;li&gt;Extracting the pen pressure&#x2F;lift information from the top ridge of the matrix&lt;&#x2F;li&gt;
&lt;li&gt;Determining the center of rotation of the matrix&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;matrix-edges&quot;&gt;Matrix Edges&lt;&#x2F;h4&gt;
&lt;p&gt;The image I was using is of quite high quality and the matrix has a high contrast against its background. This all makes the edge extraction a fairly simple computer vision task. Claude managed to get it mostly correct on its first try. If I am honest, once I confirmed that the edge extraction looked visually correct, I never dug too deep into what techniques it used to accomplish it.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;02_lbj_extraction.png&quot; alt=&quot;Extracted Edges&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;pen-lift&quot;&gt;Pen Lift&lt;&#x2F;h4&gt;
&lt;p&gt;The shape of the top ridge of the matrix controls the downward pressure of the pen. As the ridge rises, it presses down the pen like a see-saw. Just looking at the source image, it was clear to me that it would be much harder to extract programmatically. For that reason, I didn’t bother to ask Claude to do it. Instead, I had it create a UI where I could click at each point the ridge starts or ends. The tool then extracts that alongside the curves of the matrix edges and saves it to a file for use in the simulation.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Screenshot%20From%202026-02-16%2018-57-25.png&quot; alt=&quot;Pen Lift Annotation&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;center-of-rotation&quot;&gt;Center of Rotation&lt;&#x2F;h4&gt;
&lt;p&gt;As I iterated on the extraction and resulting simulation, it quickly became clear that having a precise center of rotation is critical for getting a good output. Originally I had Claude determine the center of the curves it extracted, and then I manually provided an offset from that in the form of an angle and magnitude. I even had Claude create a script to sweep a large set of angles and offset magnitudes, producing ~100 images. This managed to get a very reasonable output but seemed unacceptably brittle.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, while looking back at the images of the matrix and the Model 80, I noticed that there were 5 holes in the matrix that are seated into pegs on the turntable of the Autopen. From images of the Autopen device, it was clear that the turntable center was in the exact center of these pegs. With this insight I was able to have Claude add a step to the extraction script where I could click on 3+ peg holes on the matrix and it would use that to describe a circle and from that circle determine the center of rotation.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Screenshot%20From%202026-02-16%2018-56-30.png&quot; alt=&quot;Mounting Hole Annotation&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;extraction-results&quot;&gt;Extraction Results&lt;&#x2F;h4&gt;
&lt;p&gt;With all three of those handled, this is what the output looks like visualized. In actuality it is all stored in a binary file that can be passed to the simulator or visualizer. You can see in green the pen up and down movement. It is clear to see that the red and blue traces of the matrix have a global shift over the course of the matrix relative to its center. This is what encodes the left-to-right movement of the signature being written out. The global shift moves the pen left to right while the local variations are encoding the movement for each character of the signature. You can also make out at the very end where the curves move sharply while the pen is lifted only to drop back down momentarily for the “.” of the “B”.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;03_lbj_matrix_shape.png&quot; alt=&quot;Fully Extracted Matrix&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;results&quot;&gt;Results&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;lbj_sim.gif&quot; alt=&quot;Animated Visualization of LBJ Matrix&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In the end, I was very pleased with the results I got from the President Johnson matrix image. Below you can see a side-by-side of my results and listing image for an &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.ebay.com&#x2F;itm&#x2F;143316696411&quot;&gt;eBay listing for an Autopen LBJ signature&lt;&#x2F;a&gt;. The issue that stands out the most to me is the misplacement of the “.” after the “B”. From my prior experimentation, I know this can be resolved by manually shifting the center of rotation of the matrix just slightly. If I had to guess, it is a consequence of the source being a real picture from a camera and therefore not being a perfectly orthographic projection, which is an implicit assumption of the extraction tool. The image could also be slightly off of perfectly flat relative to the matrix.&lt;&#x2F;p&gt;
&lt;p&gt;If I find some more motivation or this generates significant interest, there are some next steps I’d like to take in this vein of work. I’d love to recreate the simulator in TypeScript and create a website that allows a visitor to use a touch input or mouse to create a signature and then have them be created as a virtual matrix. That virtual matrix along with the LBJ matrix and maybe any other famous matrices I manage to find could then be simulated and visualized. Finally, I’d really love to be able to have the site export those templates as STL or DXF files to be 3D printed or laser cut (presumably at a smaller scale than the 2 ft across of the originals). I could then design a 3D printable Autopen type device. All of these feel very doable but would also require quite a bit of time investment. It would make a very interesting conversation piece and engineering demonstration though. It would kill it at a science or engineering museum.&lt;&#x2F;p&gt;
&lt;figure style=&quot;display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;&quot;&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;03_lbj_signature.png&quot; alt=&quot;Simulated Autopen Signature&quot; style=&quot;max-width: 48%;&quot;&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;autopen&#x2F;Screenshot%20From%202026-02-16%2018-41-39.png&quot; alt=&quot;Real Autopen Signature&quot; style=&quot;max-width: 48%;&quot;&gt;
  &lt;figcaption style=&quot;width: 100%;&quot;&gt;Simulation Results (left) vs Real Autopen Signature (right)&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
</content>
        <summary type="html">Reverse engineering Lyndon B. Johnson&#x27;s signature by simulating a mechanical Autopen device using Python and computer vision.</summary>
        </entry><entry xml:lang="en">
        <title>Bluetooth Manometer for Carburetor Synchronization</title>
        <published>2024-09-25T00:00:00+00:00</published>
        <updated>2024-09-25T00:00:00+00:00</updated>
        <author>
            <name>Jason Scatena</name>
        </author>
        <link rel="alternate" href="https://scatena.co/blog/bluetooth-manometer-carb-sync/" type="text/html"/>
        <id>https://scatena.co/blog/bluetooth-manometer-carb-sync/</id>
        
            <content type="html">&lt;h2 id=&quot;bottom-line-up-front&quot;&gt;Bottom Line Up Front&lt;&#x2F;h2&gt;
&lt;p&gt;In this project, I work towards creating a portable device for synchronizing carburetors that uses bluetooth to stream live vacuum pressure readings to a phone or laptop. Pressure readings are presented as a time series plot making it easier to see how adjustments are affecting the readings. Below are some photos of the device and screenshots of the UI as I used it to synchronize the carbs on my Honda.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;DeviceMainImage.jpg&quot; alt=&quot;Prototype Device&quot;&gt;
  &lt;figcaption&gt;The device as it exists right now&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;UI_screenshot_cropped.jpg&quot; alt=&quot;UI Screenshot&quot;&gt;
  &lt;figcaption&gt;The prototype UI&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;electrical-components-design&quot;&gt;Electrical Components Design&lt;&#x2F;h2&gt;
&lt;p&gt;The key enabler of this design is a Honeywell 0-25 PSI digital absolute pressure sensor. Specifically, for the prototype I am using the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.sparkfun.com&#x2F;products&#x2F;16476&quot;&gt;SparkFun Qwiic MicroPressure&lt;&#x2F;a&gt; which provides an economical and convenient breakout board for the sensor. This sensor provides accurate readings across the entire pressure range we are interested in and is easy to interface over I2C. For this prototype, I am using two of the sensors since I personally own a two cylinder motorcycle; however, scaling up the design to 4 or even 6 sensors would not be difficult.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;SparkFun_Qwiic_MicroPressure_Sensor.jpg&quot; alt=&quot;SparkFun Qwiic MicroPressure&quot;&gt;
  &lt;figcaption&gt;SparkFun Qwiic MicroPressure Device. Image from &lt;a href=&quot;https:&#x2F;&#x2F;www.sparkfun.com&#x2F;products&#x2F;16476&quot;&gt;SparkFun&lt;&#x2F;a&gt; and licensed &lt;a href=&quot;https:&#x2F;&#x2F;creativecommons.org&#x2F;licenses&#x2F;by&#x2F;2.0&#x2F;&quot;&gt;CC BY 2.0&lt;&#x2F;a&gt;&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Reading the sensors and serving Bluetooth Low Energy communications is handled by the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.sparkfun.com&#x2F;products&#x2F;20168&quot;&gt;SparkFun ESP32 WROOM Thing Plus with USB-C&lt;&#x2F;a&gt; which uses the Espressif ESP32 microcontroller. This was my first time using this development board and I was extremely impressed. The board’s battery management and power system is very well designed and by staying in the SparkFun product ecosystem connecting the pressure sensors using their Qwiic system was painless.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, rounding out the electrical components is a LiPo battery, a small switch for turning on and off the device, and a I2C Mux board. I used the mux board to allow using two sensors from the one Qwiic connector on the Thing Plus board. As provided by Sparkfun, the sensors all share the same I2C address which would clash if they shared the same I2C bus. Honeywell provides the sensor with up to 8 different I2C addresses, but each must be ordered as a separate model of the device. For this reason it is very reasonable the SparkFun only provides the one model, however in the future a larger production run of this device would be able to simplify the design by using separate models of the sensor.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;Electrical_Compononets.jpg&quot; alt=&quot;Electrical Components Connected&quot;&gt;
  &lt;figcaption&gt;The electrical components less the battery connected together&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;firmware&quot;&gt;Firmware&lt;&#x2F;h2&gt;
&lt;p&gt;The firmware was written using the Arduino IDE, mainly for ease of development. SparkFun provides examples and libraries for most of their components in the Arduino ecosystem. The firmware sets up a Bluetooth Low Energy Service and offers two characteristics; one for each of the sensors. Each characteristic advertises a single 32 bit float value. When a client connects the device it begins sampling the sensors and publishing their values in a loop with a 10 Millisecond delay at the end of each iteration.&lt;&#x2F;p&gt;
&lt;p&gt;The code can be &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;gist.github.com&#x2F;jscatena88&#x2F;ee2522da96fa93db7b40c708e668b82f&quot;&gt;seen here on github&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;web-ui&quot;&gt;Web UI&lt;&#x2F;h2&gt;
&lt;p&gt;To display the data, I decided the path of least resistance would to use the Bluetooth Web Standards. This approach ended up working really well and was very easy to develop; however, the Bluetooth web standard is not particularly well supported so it will only run on certain combinations of browsers and devices. I found Chrome on my Android phone to work very well.&lt;&#x2F;p&gt;
&lt;p&gt;The actual data is plotted using calls to the Canvas API (which has great browser support), this makes the page highly performant and means it has no external dependencies. The HTML and Javascript all fit in one file comfortably. The code is &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jscatena88&#x2F;PressureSenseJS&quot;&gt;available here&lt;&#x2F;a&gt; but I will warn I have almost no experience with Javascript and heavily leaned on ChatGPT to write this page so don’t judge it too harshly.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;physical-design&quot;&gt;Physical Design&lt;&#x2F;h2&gt;
&lt;p&gt;Finally, I designed a 3D printable case that holds everything. By chance some flow regulator valve’s I already had that were designed for 4mm ID tubing happen to slide over the sensor’s port with a nice tight fit. The pressure sensors are somewhat fragile especially with the extra leverage of the valve adapters when they are attached (I already managed to break one of them). So, when designing the case I took extra care to ensure that the valve body and sensors were both held securely. Especially since the other half of the valve body extends from the case and is the primary touch point of the device in use.&lt;&#x2F;p&gt;
&lt;p&gt;Here are some images of my CAD design:&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;FullDesignRender.png&quot; alt=&quot;Full Design Render&quot;&gt;
  &lt;figcaption&gt;The overall appearance of the device as designed&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;DesignWithoutTop.png&quot; alt=&quot;Device without the case top&quot;&gt;
  &lt;figcaption&gt;The device with the top of the case removed&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;CaseCrossSection.png&quot; alt=&quot;Cross Section View of the Case Design&quot;&gt;
  &lt;figcaption&gt;A cross section view of the case design&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Looking at the cross-section view:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The green part is a placeholder for the battery&lt;&#x2F;li&gt;
&lt;li&gt;The top light blue part is the microcontroller&lt;&#x2F;li&gt;
&lt;li&gt;The bottom light blue part is the I2C mux&lt;&#x2F;li&gt;
&lt;li&gt;The orange part between the battery and I2C mux is a 3d printed piece that snaps into place securing the battery and mux&lt;&#x2F;li&gt;
&lt;li&gt;The two sensors are also in orange. Note that the regulator valves I am using were modeled in as if they were both one part&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;In the bottom shell of the case there are rectangular holes in the geometry that supports the regulator valves. They are used to securely zip tie the valves into place. The power switch snaps into place in the top shell of the case, the geometry for this can just barely be made out in the top shell of the case in the cross-section view. The two halves of the case are held together with four M3 screws. The bottom shell has hexagonal holes that are a friction fit for the nuts that the screws thread into.&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few images of the device while being assembled and from various angles:&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;DeviceInternals.jpg&quot; alt=&quot;Assembled Device&quot;&gt;
  &lt;figcaption&gt;The device with the top of the case removed&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;DeviceTop.jpg&quot; alt=&quot;Top View&quot;&gt;
  &lt;figcaption&gt;Top down view of the device&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;DeviceUnderside.jpg&quot; alt=&quot;Underside View&quot;&gt;
  &lt;figcaption&gt;Underside view of the device&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;And finally for fun here are a few printed iterations of the design as I worked through the design process:&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;IterationsOfShellDesign.jpg&quot; alt=&quot;Print Iterations&quot;&gt;
  &lt;figcaption&gt;Iterations of the case design&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;hosted-ui&quot;&gt;Hosted UI&lt;&#x2F;h2&gt;
&lt;p&gt;If you end up building one of these you can access the UI Page here on my website by scanning the QR code below of going to the URL &lt;a href=&quot;&#x2F;pressure_sense.html&quot;&gt;https:&#x2F;&#x2F;scatena.co&#x2F;pressure_sense&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;bluetooth_manometer&#x2F;pressure_sense_link_w_margin.png&quot; alt=&quot;QR Code&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;next-steps&quot;&gt;Next Steps&lt;&#x2F;h2&gt;
&lt;p&gt;With the work described above I have a device that works for me and my use case. In fact it has already helped me get my motorcycle running better. Hopefully, the information above is also enough that anyone else who is interested could make their own. However, if it seems like their is potential interest I have been batting around the idea of spending more time on the project to really elevate it from a one-off prototype to at least an Alpha product, maybe even trying to sell kits or PCBs on my site or a crowd funding site. If I went that direction the below is a minimum of the additional work I would want to do before launching.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;A custom PCB, to cut down on costs, reduce part count, and improve packaging&lt;&#x2F;li&gt;
&lt;li&gt;A case design that integrates a pressure manifold for the sensors and avoids the need for the flow regulator valves&lt;&#x2F;li&gt;
&lt;li&gt;Improved firmware to add battery information to BLE outputs and possibly uses power saving modes when the device it idle&lt;&#x2F;li&gt;
&lt;li&gt;Improved UI, that is easier to use and looks better. I will also probably have to reevaluate whether the Web Bluetooth standard is the right tool for the job. I love how light weight and easy to use it is, but I don’t love that it forces users to have a web connection just to interact with a simple application, and the lack of support on iOS and Linux devices is less than ideal&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        <summary type="html">Building a portable Bluetooth manometer using ESP32 and digital pressure sensors for motorcycle carburetor synchronization.</summary>
        </entry><entry xml:lang="en">
        <title>Internal Mic Fix for Lenovo T14s Gen 4 w&#x2F; AMD on Ubuntu 24.04</title>
        <published>2024-04-26T00:00:00+00:00</published>
        <updated>2024-04-26T00:00:00+00:00</updated>
        <author>
            <name>Jason Scatena</name>
        </author>
        <link rel="alternate" href="https://scatena.co/blog/mic-fix-ubuntu-24-04-lenovo-t14s-gen-4-amd/" type="text/html"/>
        <id>https://scatena.co/blog/mic-fix-ubuntu-24-04-lenovo-t14s-gen-4-amd/</id>
        
            <content type="html">&lt;p&gt;I recently purchased a Lenovo T14s Gen 4 with the Amd Ryzen 7840u and loaded the brand new LTS version of Ubuntu on it, 24.04. To my dismay the internal microphone was not recognized at all in any of the sound settings. Finding a solution took a couple hours of reading logs and Googling so I’m putting that knowledge here to helpfully help anyone else in the same situation.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-issue&quot;&gt;The Issue&lt;&#x2F;h2&gt;
&lt;p&gt;In the Ubuntu setting I was unable to find any recording devices. However, running the command: &lt;code&gt;lspci -knn | grep Audio&lt;&#x2F;code&gt; I was able to see three devices. Notably I saw:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;c3:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP&#x2F;ACP3X&#x2F;ACP6x Audio Coprocessor [1022:15e2] (rev 63)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	Subsystem: Lenovo ACP&#x2F;ACP3X&#x2F;ACP6x Audio Coprocessor [17aa:50d8]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is the internal microphone for the laptop.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-fix&quot;&gt;The Fix&lt;&#x2F;h2&gt;
&lt;p&gt;Getting it working ended up being fairly trivial once I found the solution. Specifically &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;bbs.archlinux.org&#x2F;viewtopic.php?id=294307&quot;&gt;this post on the Archlinux Forums&lt;&#x2F;a&gt;. The answer is to add a file to &lt;code&gt;&#x2F;etc&#x2F;modules-load.d&#x2F;&lt;&#x2F;code&gt; in order to load the correct kernel modules for the internal mic. The exact command the author of the post gave (which worked great for me) is:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;echo -e &amp;quot;snd-pci-ps\nsnd-soc-ps-mach&amp;quot; | sudo tee &#x2F;etc&#x2F;modules-load.d&#x2F;sound.conf &amp;gt; &#x2F;dev&#x2F;null&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;After that I rebooted, and my mic is working great.&lt;&#x2F;p&gt;
</content>
        <summary type="html">Quick fix for the internal microphone not being recognized on a Lenovo T14s Gen 4 with AMD Ryzen 7840U running Ubuntu 24.04.</summary>
        </entry><entry xml:lang="en">
        <title>Molded Silicone Parts Follow Up</title>
        <published>2024-03-28T00:00:00+00:00</published>
        <updated>2024-03-28T00:00:00+00:00</updated>
        <author>
            <name>Jason Scatena</name>
        </author>
        <link rel="alternate" href="https://scatena.co/blog/molded-bushings-follow-up/" type="text/html"/>
        <id>https://scatena.co/blog/molded-bushings-follow-up/</id>
        
            <content type="html">&lt;h2 id=&quot;background&quot;&gt;Background&lt;&#x2F;h2&gt;
&lt;p&gt;In &lt;a href=&quot;https:&#x2F;&#x2F;scatena.co&#x2F;blog&#x2F;molded-silicone-parts-for-a-vintage-honda&#x2F;&quot;&gt;my last post&lt;&#x2F;a&gt;, I wrote about my experience attempting to recreate out-of-production rubber parts for my vintage motorcycle. The post left off with promising prototype parts. This follow-up covers the process of refining those prototypes into a full set of installed parts for my bike.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;CompletedBushings.jpg&quot; alt=&quot;Final Parts&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;from-prototype-to-final-parts&quot;&gt;From Prototype to Final Parts&lt;&#x2F;h2&gt;
&lt;p&gt;To make the parts look correct, I wanted them to be black like the originals. While specialty silicone pigments exist, I ended up using black mica powder obtained from Amazon.com. The mica powder seemed to work well for my purposes.&lt;&#x2F;p&gt;
&lt;p&gt;I also 3D printed two additional copies of my mold. Each mold can cast two bushings, and each casting was taking around 12-24 hours to cure. Since I needed six bushings in total, having three molds allowed me to cast them all in one shot, with the added benefit of wasting less silicone material.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;casting-the-parts&quot;&gt;Casting the Parts&lt;&#x2F;h2&gt;
&lt;p&gt;The process of mixing the silicone and pouring the parts was identical to the one described in my last post, except for the addition of the mica powder. I simply eyeballed a small amount of the powder and added it while mixing the two-part silicone. After pouring the parts, I left them on my 3D printer’s heated bed overnight at 40°C to cure.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;PouredParts.jpg&quot; alt=&quot;Parts Curing&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;De-molding the parts and removing the flashing went smoothly, leaving me with six black bushings ready for installation on my motorcycle.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;installing-the-bushings&quot;&gt;Installing the Bushings&lt;&#x2F;h2&gt;
&lt;p&gt;A few days later, I found time to work on my bike in the shop. The first step was removing the existing bushings, which were in a deplorable state, as the picture below illustrates.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;OldBushings.jpg&quot; alt=&quot;Old Bushings&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Installing my silicone bushings, I was pleasantly surprised by how well they fit. The internal cone&#x2F;washer piece that ran through the middle fit snugly without requiring excessive force.&lt;&#x2F;p&gt;
&lt;figure style=&quot;display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;&quot;&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;WasherFront.jpg&quot; alt=&quot;Washer Mounted Front&quot; style=&quot;max-width: 48%;&quot;&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;WasherRear.jpg&quot; alt=&quot;Washer Mounted Rear&quot; style=&quot;max-width: 48%;&quot;&gt;
  &lt;figcaption style=&quot;width: 100%;&quot;&gt;Installed Cone Washer from the Front (left) and Back (right)&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The bushings themselves were easy to install into the sheet metal holes in the air box, requiring just a bit of squeezing to get the wider part through the opening.&lt;&#x2F;p&gt;
&lt;figure style=&quot;display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;&quot;&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;BushingMounted.jpg&quot; alt=&quot;Bushing in Sheet Metal Front&quot; style=&quot;max-width: 48%;&quot;&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone_2&#x2F;BushingMountedSide.jpg&quot; alt=&quot;Bushing in Sheet Metal Side&quot; style=&quot;max-width: 48%;&quot;&gt;
  &lt;figcaption style=&quot;width: 100%;&quot;&gt;Front view of the bushing installed (left) and side profile view (right). Although the side profile shot is slightly out of focus, you can make out the bushing on both sides of the sheet metal it slots into, and the nut welded to the motorcycle&#x27;s frame that everything bolts down to.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;wrap-up&quot;&gt;Wrap Up&lt;&#x2F;h2&gt;
&lt;p&gt;Casting and installing the parts went smoothly. While I can’t comment on their long-term durability yet, I’m optimistic as they seem quite robust. The color, fit, and finish of the parts exceeded my expectations for this DIY project.&lt;&#x2F;p&gt;
&lt;p&gt;I already have another rubber piece on the motorcycle that I’m looking to recreate next. That part has a much more intricate geometry and will offer additional challenges, but my spectacular results here have given me the confidence to tackle it.&lt;&#x2F;p&gt;
</content>
        <summary type="html">Follow-up on casting custom silicone bushings for a vintage Honda CJ360T, from prototype to installed parts.</summary>
        </entry><entry xml:lang="en">
        <title>Molded Silicone Parts for a Vintage Honda CJ360T</title>
        <published>2024-02-25T00:00:00+00:00</published>
        <updated>2024-02-25T00:00:00+00:00</updated>
        <author>
            <name>Jason Scatena</name>
        </author>
        <link rel="alternate" href="https://scatena.co/blog/molded-silicone-parts-for-a-vintage-honda/" type="text/html"/>
        <id>https://scatena.co/blog/molded-silicone-parts-for-a-vintage-honda/</id>
        
            <content type="html">&lt;h2 id=&quot;background&quot;&gt;Background&lt;&#x2F;h2&gt;
&lt;p&gt;I own several motorcycles, and in my pursuit of novelty I usually buy and sell bikes fairly regularly. Most bikes stick around for 1-3 riding seasons on average. However, one bike I can never bring myself to sell. It is the first motorcycle I ever bought (back in 2014) a 1976 Honda CJ360T I’ve named Josie.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;IMG_20180630_195125.jpg&quot; alt=&quot;Josie Side Profile&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As reliable as these old hondas are they are still 50 year old bikes and tend to require a fair bit of maintenance and tinkering, but that is half the fun. This post is my experience using tools in my home office to remake an out of production rubber part for my bike.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-part&quot;&gt;The Part&lt;&#x2F;h3&gt;
&lt;p&gt;On each side of the CJ is an airbox that holds the air filter and feeds air into the carbs. They are held onto the bike with 3 bolts (Part #20). To keep vibrations down there is a rubber bushing that isolates the airbox from the frame (part #16). Finally, there is a metal washer&#x2F;collar piece that is the interface between the bolt and the bushing. Refer to the part diagram below for a visual representation.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;PartDiagram.png&quot; alt=&quot;Part Diagram&quot;&gt;
  &lt;figcaption&gt;Diagram from &lt;a href=&quot;https:&#x2F;&#x2F;www.partzilla.com&#x2F;catalog&#x2F;honda&#x2F;motorcycle&#x2F;1976&#x2F;cj360t-a&#x2F;air-cleaner-side-cover&quot;&gt;Partzilla&lt;&#x2F;a&gt;&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The rubber bushings on my motorcycle are all either missing or in various states of disintegration. The Honda part number of the bushing is &lt;code&gt;31403-323-000&lt;&#x2F;code&gt; and while it is no longer manufactured, some suppliers do have new-old-stock examples available.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;HON-31403-323-000-2.jpg&quot; alt=&quot;OEM Part&quot;&gt;
  &lt;figcaption&gt;Picture of the original part &lt;a href=&quot;https:&#x2F;&#x2F;www.partswarehouse.com&#x2F;Honda-Rubber-HON-31403-323-000-p&#x2F;HON-31403-323-000.htm&quot;&gt;courtesy of PartsWarehouse&lt;&#x2F;a&gt;&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;They seem to go for &lt;del&gt;$4 each with shipping on top of that. I need six of them which would come to $24 plus shipping (&lt;&#x2F;del&gt;$8 when I looked). This got me thinking about trying to produce these parts myself. These are not the only degrading rubber parts on a bike as old as this and some of those parts aren’t available anymore at all. So a success here would allow me to make quite a few parts for this bike.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-plan&quot;&gt;The Plan&lt;&#x2F;h3&gt;
&lt;p&gt;My plan was to use 2 part silicone and cast it in a 3d printed mold. This type of silicone is most often used for making molds however a recent &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;youtu.be&#x2F;xDoUztSoyvk&quot;&gt;video on the FormLabs youtube channel&lt;&#x2F;a&gt; got me thinking about using it with a 3d printed mold to produce a final part. I ordered a cheap kit on Amazon with seemingly decent reviews, and started 3D modeling while awaiting its arrival.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;mold-v1&quot;&gt;Mold V1&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;design&quot;&gt;Design&lt;&#x2F;h3&gt;
&lt;p&gt;I went to Fusion 360 and started by modeling the bushing itself. From there I modeled a cube over the part and subtracted out the bushing from the middle. This left me with a solid cube with a negative space in the middle in the shape of the part I wanted. I split this cube into 3 parts, one cylinder for the middle and two halves that hold the cylinder in place. The two halves got a set of four holes so they could be bolted together with M3 hardware. For each half I added a hole into the molding chamber, one for silicone to be injected into and the other for air to escape from. To that end, I placed one hole on the bottom and one on the top.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;Bushing.PNG&quot; alt=&quot;Bushing Model&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;V1Split.PNG&quot; alt=&quot;V1 Split&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;V1Final.PNG&quot; alt=&quot;V1 Final&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;My plan was to use a large syringe to inject the silicone into the mold. I sourced a kit off amazon that had large syringes and a length of tubing. I sized the holes on the outside of the mold to accept the tubing.&lt;&#x2F;p&gt;
&lt;figure&gt;
  &lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;PXL_20240225_181432659.MP.jpg&quot; alt=&quot;Mold V1&quot;&gt;
  &lt;figcaption&gt;Mold V1 after printing in Gray PLA on my Prusa MK2&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;casting&quot;&gt;Casting&lt;&#x2F;h3&gt;
&lt;p&gt;Upon receiving my silicone, I jumped right into trying my mold out. After filling the mold the part needed to cure overnight. However, I quickly realized I needed some way to seal off the fill hole of the mold. I ended up wrapping the whole mold in strips of duct tape to try and seal off both holes, but the duct tape did not stick well to the silicone covered mold and the seal was anything but liquid tight. Additionally, while the 2 part silicone claims a 6 hour cure time I found that it was still very liquidy even after 6 hours (based on the leftovers in the mixing cup). Looking at reviews for the product this seems to be a common complaint. Thankfully, since this is platinum-cure silicone the cure can be sped up with heat. I put the mold and mixing cup of leftovers in a warm spot and by the next morning they were set up.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;results&quot;&gt;Results&lt;&#x2F;h3&gt;
&lt;p&gt;Finally it was time to de-mold the parts and the results were less than ideal. However, that was to be expected for a first shot, and the lessons I learned allowed me to quickly iterate my next attempt.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;PXL_20240225_181503049.MP.jpg&quot; alt=&quot;V1 Results&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A large amount of air ended up being trapped in the mold and because of that ~1&#x2F;3 of the part was just missing. I think this had two causes; first, the poor seal of the duct tape covering on the fill port let some silicone seep out and air took its place. Second, bubbles in the silicone mix rose to the surface becoming one large air pocket.&lt;&#x2F;p&gt;
&lt;p&gt;The first issue can be addressed with a better designed mold. For the second, I do not have access to a vacuum chamber which is the proper way to deal with bubbles in the mix. However the mix I am using advertises its ability to degas itself after pouring. This is likely accomplished with its relatively low viscosity and long cure time.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;mold-v2&quot;&gt;Mold V2&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;design-1&quot;&gt;Design&lt;&#x2F;h3&gt;
&lt;p&gt;Armed with the lessons learned from my first mold design and my first casting experience I tried again. This time I decided to make the mold with an open top. This would allow bubbles in the mix to rise to the surface without getting trapped. Pouring the mix in from an open top would also mean there is no fill port to seal.&lt;&#x2F;p&gt;
&lt;p&gt;The new design started out just as before with a cube that had the model of the busing itself subtracted from the middle. Next I cut out the top of the mold with a circle just barely wider than the bushing itself (this was to create a lip I could use to gauge the height during the pour). Next, I split the cube with very shallow cone shape to create a separate top piece. I split this top in half lengthwise and added bolt holes. This gave me 3 pieces; a bottom with the pug for the central hole and two top halves that could be pulled away from the side. By pulling away from the side the mold could cast the undercut of the bushing shape and still be pulled away after curing.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I decided to try for 2 parts in one go this time since the smallest batch of mix you can feasibly make is quite a bit more than what is needed for a single bushing, and any leftovers are effectively just a waste. To do that I just copied all three pieces, shifted the copies over and combined them to the original bodies.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;V2Split.PNG&quot; alt=&quot;V2 Split 1&quot; &#x2F;&gt;
&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;V2Split2.PNG&quot; alt=&quot;V2 Split 2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;V2Final.PNG&quot; alt=&quot;V2 Final&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;PXL_20240225_184117452.MP.jpg&quot; alt=&quot;Mold V2 First Picture&quot; &#x2F;&gt;
&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;PXL_20240225_184133340.MP.jpg&quot; alt=&quot;Mold V2 Second Picture&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;casting-1&quot;&gt;Casting&lt;&#x2F;h3&gt;
&lt;p&gt;This time casting went much smoother. I let the silicone sit for about 30 minutes after mixing so that most of the bubbles could dissipate before I tried pouring it. I then poured the mix into the mold, pouring slowly, filling the bottom completely before letting any silicone get into the top. I did this to avoid trapping air under the shelf in the mold. The seal between the mold pieces isn’t perfect but the mix is viscous enough to not leak out. Finally, I put the poured molds on to my 3d printer’s build plate with the heat set to 45°C and placed a cardboard box over them.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;results-1&quot;&gt;Results&lt;&#x2F;h3&gt;
&lt;p&gt;After the pieces were fully cured I was able to remove them from the mold without too much difficulty and the results were much better. Below is a picture of the two pieces after I trimmed the flashing off of them.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;molded_silicone&#x2F;PXL_20240225_190009421.MP.jpg&quot; alt=&quot;v2 results&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There are still quite a few bubbles in the parts, however they seem solid enough to be usable. For my next attempt I will probably let the silicone sit even longer before pouring it and see if that helps.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wrap-up&quot;&gt;Wrap Up&lt;&#x2F;h2&gt;
&lt;p&gt;I have yet to try these parts on my bike. I need to cast 4 more and then I will try them out. I have some concerns about their durability as they quite a bit softer than I imagine the OEM parts are but only time will tell. Either way I am quite impressed with how easy this process is and already have at least one other part I want to try remaking. I am also planning on looking into pigments for 2 part silicone so I can make the parts black and get a more OEM look. I will try to post an update on how these parts work in the field and any other parts I end up making with the same process.&lt;&#x2F;p&gt;
</content>
        <summary type="html">Using 2-part silicone and 3D printed molds to recreate out-of-production rubber bushings for a 1976 Honda CJ360T.</summary>
        </entry>
</feed>
