<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Andy Sigler</title>
    <description>I make things.</description>
    <link>https://www.andysigler.com/</link>
    <atom:link href="https://www.andysigler.com/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>uArm Python API</title>
        <description>&lt;p&gt;The &lt;strong&gt;uarm-python-wrapper&lt;/strong&gt; &lt;a href=&quot;https://github.com/andysigler/uarm-python-wrapper&quot;&gt;see on GitHub&lt;/a&gt; is a fork and wrapper/extension of the &lt;a href=&quot;https://github.com/uArm-Developer/uArm-Python-SDK&quot;&gt;uArm-Python-SDK&lt;/a&gt; from uFactory. The goal of this fork is to create a more intuitive and easier to use set of controls for the &lt;a href=&quot;https://store.ufactory.cc/products/uarm&quot;&gt;uArm Swift/SwiftPro&lt;/a&gt;, built on-top of the original Python API from uFactory.&lt;/p&gt;

&lt;p&gt;All code was developed as a part of a fellowship at NYU’s ITP program, from February to May 2020.&lt;/p&gt;

&lt;p&gt;Demo projects were made using the uArm Swift Pro, to have fun and explore the arm’s functionality.&lt;/p&gt;

&lt;h3 id=&quot;tic-tac-toe&quot;&gt;Tic-Tac-Toe&lt;/h3&gt;

&lt;p&gt;The uArm uses it’s camera and a marker to play tic-tac-toe with me. &lt;a href=&quot;https://github.com/andySigler/uarm-projects/tree/master/tictactoe&quot;&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.andysigler.com/images/uarm_tictactoe_video.mp4&quot;&gt;&lt;img src=&quot;https://www.andysigler.com/images/uarm_tictactoe_video_image.png&quot; alt=&quot;Tic-Tac-Toe Video&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;basketball&quot;&gt;Basketball&lt;/h3&gt;

&lt;p&gt;The uArm uses it’s camera and suction tool to play a solo game of basketball. &lt;a href=&quot;https://github.com/andySigler/uarm-projects/tree/master/basketball&quot;&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See the video, click the image below:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.andysigler.com/images/uarm_basketball_video.mp4&quot;&gt;&lt;img src=&quot;https://www.andysigler.com/images/uarm_basketball_video_image.png&quot; alt=&quot;Basketball Video&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;knife-game&quot;&gt;Knife Game&lt;/h3&gt;

&lt;p&gt;The uArm uses (safe) plastic knife to play the knife game &lt;a href=&quot;https://www.youtube.com/watch?v=3hiTlGNDH9Y&quot;&gt;from the movie Aliens&lt;/a&gt;. &lt;a href=&quot;https://github.com/andySigler/uarm-projects/tree/master/knife&quot;&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See the video, click the image below:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.andysigler.com/images/uarm_knife_video.mp4&quot;&gt;&lt;img src=&quot;https://www.andysigler.com/images/uarm_knife_video_image.png&quot; alt=&quot;Knive Video&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/projects/uarm-api/</link>
        <guid isPermaLink="true">https://www.andysigler.com/projects/uarm-api/</guid>
      </item>
    
      <item>
        <title>Oda Speaker System</title>
        <description>&lt;!-- remove border from title image, b/c it has alpha channel --&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    document.getElementById(&apos;titleImage&apos;).style.border = &apos;0px&apos;;
&lt;/script&gt;

&lt;p&gt;The Oda speaker system (&lt;a href=&quot;https://oda.co&quot;&gt;oda.co&lt;/a&gt;) is designed for playing live performances. It consists of a pair of flat-panel (DML) speakers, a wireless amplifier, and the backend infrastructure for streaming live sound.&lt;/p&gt;

&lt;p&gt;Upon connecting their speakers to WiFi, customers can listen to daily livestreams and musical performances from locations and artists around the world.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;WiFi streams&lt;/li&gt;
  &lt;li&gt;Bluetooth audio&lt;/li&gt;
  &lt;li&gt;Line-In (Aux)&lt;/li&gt;
  &lt;li&gt;BLE App control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/oda-lighthouse.png&quot; alt=&quot;oda-lighthouse&quot; /&gt;
&lt;!-- ![oda-accessories](https://www.andysigler.com/images/oda-accessories.png)  --&gt;&lt;/p&gt;

&lt;p&gt;The flat-panel (DML) speakers are a novel design, which look simple and sleak, as well as being uniquely suited for live performances because of their spread-spectrum response.&lt;/p&gt;

&lt;p&gt;High frequencies are scattered in multiple directions, creating a larger stereo image and presence for the listener.&lt;/p&gt;

&lt;p&gt;See the slow-motion video below, showing how the speakers moves:&lt;/p&gt;

&lt;video id=&quot;vid_oda_soundboard&quot; style=&quot;width:100%;max-width:400px; height:auto; border:1px solid #aaa&quot; width=&quot;640&quot; height=&quot;360&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/oda-moving-soundboard.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/oda-moving-soundboard.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/oda-moving-soundboard.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_oda_soundboard = document.getElementById(&apos;vid_oda_soundboard&apos;);
    vid_oda_soundboard.removeAttribute(&apos;controls&apos;);
    vid_oda_soundboard.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_oda_soundboard.play();
    })
&lt;/script&gt;

&lt;!-- ![oda-table-top](https://www.andysigler.com/images/oda-table-top.png) --&gt;

&lt;!-- Our 2nd-generation speakers (pictured below) achieve a frequency reponse of ~40Hz-20kHz, making them both look great and sound big.

![oda-inside-panel-v2](https://www.andysigler.com/images/oda-inside-panel-v2.png) --&gt;

&lt;p&gt;The core electronics components are the ESP32 from Espressif, and the TAS5825M audio amplifier from TI.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/oda-pcb.png&quot; alt=&quot;oda-pcb&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A testing and fulfillment center was established in Brooklyn, NY to test and ship our first 1000 units to customers. A major component of our R&amp;amp;D and testing suite was the Klippel KA3 and a custom-build “panel-chamber” for acoustically isolated our speakers during evaluation.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/oda-panel-chamber.png&quot; alt=&quot;oda-panel-chamber&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Below is a picture of the many units we tested and shipped.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/oda-fulfillment-center.png&quot; alt=&quot;oda-fulfillment-center&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/products/oda-speaker-system/</link>
        <guid isPermaLink="true">https://www.andysigler.com/products/oda-speaker-system/</guid>
      </item>
    
      <item>
        <title>Never Before Heard Sounds</title>
        <description>&lt;p&gt;Never Before Hear Sounds’ real-time hardware does timbre transformations on the sounds of a performer. This application of machine learning uses pre-trained models to automatically change, for example, what instrument it sounds like is being played.&lt;/p&gt;

&lt;p&gt;Learn more about it &lt;a href=&quot;https://heardsounds.com/hardware&quot;&gt;on their website&lt;/a&gt;.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/-4p8ICPYkG4&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h4 id=&quot;contributions&quot;&gt;Contributions&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;Electronics selection and prototyping&lt;/li&gt;
  &lt;li&gt;PCB design and testing&lt;/li&gt;
  &lt;li&gt;DFM and prototype batch build&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/nbhs-pcbs-table.jpg&quot; alt=&quot;nbhs-pcbs-table&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/nbhs-enclosure-bottom.jpg&quot; alt=&quot;nbhs-enclosure-bottom&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/nbhs-enclosure-no-knobs.jpg&quot; alt=&quot;nbhs-enclosure-no-knobs&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/products/nbhs/</link>
        <guid isPermaLink="true">https://www.andysigler.com/products/nbhs/</guid>
      </item>
    
      <item>
        <title>Tensorflow Simpsons Morph</title>
        <description>&lt;h1 id=&quot;click-here-to-try-it-out&quot;&gt;&lt;a href=&quot;https://andysigler.github.io/ml-experiments/experiments/4/output&quot;&gt;Click here to try it out!&lt;/a&gt;&lt;/h1&gt;

&lt;p&gt;This experiment uses a convolutional autoencoder for performing principle component analysis on images of The Simpsons faces.&lt;/p&gt;

&lt;p&gt;This time, I wanted to focus on hyper-parameter tuning. Instead of guessing hyper-parameters and then overfitting, instead I built methods for iteratively training different parameters, and then analyzing the results on validation data.&lt;/p&gt;
</description>
        <pubDate>Wed, 21 Aug 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/machine-learning/tensorflow-simpsons-morph/</link>
        <guid isPermaLink="true">https://www.andysigler.com/machine-learning/tensorflow-simpsons-morph/</guid>
      </item>
    
      <item>
        <title>Tensorflow Doodling MDN</title>
        <description>&lt;h1 id=&quot;click-here-to-try-it-out&quot;&gt;&lt;a href=&quot;https://andysigler.github.io/ml-experiments/experiments/3/output&quot;&gt;Click here to try it out!&lt;/a&gt;&lt;/h1&gt;

&lt;p&gt;Here’s another small experiment in machine learning. I wanted to make a model that can mimic how I doodle.&lt;/p&gt;

&lt;p&gt;This time, I used an MDN output layer to attempt to generate “real-world” samples from the output of an RNN model.&lt;/p&gt;
</description>
        <pubDate>Wed, 07 Aug 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/machine-learning/tensorflow-doodling-mdn/</link>
        <guid isPermaLink="true">https://www.andysigler.com/machine-learning/tensorflow-doodling-mdn/</guid>
      </item>
    
      <item>
        <title>Tensorflow Vocoder Autoencoder</title>
        <description>&lt;h1 id=&quot;click-here-to-try-it-out&quot;&gt;&lt;a href=&quot;https://andysigler.github.io/ml-experiments/experiments/2&quot;&gt;Click here to try it out!&lt;/a&gt;&lt;/h1&gt;

&lt;p&gt;As one of the first small experiments I have made while teaching myself machine learning and tensorflow, I made something I find kind of fun/weird.&lt;/p&gt;

&lt;p&gt;I built an autoencoder that learned David Attenborough’s vocal features, and allow it to generate throat noises with an XY pad in the browser.&lt;/p&gt;
</description>
        <pubDate>Fri, 19 Jul 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/machine-learning/tensorflow-vocoder-autoencoder/</link>
        <guid isPermaLink="true">https://www.andysigler.com/machine-learning/tensorflow-vocoder-autoencoder/</guid>
      </item>
    
      <item>
        <title>Tensorflow Learning Materials</title>
        <description>&lt;p&gt;[Updated July 11, 2019]&lt;/p&gt;

&lt;p&gt;Beginning to absorb machine learning, and how I might apply it towards my interests, has been a daunting task these past few weeks. Even with all the hype, tensorflow has what feels like no (zero) good examples, tutorials, guides.&lt;/p&gt;

&lt;p&gt;This is a list of the things I’ve used to understand machine learning concepts, tensorflow basics, and building a model.&lt;/p&gt;

&lt;p&gt;[Note] these are ordered psuedo-chronologically, the idea being I wish I started at the first one, and ended with the last one.&lt;/p&gt;

&lt;h3 id=&quot;make-your-own-neural-network&quot;&gt;&lt;a href=&quot;https://www.amazon.com/Make-Your-Own-Neural-Network-ebook/dp/B01EER4Z4G&quot;&gt;Make Your Own Neural Network&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Great (short) book by Tariq Rashid, guides the reader through writing a simple deep network from scratch in python.&lt;/p&gt;

&lt;h3 id=&quot;machine-learning-for-artists&quot;&gt;&lt;a href=&quot;https://ml4a.github.io/ml4a/&quot;&gt;Machine Learning for Artists&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Website and courses by Gene Kogan, and understanding neural networks from the non-engineering, creative perspective. The lecture are great to just sit back and watch, try to absorb before moving on to actually making anything.&lt;/p&gt;

&lt;h3 id=&quot;mit-6s191-introduction-to-deep-learning&quot;&gt;&lt;a href=&quot;https://introtodeeplearning.com/&quot;&gt;MIT 6.S191: Introduction to Deep Learning&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This short course was taught January 2019 to MIT students, and is a great intro and overview of what machine learning and tensorflow can offer. There are just a few lectures, and some homework that goes with them.&lt;/p&gt;

&lt;h3 id=&quot;tensoflow-tutorials-from-github-user-aymericdamien&quot;&gt;&lt;a href=&quot;https://github.com/aymericdamien/TensorFlow-Examples&quot;&gt;Tensoflow Tutorials from GitHub user aymericdamien&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;These tutorials have the most stars on github, the I love them because they don’t have distracting dependencies. These tutorials also include both lower-level learning, plus later examples that use Keras layer.&lt;/p&gt;

&lt;h3 id=&quot;tensorflow-v2-alpha-tutorials&quot;&gt;&lt;a href=&quot;https://www.tensorflow.org/alpha&quot;&gt;Tensorflow v2 Alpha Tutorials&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;The offical tutorials. These are good for getting a deeper explaination from the developers. However, the tutorials have a lot of distracting dependencies, and the explainations tend to say a lot yet say very little…&lt;/p&gt;

&lt;h3 id=&quot;deep-learning-book&quot;&gt;&lt;a href=&quot;https://www.deeplearningbook.org/&quot;&gt;Deep Learning Book&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I read that this was considered the “bible” of machine learning. I found that while it can be fairly dense with mathematics, there are some invaluable bottom-line summaries, suggestions, and best-practices riddled throughout this book.&lt;/p&gt;

&lt;h3 id=&quot;a-recipe-for-training-neural-networks&quot;&gt;&lt;a href=&quot;https://karpathy.github.io/2019/04/25/recipe/&quot;&gt;A Recipe for Training Neural Networks&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Coming from designing electro-mechanical and wireless systems, I know how the development, test, and debug approach is very import. This reading gives what seems like great advice for how to approach buidling a model, step-by-step, to help catch mistakes when they happen.&lt;/p&gt;
</description>
        <pubDate>Sat, 18 May 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/machine-learning/tensorflow-learning-materials/</link>
        <guid isPermaLink="true">https://www.andysigler.com/machine-learning/tensorflow-learning-materials/</guid>
      </item>
    
      <item>
        <title>Colorful Solder Mask</title>
        <description>&lt;p&gt;This is exciting for me and my graduate course, &lt;a href=&quot;https://www.homemadehardware.com&quot;&gt;Homemade Hardware&lt;/a&gt;. I figured out how to make DIY PCBs with any design and color soldermask I want (wow!).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/colorful-solder-mask-cool-goo.jpg&quot; alt=&quot;Mid-Process of Solder Mask&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The reason this is so exciting for my class, is because I teach non-engineers, mostly artists and designers, how to design and fabricate circuit boards. If I am able to teach them how to make those same boards with any 2d design they want, I expect it will make them even more excited about the course.&lt;/p&gt;

&lt;p&gt;Not to mention, I hope some students will make some truly beautiful boards that would otherwise (not DIY) be possible (or at least not easy to get made somewhere).&lt;/p&gt;

&lt;p&gt;For now, I have no documentation of the process, but next Spring I will be including this process in my class website.&lt;/p&gt;
</description>
        <pubDate>Fri, 17 May 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/hardware/colorful-solder-mask/</link>
        <guid isPermaLink="true">https://www.andysigler.com/hardware/colorful-solder-mask/</guid>
      </item>
    
      <item>
        <title>OT2 Liquid Handler Electronics</title>
        <description>&lt;p&gt;The Opentrons OT2 liquid handler is the 2nd generation liquid handler from Opentrons.&lt;/p&gt;

&lt;p&gt;I had the privelege of owning the planning, development, and implementation of all electronics in the machine, as well as leading firmware and motion-control systems.&lt;/p&gt;

&lt;video id=&quot;vid_ot2&quot; style=&quot;width:100%; height:auto; border:1px solid #aaa&quot; width=&quot;854&quot; height=&quot;480&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_video.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_video.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_video.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_ot2 = document.getElementById(&apos;vid_ot2&apos;);
    vid_ot2.removeAttribute(&apos;controls&apos;);
    vid_ot2.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_ot2.play();
    })
&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;circuit-boards&quot;&gt;Circuit Boards&lt;/h2&gt;

&lt;p&gt;The OT2 has 13 circuit boards inside it (plus a Raspberry Pi 3 and USB camera):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_pcb_artwork.jpg&quot; alt=&quot;OT2 with PCBs&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The motor-driver PCB is in the machine’s head. It can control 6 stepper motors, and runs on a fork of the open-source &lt;a href=&quot;https://github.com/opentrons/Smoothiewareot&quot;&gt;Smoothieware&lt;/a&gt; firwmare.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_production_boards.jpg&quot; alt=&quot;OT2 PCBs&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img style=&quot;max-width:32%&quot; src=&quot;https://www.andysigler.com/images/ot2_production_caitlyn.jpg&quot; /&gt;
&lt;img style=&quot;max-width:61%;margin-left:3.5%&quot; src=&quot;https://www.andysigler.com/images/ot2_production_kris.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;flex-ribbon-cable&quot;&gt;Flex Ribbon Cable&lt;/h2&gt;

&lt;p&gt;A 2-meter-long ribbon cable is used to route 32 conductors (power, data, and motor signals):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_production_cables.jpg&quot; alt=&quot;OT2 Ribbon Cables&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;electronic-pipettes&quot;&gt;Electronic Pipettes&lt;/h2&gt;

&lt;p&gt;The OT2 electronic pipettes use a fairly simple mechanism to move the plunger up and down. The pipette’s stepper motor is being driven by the main driver PCB, so no motor driver was required inside the pipette. The electronics inside the pipette also store the unique serial and model numbers.&lt;/p&gt;

&lt;p&gt;&lt;img style=&quot;max-width:63%&quot; src=&quot;https://www.andysigler.com/images/pipette_diagram.gif&quot; /&gt;
&lt;img style=&quot;max-width:33%;margin-left:3.5%&quot; src=&quot;https://www.andysigler.com/images/ot2_production_pipette.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;tip-probe&quot;&gt;Tip Probe&lt;/h2&gt;

&lt;p&gt;The tip-probe is a series of 5 switches, used to detect the precise and accurate position of a disposable tip on a pipette.&lt;/p&gt;

&lt;p&gt;The tip-probe allows the OT2 to calculate the position, height, and diameter of a pipette tip.&lt;/p&gt;

&lt;video id=&quot;vid_tip_probe&quot; style=&quot;width:100%;max-width:600px; height:auto; border:1px solid #aaa&quot; width=&quot;854&quot; height=&quot;480&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/tip_probe.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/tip_probe.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/tip_probe.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_tip_probe = document.getElementById(&apos;vid_tip_probe&apos;);
    vid_tip_probe.removeAttribute(&apos;controls&apos;);
    vid_tip_probe.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_tip_probe.play();
    })
&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;more-pcb-artwork&quot;&gt;More PCB Artwork&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_pcb_art_vertical.jpg&quot; alt=&quot;OT2 PCBs Artwork&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;some-pictures-from-before--after-launch&quot;&gt;Some Pictures from Before &amp;amp; After Launch&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_camera.jpg&quot; alt=&quot;OT2 on Camera&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_prototype_gantry.jpg&quot; alt=&quot;OT2 Prototype&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_prototype_pcbs.jpg&quot; alt=&quot;OT2 Prototype Batch&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img style=&quot;max-width:32%&quot; src=&quot;https://www.andysigler.com/images/ot2_prototype_caitlyn.jpg&quot; /&gt;
&lt;img style=&quot;max-width:62%;margin-left:3.5%&quot; src=&quot;https://www.andysigler.com/images/ot2_prototype_face.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.andysigler.com/images/ot2_prototype_CE.jpg&quot; alt=&quot;OT2 CE&quot; /&gt;&lt;/p&gt;

&lt;!-- ![Opentrons Employees in Shenzhen](https://www.andysigler.com/images/ot2_factory_people.jpg) --&gt;
</description>
        <pubDate>Tue, 19 Feb 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/products/opentrons-ot2/</link>
        <guid isPermaLink="true">https://www.andysigler.com/products/opentrons-ot2/</guid>
      </item>
    
      <item>
        <title>Opentrons Modules</title>
        <description>&lt;p&gt;During 2017-‘18, I was the sole electronics designer and firmware developer for &lt;a href=&quot;https://opentrons.com/modules&quot;&gt;three Opentrons Modules&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Thermocycler Module&lt;/li&gt;
  &lt;li&gt;Temperature Module&lt;/li&gt;
  &lt;li&gt;Magnetic Module.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These devices connect to the Opentrons OT2 hardware platform to automate lab protocols.&lt;/p&gt;

&lt;h2 id=&quot;thermocycler-module&quot;&gt;Thermocycler Module&lt;/h2&gt;

&lt;p&gt;The Thermocycler ramps up and down in temperature, at about 4 degrees Celsius per-second, between 4-100 degrees Celsius.&lt;/p&gt;

&lt;p&gt;The lid can automatically open/close. This lid is also used as a heating element, heating to 110-degrees Celsius.&lt;/p&gt;

&lt;video id=&quot;vid_cycler&quot; style=&quot;width:100%; height:auto; border:1px solid #aaa&quot; width=&quot;960&quot; height=&quot;540&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/thermocycler-video.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/thermocycler-video.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/thermocycler-video.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_cycler = document.getElementById(&apos;vid_cycler&apos;);
    vid_cycler.removeAttribute(&apos;controls&apos;);
    vid_cycler.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_cycler.play();
    })
&lt;/script&gt;

&lt;p&gt;The main temperature control was driven by six peltier devices, driven separately to create a more uniform temperature gradient. In addition, the heated lid was driven by a heating pad, a stepper-motor driving system was needed to open/close the lid, and also a solenoid is used to latch the lid shut and pop it open.&lt;/p&gt;

&lt;p&gt;Six separate thermistors are used to monitor the peltiers with an accuracy of &amp;lt;0.1 degrees Celsius. An RGBW LED strip was added as a basic status and progress indicator, and of course there is a power button on the side.&lt;/p&gt;

&lt;p&gt;The PCBs pictured below were from the beta phase.&lt;/p&gt;

&lt;p&gt;&lt;img style=&quot;max-width:48.75%;&quot; src=&quot;https://www.andysigler.com/images/ot2-thermocycler-pcb-main.jpg&quot; /&gt;
&lt;img style=&quot;max-width:48.75%;margin-left:1.4%&quot; src=&quot;https://www.andysigler.com/images/ot2-thermocycler-pcb-peltiers.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Below you can see about a dozen thermistors externally epoxied to the internal wells of an alpha prototype.&lt;/p&gt;

&lt;p&gt;&lt;img style=&quot;max-width:48.75%;&quot; src=&quot;https://www.andysigler.com/images/ot2-thermocycler-prototype-lid.jpg&quot; /&gt;
&lt;img style=&quot;max-width:48.75%;margin-left:1.4%&quot; src=&quot;https://www.andysigler.com/images/ot2-thermocycler-prototype-thermistors.jpg&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;temperature-module&quot;&gt;Temperature Module&lt;/h2&gt;

&lt;p&gt;The Temperature Module can hold a temperature between 4-94 Celsius with +/- 1 Celcius accuracy and uniformity. Unlike the thermocycler (above), it was not designed to cycle between temperatures, but to instead hold a single steady temperature.&lt;/p&gt;

&lt;video id=&quot;vid_ot2_temp_deck&quot; style=&quot;width:100%; height:auto; border:1px solid #aaa&quot; width=&quot;854&quot; height=&quot;480&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_temp_deck.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_temp_deck.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_temp_deck.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_ot2_temp_deck = document.getElementById(&apos;vid_ot2_temp_deck&apos;);
    vid_ot2_temp_deck.removeAttribute(&apos;controls&apos;);
    vid_ot2_temp_deck.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_ot2_temp_deck.play();
    })
&lt;/script&gt;

&lt;p&gt;It uses two peltier devices to either heat or cool the top plate. A heatsink and fan are then used to cool the bottom side of the peltier devices. A display at the top of the device shows the current temperature, and red or blue colors to indicate temperature.&lt;/p&gt;

&lt;video id=&quot;vid_ot2_temp_deck_loop&quot; style=&quot;width:100%; height:auto; border:1px solid #aaa&quot; width=&quot;854&quot; height=&quot;480&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_temp_deck_loop.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_temp_deck_loop.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_temp_deck_loop.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_ot2_temp_deck_loop = document.getElementById(&apos;vid_ot2_temp_deck_loop&apos;);
    vid_ot2_temp_deck_loop.removeAttribute(&apos;controls&apos;);
    vid_ot2_temp_deck_loop.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_ot2_temp_deck_loop.play();
    })
&lt;/script&gt;

&lt;p&gt;&lt;img style=&quot;max-width:31.75%;&quot; src=&quot;https://www.andysigler.com/images/ot2_temp_deck_2.jpg&quot; /&gt;
&lt;img style=&quot;max-width:31.75%;margin-left:1.4%&quot; src=&quot;https://www.andysigler.com/images/ot2_temp_deck_3.jpg&quot; /&gt;
&lt;img style=&quot;max-width:31.75%;margin-left:1.4%&quot; src=&quot;https://www.andysigler.com/images/ot2_temp_deck_4.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;magnetic-module&quot;&gt;Magnetic Module&lt;/h2&gt;

&lt;p&gt;The Magnetic Module raises a set of magnets near the user’s sample, in order to attract iron beads that have been attached to a specific DNA strand to be isolated.&lt;/p&gt;

&lt;video id=&quot;vid_ot2_mag_deck&quot; style=&quot;width:100%; height:auto; border:1px solid #aaa&quot; width=&quot;854&quot; height=&quot;480&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_mag_deck.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_mag_deck.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_mag_deck.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_ot2_mag_deck = document.getElementById(&apos;vid_ot2_mag_deck&apos;);
    vid_ot2_mag_deck.removeAttribute(&apos;controls&apos;);
    vid_ot2_mag_deck.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_ot2_mag_deck.play();
    })
&lt;/script&gt;

&lt;p&gt;This device is composed of a stepper motor moving along a rail (to raise/lower the magnets), plus the electronics to move said motor.&lt;/p&gt;

&lt;video id=&quot;vid_ot2_mag_deck_loop&quot; style=&quot;width:100%; height:auto; border:1px solid #aaa&quot; width=&quot;854&quot; height=&quot;480&quot; controls=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_mag_deck_loop.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_mag_deck_loop.ogv&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;https://www.andysigler.com/images/ot2_mag_deck_loop.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
    var vid_ot2_mag_deck_loop = document.getElementById(&apos;vid_ot2_mag_deck_loop&apos;);
    vid_ot2_mag_deck_loop.removeAttribute(&apos;controls&apos;);
    vid_ot2_mag_deck_loop.addEventListener(&apos;canplaythrough&apos;, function(e){
        vid_ot2_mag_deck_loop.play();
    })
&lt;/script&gt;

&lt;p&gt;&lt;img style=&quot;max-width:48.75%;&quot; src=&quot;https://www.andysigler.com/images/ot2_mag_deck_pcb.jpg&quot; /&gt;
&lt;img style=&quot;max-width:48.75%;margin-left:1.4%&quot; src=&quot;https://www.andysigler.com/images/ot2_modules_cables.jpg&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 19 Feb 2019 00:00:00 +0000</pubDate>
        <link>https://www.andysigler.com/products/opentrons-modules/</link>
        <guid isPermaLink="true">https://www.andysigler.com/products/opentrons-modules/</guid>
      </item>
    
  </channel>
</rss>
