<?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: Nityam Sheth</title>
    <description>The latest articles on DEV Community by Nityam Sheth (@nityam2007).</description>
    <link>https://dev.to/nityam2007</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%2F1124607%2F2f936520-2536-4b48-a8c5-6b08d546fb6e.png</url>
      <title>DEV Community: Nityam Sheth</title>
      <link>https://dev.to/nityam2007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nityam2007"/>
    <language>en</language>
    <item>
      <title>I built my own S3 for $5/mo Shared Hosting (because no one else did)</title>
      <dc:creator>Nityam Sheth</dc:creator>
      <pubDate>Sun, 28 Dec 2025 07:57:03 +0000</pubDate>
      <link>https://dev.to/nityam2007/i-built-my-own-s3-for-5mo-shared-hosting-because-no-one-else-did-1168</link>
      <guid>https://dev.to/nityam2007/i-built-my-own-s3-for-5mo-shared-hosting-because-no-one-else-did-1168</guid>
      <description>&lt;h2&gt;
  
  
  The Problem: S3 is expensive, and MinIO needs VPS
&lt;/h2&gt;

&lt;p&gt;I was looking for a way to have &lt;strong&gt;S3-compatible object storage&lt;/strong&gt; without paying AWS/Cloudflare/Backblaze fees, and specifically, I wanted to run it on the cheap &lt;strong&gt;Shared Hosting&lt;/strong&gt; (cPanel) plan I already pay for.&lt;/p&gt;

&lt;p&gt;The problem?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;MinIO&lt;/strong&gt; requires a binary/Docker (can't run on shared hosting).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;LocalStack&lt;/strong&gt; is for testing, not storage.&lt;/li&gt;
&lt;li&gt; Existing PHP scripts were either 10 years old, unmaintained, or didn't support the S3 API properly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I wanted something I could just FTP upload, create a MySQL database, and boom—my own personal S3 bucket.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Lite-S3
&lt;/h2&gt;

&lt;p&gt;Since it didn't exist, I built it (with a lot of help from AI agents).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/nityam2007/lite-s3" rel="noopener noreferrer"&gt;Lite-S3&lt;/a&gt;&lt;/strong&gt; is a pure PHP implementation of an S3-compatible server.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it does:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  ✅ &lt;strong&gt;S3 API Compatible&lt;/strong&gt;: Works with AWS SDK, &lt;code&gt;boto3&lt;/code&gt;, &lt;code&gt;rclone&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;  ✅ &lt;strong&gt;Shared Hosting Friendly&lt;/strong&gt;: Runs on standard PHP 8.0+ and MySQL (cPanel, Plesk).&lt;/li&gt;
&lt;li&gt;  ✅ &lt;strong&gt;Multi-User&lt;/strong&gt;: Create users with their own Access/Secret keys.&lt;/li&gt;
&lt;li&gt;  ✅ &lt;strong&gt;Permissions&lt;/strong&gt;: Read/Write/Admin access controls per bucket.&lt;/li&gt;
&lt;li&gt;  ✅ &lt;strong&gt;Large Files&lt;/strong&gt;: Supports 5GB+ uploads (using PHP streams).&lt;/li&gt;
&lt;li&gt;  ✅ &lt;strong&gt;Admin UI&lt;/strong&gt;: A clean dashboard to manage everything.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How it works (The Technical Part)
&lt;/h3&gt;

&lt;p&gt;It maps S3 API calls to PHP functions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Authentication&lt;/strong&gt;: It verifies standard &lt;strong&gt;AWS Signature v4&lt;/strong&gt; headers against credentials stored in MySQL. This was the hardest part to get right in PHP!&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Routing&lt;/strong&gt;: A simple &lt;code&gt;.htaccess&lt;/code&gt; routes specific S3 paths (&lt;code&gt;/bucket/key&lt;/code&gt;) to the handler.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Storage&lt;/strong&gt;: Files are stored as &lt;strong&gt;plain flat files&lt;/strong&gt; on the disk. This means you can easily FTP in and backup your data; it's not locked in a proprietary format.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Multipart Uploads&lt;/strong&gt;: It implements the full S3 multipart upload flow (Initiate -&amp;gt; Upload Part -&amp;gt; Complete) to handle large files without hitting PHP memory limits.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Is it 100% S3 Compatible?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Honest answer: No.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It implements the &lt;em&gt;Core CRUD&lt;/em&gt; operations that 95% of apps use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;PutObject&lt;/code&gt; (Upload)&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;GetObject&lt;/code&gt; (Download)&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;DeleteObject&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;ListObjectsV2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;CreateBucket&lt;/code&gt; / &lt;code&gt;DeleteBucket&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It &lt;strong&gt;missing&lt;/strong&gt; things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Object Versioning&lt;/li&gt;
&lt;li&gt;  Range Requests (seeking in video)&lt;/li&gt;
&lt;li&gt;  Object-level ACLs (permissions are per-bucket)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But for "I need a place to dump my backups/images via API," it works perfectly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try it out
&lt;/h3&gt;

&lt;p&gt;It's fully open source (GPLv3) and I'd love for people to test it on their cheap hosting plans and break it.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub Repo&lt;/strong&gt;: &lt;a href="https://github.com/nityam2007/lite-s3" rel="noopener noreferrer"&gt;nityam2007/lite-s3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Note: This project was heavily assisted by AI coding agents, which helped me sanity check the AWS Signature logic and build the UI quickly. We live in the future!)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>php</category>
      <category>sideprojects</category>
      <category>testing</category>
    </item>
    <item>
      <title>I Made a Reference Guide for AMB25 Because Realtek Forgot To 🤷‍♂️</title>
      <dc:creator>Nityam Sheth</dc:creator>
      <pubDate>Thu, 25 Dec 2025 07:13:45 +0000</pubDate>
      <link>https://dev.to/nityam2007/i-made-a-reference-guide-for-amb25-because-realtek-forgot-to-2kl</link>
      <guid>https://dev.to/nityam2007/i-made-a-reference-guide-for-amb25-because-realtek-forgot-to-2kl</guid>
      <description>&lt;h2&gt;
  
  
  I Made a Reference Guide for AMB25 Because Realtek Forgot To 🤷‍♂️
&lt;/h2&gt;

&lt;p&gt;Hey devs! 👋&lt;/p&gt;

&lt;p&gt;So, picture this: You just bought a shiny new development board. It's got dual-band WiFi, BLE 5.0, a beefy ARM Cortex-M33 processor, and it's Arduino compatible. You're pumped. You're ready to build the next big IoT thing. You crack open the documentation and... it's a mess. Scattered. Incomplete. You spend more time hunting for information than actually coding.&lt;/p&gt;

&lt;p&gt;Sound familiar? Yeah, that was me with the &lt;strong&gt;AMB25/AMB26 (Realtek RTL8720DF)&lt;/strong&gt; board.&lt;/p&gt;

&lt;p&gt;So I did what any slightly frustrated developer would do — I made my own complete reference guide. And today, I'm sharing it with you!&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 The Repo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/nityam2007/AMB25-reference" rel="noopener noreferrer"&gt;https://github.com/nityam2007/AMB25-reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Star it, fork it, contribute to it. Let's make this the resource that &lt;em&gt;should&lt;/em&gt; have existed from day one.&lt;/p&gt;




&lt;h2&gt;
  
  
  Wait, What's an AMB25 Anyway?
&lt;/h2&gt;

&lt;p&gt;Great question! The AMB25 is a development board built around Realtek's RTL8720DF chip. It's actually pretty impressive for its size:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; ARM Cortex-M33 running at 200MHz (that's fast for a microcontroller!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; 512KB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flash:&lt;/strong&gt; 4MB (2MB available for your code)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WiFi:&lt;/strong&gt; Dual-band 2.4GHz AND 5GHz (802.11 a/b/g/n)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bluetooth:&lt;/strong&gt; BLE 5.0&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Size:&lt;/strong&gt; Tiny 50.7 × 17.8 mm form factor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;USB:&lt;/strong&gt; Type-C (finally, a reversible connector!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it as an ESP32's cool cousin that nobody talks about at family gatherings.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Made This Reference Guide
&lt;/h2&gt;

&lt;p&gt;Here's the thing about the AMB25 — it's genuinely a solid board. Dual-band WiFi is rare at this price point. BLE 5.0 is nice. The 200MHz processor is speedy. But the documentation? Let's just say it could use some love.&lt;/p&gt;

&lt;p&gt;I found myself constantly jumping between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Forum posts from 2021 that may or may not still be relevant&lt;/li&gt;
&lt;li&gt;Scattered code examples that didn't compile&lt;/li&gt;
&lt;li&gt;Pinout diagrams that required a magnifying glass and a prayer&lt;/li&gt;
&lt;li&gt;API references that assumed you already knew everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After the fifth time I had to search "AMB25 how to connect WiFi" and got five different answers, I snapped. Not in a bad way — in a "let me fix this" way.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's In The Reference Guide?
&lt;/h2&gt;

&lt;p&gt;I tried to cover everything you'd actually need:&lt;/p&gt;

&lt;h3&gt;
  
  
  📍 Complete GPIO Reference
&lt;/h3&gt;

&lt;p&gt;Every. Single. Pin. With actual useful information like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which pins support PWM&lt;/li&gt;
&lt;li&gt;Which pins have ADC capability&lt;/li&gt;
&lt;li&gt;What each pin is shared with (so you don't accidentally fight over resources)&lt;/li&gt;
&lt;li&gt;Recommended pins for common use cases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's a taste of what the pinout table looks like:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pin#&lt;/th&gt;
&lt;th&gt;GPIO&lt;/th&gt;
&lt;th&gt;ADC&lt;/th&gt;
&lt;th&gt;PWM&lt;/th&gt;
&lt;th&gt;UART&lt;/th&gt;
&lt;th&gt;SPI&lt;/th&gt;
&lt;th&gt;I2C&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;PA15&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;SPI1_SS&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;PA26&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;I2C_SDA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;PA25&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;I2C_SCL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;PB1&lt;/td&gt;
&lt;td&gt;A4&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No more guessing which pin does what!&lt;/p&gt;

&lt;h3&gt;
  
  
  📶 WiFi Examples That Actually Work
&lt;/h3&gt;

&lt;p&gt;Both 2.4GHz and 5GHz examples. Station mode. AP mode. Scanning networks. Actually connecting to your home WiFi without it being a three-hour ordeal. All tested. All working.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔌 Serial Communication
&lt;/h3&gt;

&lt;p&gt;Did you know the AMB25 has THREE UART interfaces? I didn't! Until I dug through the datasheet at 2 AM. Now you don't have to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Serial&lt;/code&gt; — USB Serial (for Serial Monitor)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Serial1&lt;/code&gt; — Hardware UART1 (pins PB19/PB18)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Serial2&lt;/code&gt; — Hardware UART2 (pins PA12/PA13)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💾 Flash Storage
&lt;/h3&gt;

&lt;p&gt;How to save data that survives power cycles using FlashMemory. Because sometimes you need to remember things.&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Common Issues &amp;amp; Fixes
&lt;/h3&gt;

&lt;p&gt;This section alone probably saved me hours of future frustration:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Upload failed!"&lt;/strong&gt; — Try holding the Burn button while pressing Reset, then release both. Now upload.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Serial Monitor shows garbage!"&lt;/strong&gt; — Set baud rate to 115200.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"WiFi won't connect to 5GHz!"&lt;/strong&gt; — Make sure you're using the right channel. Some regions restrict certain 5GHz channels.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Favorite Discovery: Auto Upload Mode
&lt;/h2&gt;

&lt;p&gt;Okay, so normally to upload code to the AMB25, you have to do this weird dance:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hold the Burn button&lt;/li&gt;
&lt;li&gt;Press Reset&lt;/li&gt;
&lt;li&gt;Release both&lt;/li&gt;
&lt;li&gt;Quickly click Upload in Arduino IDE&lt;/li&gt;
&lt;li&gt;Hope you timed it right&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But guess what? There's an &lt;strong&gt;Auto Upload Mode&lt;/strong&gt;! Just enable it in Tools → Auto Upload Mode → Enable, and the board handles it automatically. Mind. Blown.&lt;/p&gt;

&lt;p&gt;Why isn't this the default? Why wasn't this in big bold letters on the product page? I have no idea. But now you know!&lt;/p&gt;




&lt;h2&gt;
  
  
  Code Snippet: Connect to WiFi
&lt;/h2&gt;

&lt;p&gt;Here's a quick snippet to get you connected:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;WiFi.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YourNetworkName"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;pass&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YourPassword"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;115200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="n"&gt;WiFi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pass&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;WiFi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;WL_CONNECTED&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;Connected!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"IP: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;WiFi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;localIP&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Your awesome code here&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simple, right? That's the goal of the whole reference — make things simple and actually usable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;The reference is open source (obviously). If you find an error, have a better example, or discovered some hidden AMB25 magic — please contribute! Open an issue, submit a PR, or just leave a comment.&lt;/p&gt;

&lt;p&gt;I especially want to hear about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edge cases I haven't covered&lt;/li&gt;
&lt;li&gt;Projects you've built with the AMB25&lt;/li&gt;
&lt;li&gt;Things that confused you that I should clarify&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;The AMB25/AMB26 is genuinely an underrated board. Dual-band WiFi, BLE 5.0, Arduino compatible, USB-C — it checks a lot of boxes. The only thing holding it back is documentation, and hopefully this reference guide helps fix that.&lt;/p&gt;

&lt;p&gt;If you're working with these boards, give the guide a look. If it helps you, drop a star on the repo. If you find something wrong, let me know!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📚 Full Reference:&lt;/strong&gt; &lt;a href="https://github.com/nityam2007/AMB25-reference" rel="noopener noreferrer"&gt;https://github.com/nityam2007/AMB25-reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy hacking! 🚀&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. — If anyone from Realtek is reading this... please improve your docs. Love the hardware though. ❤️&lt;/em&gt;&lt;/p&gt;

</description>
      <category>iot</category>
      <category>arduino</category>
      <category>cpp</category>
      <category>realtek</category>
    </item>
    <item>
      <title>Free forever, privacy-first browser tools — 150+ utilities in one place</title>
      <dc:creator>Nityam Sheth</dc:creator>
      <pubDate>Thu, 04 Dec 2025 15:31:16 +0000</pubDate>
      <link>https://dev.to/nityam2007/free-forever-privacy-first-browser-tools-150-utilities-in-one-place-1e26</link>
      <guid>https://dev.to/nityam2007/free-forever-privacy-first-browser-tools-150-utilities-in-one-place-1e26</guid>
      <description>&lt;p&gt;I built &lt;strong&gt;NYTM Tools&lt;/strong&gt; — a collection of &lt;strong&gt;150+ free browser-based utilities&lt;/strong&gt; for developers, students, and everyday users.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No ads&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No subscriptions&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No accounts&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No tracking&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client-side first&lt;/strong&gt; — your files stay on your device&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools include:&lt;br&gt;
image converters/compression, PDF split/merge, JSON/CSV utilities, regex helper, cron parser, hash generators, QR/barcode, timestamp and color converters, unit converters, text formatting and cleanup, and more.&lt;/p&gt;

&lt;p&gt;Why I built it: most tool sites are slow, ad-heavy, require uploads, or hide simple features behind paywalls. I wanted one fast, clean, privacy-respecting hub that stays free forever (supported by optional donations).&lt;/p&gt;

&lt;p&gt;If you have &lt;strong&gt;feature requests&lt;/strong&gt;, &lt;strong&gt;tool ideas&lt;/strong&gt;, &lt;strong&gt;bug reports&lt;/strong&gt;, or want to &lt;strong&gt;contribute&lt;/strong&gt;, I’m open to collaboration. Good UI, SEO suggestions, and new tool concepts are especially helpful.&lt;/p&gt;

&lt;p&gt;Live: &lt;a href="https://nytm.in" rel="noopener noreferrer"&gt;https://nytm.in&lt;/a&gt;&lt;br&gt;
Repo: &lt;a href="https://github.com/nityam2007/nytm-multitools" rel="noopener noreferrer"&gt;https://github.com/nityam2007/nytm-multitools&lt;/a&gt;&lt;br&gt;
Email: &lt;a href="mailto:hello@nytm.in"&gt;hello@nytm.in&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>privacy</category>
    </item>
    <item>
      <title>I built NYTM Tools -- 150+ free, privacy-first web utilities. Looking for ideas &amp; contributors</title>
      <dc:creator>Nityam Sheth</dc:creator>
      <pubDate>Thu, 04 Dec 2025 15:25:15 +0000</pubDate>
      <link>https://dev.to/nityam2007/i-built-nytm-tools-150-free-privacy-first-web-utilities-looking-for-ideas-contributors-o7c</link>
      <guid>https://dev.to/nityam2007/i-built-nytm-tools-150-free-privacy-first-web-utilities-looking-for-ideas-contributors-o7c</guid>
      <description>&lt;p&gt;Hey everyone — I’ve been working on a project called &lt;strong&gt;NYTM Tools&lt;/strong&gt; (&lt;a href="https://nytm.in" rel="noopener noreferrer"&gt;https://nytm.in&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;It’s a collection of over 150 &lt;strong&gt;free, privacy-first browser tools&lt;/strong&gt; designed to solve everyday problems without forcing uploads, accounts, or subscriptions. There are &lt;strong&gt;no ads, no payment gates, and no tracking&lt;/strong&gt; — and the tools are free forever. If someone finds value, they can donate, but it’s optional.&lt;/p&gt;

&lt;p&gt;Most tools run directly in your browser, so your files and data stay on your device. The idea is simple: fast tools that respect privacy and avoid the typical friction found on utility sites.&lt;/p&gt;

&lt;p&gt;I built it as a developer who got tired of switching between dozens of one-off tool websites — slow pages, ads everywhere, paywalls for basic features — and thought there should be a single clean platform focused on privacy and accessibility.&lt;/p&gt;

&lt;p&gt;I’m looking for feedback, feature requests, and contributors. Whether it’s UI improvements, new tool ideas, bug reports, or even helping write better titles/descriptions for SEO and discoverability — I’d appreciate it. I’m open to collaborating and crediting contributors properly.&lt;/p&gt;

&lt;p&gt;There are tools for image conversion and compression, document utilities like PDF split and merge, developer tools like beautifiers and regex helpers, networking lookups, hashers, QR/barcode, file conversion, and many more.&lt;/p&gt;

&lt;p&gt;If you’re interested:&lt;/p&gt;

&lt;p&gt;Live site: &lt;a href="https://nytm.in" rel="noopener noreferrer"&gt;https://nytm.in&lt;/a&gt;&lt;br&gt;
Repository: &lt;a href="https://github.com/nityam2007/nytm-multitools" rel="noopener noreferrer"&gt;https://github.com/nityam2007/nytm-multitools&lt;/a&gt;&lt;br&gt;
Email: &lt;a href="mailto:hello@nytm.in"&gt;hello@nytm.in&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
