<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open Source on Pranav Kumar</title><link>https://pranav083.github.io/categories/open-source/</link><description>Recent content in Open Source on Pranav Kumar</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright © 2016–2030, Pranav Kumar</copyright><lastBuildDate>Sun, 20 Dec 2020 00:00:00 +0530</lastBuildDate><atom:link href="https://pranav083.github.io/categories/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>STSPIN220 Stepper Driver Library for Arduino</title><link>https://pranav083.github.io/post/stepper_stspin220/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0530</pubDate><guid>https://pranav083.github.io/post/stepper_stspin220/</guid><description>
&lt;p&gt;&lt;strong&gt;Open source · C++ / Arduino · &lt;a href="https://github.com/pranav083/Stepper_STSPIN220-library"&gt;github.com/pranav083/Stepper_STSPIN220-library&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An Arduino library for STMicroelectronics' &lt;a href="https://www.st.com/resource/en/datasheet/stspin220.pdf"&gt;STSPIN220&lt;/a&gt; low-power stepper driver. It is my most-used piece of open-source work.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="why-it-exists"&gt;Why it exists&lt;/h2&gt;
&lt;p&gt;The STSPIN220 can microstep down to &lt;strong&gt;1/256 of a full step&lt;/strong&gt; — fine enough for 3D printers, camera slides, and any application where audible stepping or positional granularity matters.&lt;/p&gt;
&lt;p&gt;Existing Arduino stepper libraries treated the driver as a step-and-direction black box, leaving the microstepping mode fixed in hardware. That throws away the part of the chip that makes it interesting.&lt;/p&gt;</description></item><item><title>Google Summer of Code: Bidirectional I/O and PRU Programming on BeagleBone</title><link>https://pranav083.github.io/post/project/gsoc-beaglebone-pru/</link><pubDate>Tue, 20 Aug 2019 00:00:00 +0530</pubDate><guid>https://pranav083.github.io/post/project/gsoc-beaglebone-pru/</guid><description>
&lt;p&gt;&lt;strong&gt;Google Summer of Code 2019 · BeagleBoard.org&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My first sustained open-source contribution, and the work that pulled me toward low-level systems.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-problem"&gt;The problem&lt;/h2&gt;
&lt;p&gt;The PocketBeagle is small, capable, and short on GPIO. Many embedded projects need more digital I/O than the header exposes, and the standard answer — shift registers — is well understood in principle but poorly documented in practice for this board, particularly for &lt;em&gt;bidirectional&lt;/em&gt; operation.&lt;/p&gt;
&lt;h2 id="bidirectional-io"&gt;Bidirectional I/O&lt;/h2&gt;
&lt;p&gt;I built and documented a set of interfacing configurations against the BeagleBone and PocketBeagle:&lt;/p&gt;</description></item></channel></rss>