<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>anurag3301&#x2F;blog</title>
    <link rel="self" type="application/atom+xml" href="https://anurag3301.dev/blog/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://anurag3301.dev/blog"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-05-02T00:00:00+00:00</updated>
    <id>https://anurag3301.dev/blog/atom.xml</id>
    <entry xml:lang="en">
        <title>Yocto setup on Arch linux Pt 1</title>
        <published>2025-05-02T00:00:00+00:00</published>
        <updated>2025-05-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://anurag3301.dev/blog/yocto-arch-1/"/>
        <id>https://anurag3301.dev/blog/yocto-arch-1/</id>
        
        <summary type="html">&lt;div class=&quot;youtube&quot;&gt;
    &lt;iframe width=&quot;560&quot; src=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;-YcWtBhIcG0&quot;  
        allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; 
        referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;I am starting a new series of Yocto development for Beaglebone Black. If you don&#x27;t know about yocto, this is how The Yocto Project themselves introduce.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Yocto Project (YP) is an open source collaboration project that helps developers create custom Linux-based systems regardless of the hardware architecture.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Baremetal Atmega Lesson 1: AVR toolchain setup and flash demo program</title>
        <published>2024-09-24T00:00:00+00:00</published>
        <updated>2024-09-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://anurag3301.dev/blog/atmega1/"/>
        <id>https://anurag3301.dev/blog/atmega1/</id>
        
        <summary type="html">&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h1&gt;
&lt;p&gt;Hey, you must be fimilier with the classic Arduino Uno. This was my first ever microcontroller board and frankly the most used one too, I loved it. But first what is Arduino software stack, Arduino is a abstraction layer on top of the baremetal AVR utilities. This abstraction layer makes things so easy that even a highscool kid can learn microcontroller programming and make stuff out of it. This comes at a cost, you are restricted with the arduino framework, design pattern, the arduino IDE. To make things easy, arduino framework hides lot of features and configuration is provided in the MCU. If you want to be a good embedded engineer you cant stay with Arduino framework forever.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>DS1302 RTC Drivers for STM32 Part 2</title>
        <published>2024-08-31T00:00:00+00:00</published>
        <updated>2024-08-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://anurag3301.dev/blog/ds1302-p2/"/>
        <id>https://anurag3301.dev/blog/ds1302-p2/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Checkout &lt;a href=&quot;&#x2F;ds1302-p1&quot;&gt;Part 1&lt;&#x2F;a&gt; to understand inner workings and interface of DS1302&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;setup-delay-us&quot;&gt;Setup delay_us&lt;&#x2F;h2&gt;
&lt;p&gt;You need to first write a &lt;code&gt;delay_us&lt;&#x2F;code&gt; funtions which can do blocking microsecond delays. We need to write our own because STM32CubeHal doesnt not have a microsecond delay.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot;&gt;&lt;code data-lang=&quot;c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt;void&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; delay_us&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt;uint32_t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; microseconds&lt;&#x2F;span&gt;&lt;span&gt;){&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;    &#x2F;&#x2F; Delay code&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>DS1302 RTC Drivers for STM32 Part 1</title>
        <published>2024-08-24T00:00:00+00:00</published>
        <updated>2024-08-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://anurag3301.dev/blog/ds1302-p1/"/>
        <id>https://anurag3301.dev/blog/ds1302-p1/</id>
        
        <summary type="html">&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h1&gt;
&lt;p&gt;The DS1302 is a Real-Time Clock (RTC) IC used to keep track of time and date. It has the capability to store data such as seconds, minutes, hours, day, date, month, and year. The DS1302 can be interfaced with microcontrollers using a simple serial communication protocol (SPI-like but with slight differences). It also includes 31 bytes of static RAM for temporary data storage.&lt;&#x2F;p&gt;
&lt;style&gt;
.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
&lt;&#x2F;style&gt;


  
  
    
    
  
  &lt;img src=&quot;https:&#x2F;&#x2F;anurag3301.dev&#x2F;blog&#x2F;img&#x2F;ds1302_module.jpg&quot; class=&quot;center&quot; style=&quot;width:50%;&quot; decoding=&quot;async&quot; loading=&quot;lazy&quot;&#x2F;&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Intro to nvim-platformio.lua</title>
        <published>2024-08-04T00:00:00+00:00</published>
        <updated>2024-08-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://anurag3301.dev/blog/nvim-platformio-lua/"/>
        <id>https://anurag3301.dev/blog/nvim-platformio-lua/</id>
        
        <summary type="html">&lt;div class=&quot;youtube&quot;&gt;
    &lt;iframe width=&quot;560&quot; src=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;Jcqat7NhXrc&quot;  
        allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; 
        referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;If you work with microcontrollers you must have heard of &lt;code&gt;PlatformIO&lt;&#x2F;code&gt;. It is a tool which we can use to program and debug multiple families of microcontrollers in various frameworks with little to no manual setup work. PlatformIO takes care of installing the tool, setting up the project, build, upload and debug. PlatformIO comes with an extension for VS Code which wraps the underlaying &lt;code&gt;PlatformIO cli&lt;&#x2F;code&gt; tool and exposes a very nice interface to setup project and use other tools. But if you are a n&#x2F;vim user like me, you only have the cli. I was fine with cli but I wanted that ease of use like VS Code extension so I made this neovim plugin called &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anurag3301&#x2F;nvim-platformio.lua&quot;&gt;nvim-platformio.lua&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;</summary>
        
    </entry>
</feed>
