<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dassa</title>
    <description>The latest articles on DEV Community by Dassa (@dns_das).</description>
    <link>https://dev.to/dns_das</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2751445%2F2477e3dd-eed7-4b5e-b7d8-eafd726580b8.jpg</url>
      <title>DEV Community: Dassa</title>
      <link>https://dev.to/dns_das</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dns_das"/>
    <language>en</language>
    <item>
      <title>Auto-Saving Serial Monitor Output in VS Code (PlatformIO)</title>
      <dc:creator>Dassa</dc:creator>
      <pubDate>Fri, 06 Feb 2026 08:35:17 +0000</pubDate>
      <link>https://dev.to/dns_das/auto-saving-serial-monitor-output-in-vs-code-platformio-212</link>
      <guid>https://dev.to/dns_das/auto-saving-serial-monitor-output-in-vs-code-platformio-212</guid>
      <description>&lt;p&gt;When working on embedded systems — especially robotics, sensing, and control experiments — serial monitor logs are critical for debugging and data analysis.&lt;/p&gt;

&lt;p&gt;Manually copying serial output is inefficient. So here’s how to automatically save serial monitor output to a file when using VS Code + PlatformIO.&lt;/p&gt;

&lt;p&gt;Step 1: Install Required Extensions&lt;/p&gt;

&lt;p&gt;First, install the following VS Code extensions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PlatformIO IDE (by PlatformIO)&lt;/li&gt;
&lt;li&gt;Serial Monitor (by Microsoft)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The PlatformIO extension provides the embedded development environment, while the Microsoft Serial Monitor extension offers an alternative serial terminal if needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feejrzj8vztzo2kqwp9fg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feejrzj8vztzo2kqwp9fg.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 2: Access the Serial Monitor&lt;/p&gt;

&lt;p&gt;You can access the Serial Monitor in VS Code (PlatformIO) by clicking the Serial Monitor in the bottom status bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Furwqkk1ufal907p6znq6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Furwqkk1ufal907p6znq6.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 3: Chose a folder to save the log files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45zj79fo7jal5s3v8wba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45zj79fo7jal5s3v8wba.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzuckw4gz1o5owoi00yp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzuckw4gz1o5owoi00yp.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 4: Before opening the serial port, click on this button,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1vh6zx0h9zgcwin55wep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1vh6zx0h9zgcwin55wep.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then the file will be saved in the logs folder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2l0c00yf68b8fture6wd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2l0c00yf68b8fture6wd.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>iot</category>
      <category>tooling</category>
      <category>tutorial</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Setting Up Obsidian on Ubuntu and Syncing with Git &amp; Android (Step-by-Step)</title>
      <dc:creator>Dassa</dc:creator>
      <pubDate>Sat, 10 Jan 2026 20:32:33 +0000</pubDate>
      <link>https://dev.to/dns_das/setting-up-obsidian-on-ubuntu-and-syncing-with-git-android-step-by-step-3ca7</link>
      <guid>https://dev.to/dns_das/setting-up-obsidian-on-ubuntu-and-syncing-with-git-android-step-by-step-3ca7</guid>
      <description>&lt;p&gt;In this guide, I’ll walk you through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installing Obsidian on &lt;strong&gt;Ubuntu&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Syncing your vault with &lt;strong&gt;GitHub (private repo)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Making it work seamlessly on &lt;strong&gt;Android&lt;/strong&gt;, even though mobile Git does &lt;strong&gt;not&lt;/strong&gt; support SSH&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This setup is stable, version-controlled, and works offline.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Obsidian + Git?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Markdown-based, future-proof notes&lt;/li&gt;
&lt;li&gt;Full version history (unlike cloud sync tools)&lt;/li&gt;
&lt;li&gt;Private repositories = full control over data&lt;/li&gt;
&lt;li&gt;Works across Linux, Windows, and Android&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Install Obsidian on Ubuntu
&lt;/h2&gt;

&lt;p&gt;Download the &lt;strong&gt;&lt;code&gt;.deb&lt;/code&gt;&lt;/strong&gt; package from the official site:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://obsidian.md/download" rel="noopener noreferrer"&gt;https://obsidian.md/download&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Install using &lt;code&gt;gdebi&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;First, install gdebi if it’s not already installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;gdebi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open the downloaded &lt;code&gt;.deb&lt;/code&gt; file with &lt;strong&gt;GDebi Package Installer&lt;/strong&gt; and install Obsidian.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why gdebi?&lt;br&gt;
It automatically resolves dependencies, unlike &lt;code&gt;dpkg&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 2: Create a Private GitHub Repository
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to GitHub&lt;/li&gt;
&lt;li&gt;Create a &lt;strong&gt;new repository&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set it to &lt;strong&gt;Private&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Do &lt;strong&gt;not&lt;/strong&gt; initialize with README (Obsidian will populate it)&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 3: Clone the Repository Using SSH (Desktop)
&lt;/h2&gt;

&lt;p&gt;On Ubuntu, navigate to where you want your vault:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/Documents
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clone the repository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone git@github.com:DasDNS/Obsidian_Notes.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see output similar to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Cloning into 'Obsidian_Notes'...
Receiving objects: 100% (4/4), done.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify the remote:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;Obsidian_Notes
git remote &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;origin  git@github.com:DasDNS/Obsidian_Notes.git (fetch)
origin  git@github.com:DasDNS/Obsidian_Notes.git (push)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Open the Vault in Obsidian (Ubuntu)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Obsidian&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Open folder as vault&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;code&gt;Obsidian_Notes&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Start creating notes&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 5: Install &amp;amp; Configure Obsidian Git Plugin (Desktop)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Settings → Community Plugins&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Disable Safe Mode&lt;/li&gt;
&lt;li&gt;Install &lt;strong&gt;Obsidian Git&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enable the plugin&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Recommended settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Auto commit on interval&lt;/li&gt;
&lt;li&gt;Auto pull on startup&lt;/li&gt;
&lt;li&gt;Commit message template (optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now your notes automatically commit and sync.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 6: Why Android Needs HTTPS (Important)
&lt;/h2&gt;

&lt;p&gt;Obsidian Git on &lt;strong&gt;Android&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Does NOT support SSH&lt;/li&gt;
&lt;li&gt;✅ Supports HTTPS + Personal Access Token (PAT)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So we &lt;strong&gt;keep SSH on desktop&lt;/strong&gt;, but create an &lt;strong&gt;HTTPS copy&lt;/strong&gt; of the vault for Android.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 7: Create an HTTPS-Compatible Copy (Desktop)
&lt;/h2&gt;

&lt;p&gt;Duplicate your vault:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; ~/Documents/Obsidian_Notes ~/Documents/Obsidian_Notes_HTTPS
&lt;span class="nb"&gt;cd&lt;/span&gt; ~/Documents/Obsidian_Notes_HTTPS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Change the remote from SSH → HTTPS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote set-url origin https://github.com/DasDNS/Obsidian_Notes.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;origin  https://github.com/DasDNS/Obsidian_Notes.git (fetch)
origin  https://github.com/DasDNS/Obsidian_Notes.git (push)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ This repo is now Android-compatible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 8: Copy the Vault to Android
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Connect phone via USB&lt;/li&gt;
&lt;li&gt;Enable &lt;strong&gt;File Transfer (MTP)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Copy the &lt;strong&gt;entire folder&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.git/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.obsidian/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;All markdown files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Recommended location:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internal Storage / Obsidian
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠️ Copy the &lt;strong&gt;folder itself&lt;/strong&gt;, not just its contents.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 9: Install Obsidian on Android
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;strong&gt;Obsidian&lt;/strong&gt; from the Play Store&lt;/li&gt;
&lt;li&gt;Open the app&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Open existing folder&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choose the copied Obsidian folder&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 10: Git Sync on Android (Access Token Required)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Settings → Community Plugins&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enable &lt;strong&gt;Obsidian Git&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Command Palette&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Run &lt;strong&gt;Obsidian Git: Pull&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You’ll be prompted for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Username&lt;/strong&gt; → GitHub username&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Password&lt;/strong&gt; → &lt;strong&gt;Personal Access Token (PAT)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ This token is mandatory. SSH keys do NOT work on Android.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once entered, Obsidian Git will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pull updates&lt;/li&gt;
&lt;li&gt;Commit changes&lt;/li&gt;
&lt;li&gt;Push back to GitHub&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Result
&lt;/h2&gt;

&lt;p&gt;✔ Ubuntu → SSH Git (secure &amp;amp; fast)&lt;br&gt;
✔ Android → HTTPS Git (token-based)&lt;br&gt;
✔ Same private repository&lt;br&gt;
✔ Full version history&lt;br&gt;
✔ Offline-first notes&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This setup gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full control over your data&lt;/li&gt;
&lt;li&gt;No paid sync service&lt;/li&gt;
&lt;li&gt;A workflow that scales from student notes to research archives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re serious about long-term note-taking, &lt;strong&gt;Obsidian + Git is worth the setup&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;References&lt;/p&gt;

&lt;p&gt;I used several community resources when refining this workflow:&lt;/p&gt;

&lt;p&gt;🔗 Obsidian + GitLab Setup (Andrew Wegner)&lt;br&gt;
A detailed walkthrough of connecting Obsidian to a Git repository, which helped inform the desktop Git steps in this guide:&lt;br&gt;
&lt;a href="https://andrewwegner.com/obsidian-gitlab-setup.html" rel="noopener noreferrer"&gt;https://andrewwegner.com/obsidian-gitlab-setup.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 Obsidian Android Syncing via GitHub (Reddit)&lt;br&gt;
A community discussion about syncing Obsidian on Android using GitHub and personal access tokens:&lt;br&gt;
&lt;a href="https://www.reddit.com/r/ObsidianMD/comments/17odzjb/obsidian_android_syncing_via_github_in_2023/" rel="noopener noreferrer"&gt;https://www.reddit.com/r/ObsidianMD/comments/17odzjb/obsidian_android_syncing_via_github_in_2023/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>obsidian</category>
      <category>obsidiansync</category>
      <category>obsidianandroid</category>
      <category>obsidiangit</category>
    </item>
  </channel>
</rss>
