<?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.us-east-2.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>Why I’m Building NSheth App Kit</title>
      <dc:creator>Nityam Sheth</dc:creator>
      <pubDate>Thu, 03 Sep 2026 07:55:15 +0000</pubDate>
      <link>https://dev.to/nityam2007/why-im-building-nsheth-app-kit-c7e</link>
      <guid>https://dev.to/nityam2007/why-im-building-nsheth-app-kit-c7e</guid>
      <description>&lt;p&gt;Every time I start a new web project, a surprising amount of work is the same.&lt;/p&gt;

&lt;p&gt;Authentication.&lt;br&gt;
Users and roles.&lt;br&gt;
Permissions.&lt;br&gt;
Admin panels.&lt;br&gt;
CMS.&lt;br&gt;
Database setup.&lt;br&gt;
Forms.&lt;br&gt;
Tables.&lt;br&gt;
UI.&lt;/p&gt;

&lt;p&gt;The actual product changes, but a big part of the foundation doesn’t.&lt;/p&gt;

&lt;p&gt;So instead of rebuilding that foundation again, I started &lt;strong&gt;NSheth App Kit&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  What is NSheth App Kit?
&lt;/h2&gt;

&lt;p&gt;NSheth App Kit is a modular, source-first foundation built around &lt;strong&gt;TanStack Start&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goal is not to make another massive framework or a starter with 50 features that nobody uses.&lt;/p&gt;

&lt;p&gt;I want a clean base where I can take only the modules a project actually needs.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Portfolio
→ UI + CMS + SEO

Catalogue
→ Products + Admin + CMS + RFQ

Booking
→ Customers + Availability + Reservations

Hotel
→ Booking + Properties + Rooms + Rates

Ecommerce
→ Products + Cart + Orders + Payments
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same foundation, different products.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current stack
&lt;/h2&gt;

&lt;p&gt;The project currently uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React 19 + TypeScript&lt;/li&gt;
&lt;li&gt;TanStack Start + Router&lt;/li&gt;
&lt;li&gt;TanStack Query&lt;/li&gt;
&lt;li&gt;Untitled UI React&lt;/li&gt;
&lt;li&gt;React Aria Components&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;Prisma&lt;/li&gt;
&lt;li&gt;npm workspaces&lt;/li&gt;
&lt;li&gt;ESLint + Prettier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TanStack DB, Table, Form, Store, Hotkeys and Pacer are also part of the planned stack, but I’m intentionally not forcing a library into the project until there is a real feature that needs it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What already works?
&lt;/h2&gt;

&lt;p&gt;This is still an early project, currently at &lt;strong&gt;v0.1.0&lt;/strong&gt;, but it isn't just folders and placeholder code.&lt;/p&gt;

&lt;p&gt;The current playground already has:&lt;/p&gt;

&lt;h3&gt;
  
  
  Identity and RBAC
&lt;/h3&gt;

&lt;p&gt;Users, sessions, roles and permissions are provider-neutral.&lt;/p&gt;

&lt;p&gt;Authorization is checked on the server, not just hidden in the UI.&lt;/p&gt;

&lt;p&gt;The current development flow uses opaque HTTP-only sessions and permission checks such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;admin
identity.read
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The idea is that future apps can define their own roles without rebuilding the permission system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Admin foundation
&lt;/h3&gt;

&lt;p&gt;There is already a responsive admin shell with permission-based module visibility.&lt;/p&gt;

&lt;p&gt;Eventually modules like products, bookings, hotels or orders should be able to plug into the same admin system instead of each project having its own dashboard implementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  CMS and Blog
&lt;/h3&gt;

&lt;p&gt;Posts can currently be created through the admin with validation and:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;draft
published
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;states.&lt;/p&gt;

&lt;p&gt;There is also a public &lt;code&gt;/blog&lt;/code&gt; implementation that only exposes published content.&lt;/p&gt;

&lt;h3&gt;
  
  
  PostgreSQL + Prisma
&lt;/h3&gt;

&lt;p&gt;Database-backed features use PostgreSQL with Prisma.&lt;/p&gt;

&lt;p&gt;For local development, the repo includes Docker Compose, so the database can be started separately while the TanStack app runs normally on the host.&lt;/p&gt;

&lt;h2&gt;
  
  
  The UI matters too
&lt;/h2&gt;

&lt;p&gt;I don't want the project to look like a generic generated starter.&lt;/p&gt;

&lt;p&gt;The UI foundation currently uses &lt;strong&gt;Untitled UI React patterns&lt;/strong&gt; and accessible React Aria controls.&lt;/p&gt;

&lt;p&gt;The plan is to keep a consistent system for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;forms&lt;/li&gt;
&lt;li&gt;tables&lt;/li&gt;
&lt;li&gt;navigation&lt;/li&gt;
&lt;li&gt;admin screens&lt;/li&gt;
&lt;li&gt;responsive layouts&lt;/li&gt;
&lt;li&gt;loading/error states&lt;/li&gt;
&lt;li&gt;accessibility&lt;/li&gt;
&lt;li&gt;application UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then individual projects can change the branding without rebuilding the underlying interface every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes next?
&lt;/h2&gt;

&lt;p&gt;The next major piece is the &lt;strong&gt;Product Core + Catalogue/RFQ module&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Booking core&lt;/li&gt;
&lt;li&gt;Service booking&lt;/li&gt;
&lt;li&gt;Hotel and multi-property support&lt;/li&gt;
&lt;li&gt;Commerce&lt;/li&gt;
&lt;li&gt;Payments and integrations&lt;/li&gt;
&lt;li&gt;Cloudflare, Vercel and Node/VPS deployment targets&lt;/li&gt;
&lt;li&gt;Reusable TanStack add-ons&lt;/li&gt;
&lt;li&gt;Finished application templates&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Eventually I want to have seven usable starting points:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Portfolio · Blog · Booking · Hotel · Multi-Hotel · Catalogue · Ecommerce&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But the important part is that they share modules underneath instead of being seven unrelated codebases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build this publicly?
&lt;/h2&gt;

&lt;p&gt;Mostly because I know I’ll use it myself.&lt;/p&gt;

&lt;p&gt;I build different kinds of websites and applications, and having a foundation I understand completely is more useful to me than starting from a different boilerplate every time.&lt;/p&gt;

&lt;p&gt;Keeping it public also forces me to keep the architecture, docs and setup understandable instead of letting it turn into another private folder that only works on my machine.&lt;/p&gt;

&lt;p&gt;There’s still a lot to build, but the foundation is working and I’ll keep adding one real vertical slice at a time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/nityam2007/nsheth-app-kit" rel="noopener noreferrer"&gt;https://github.com/nityam2007/nsheth-app-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback, ideas and contributions are welcome.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#tanstack&lt;/code&gt; &lt;code&gt;#react&lt;/code&gt; &lt;code&gt;#typescript&lt;/code&gt; &lt;code&gt;#opensource&lt;/code&gt; &lt;code&gt;#webdev&lt;/code&gt;&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>softwaredevelopment</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why I’m Building NSheth App Kit</title>
      <dc:creator>Nityam Sheth</dc:creator>
      <pubDate>Thu, 03 Sep 2026 07:27:30 +0000</pubDate>
      <link>https://dev.to/nityam2007/why-im-building-nsheth-app-kit-4385</link>
      <guid>https://dev.to/nityam2007/why-im-building-nsheth-app-kit-4385</guid>
      <description>&lt;p&gt;I kept noticing the same thing every time I started a new project.&lt;/p&gt;

&lt;p&gt;Auth.&lt;br&gt;
Roles and permissions.&lt;br&gt;
Admin panel.&lt;br&gt;
CMS.&lt;br&gt;
Database setup.&lt;br&gt;
Forms.&lt;br&gt;
UI.&lt;/p&gt;

&lt;p&gt;Different project, same setup work.&lt;/p&gt;

&lt;p&gt;So I started building NSheth App Kit — a reusable TanStack Start foundation I can use across future projects instead of starting from zero every time.&lt;/p&gt;

&lt;p&gt;Current stack:&lt;/p&gt;

&lt;p&gt;TanStack Start + React&lt;br&gt;
Untitled UI&lt;br&gt;
PostgreSQL + Prisma&lt;br&gt;
RBAC&lt;br&gt;
Admin + CMS foundations&lt;/p&gt;

&lt;p&gt;The idea is to keep it modular, so later I can plug in things like:&lt;/p&gt;

&lt;p&gt;Catalogue / RFQ&lt;br&gt;
Booking&lt;br&gt;
Hotel / multi-hotel&lt;br&gt;
Ecommerce&lt;br&gt;
Blog / content&lt;/p&gt;

&lt;p&gt;It’s still early, but the foundation is already working.&lt;/p&gt;

&lt;p&gt;I’m building it in public and improving it as I use it.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/nityam2007/nsheth-app-kit" rel="noopener noreferrer"&gt;https://github.com/nityam2007/nsheth-app-kit&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  react #tanstack #typescript #opensource
&lt;/h1&gt;

</description>
      <category>buildinpublic</category>
      <category>react</category>
      <category>showdev</category>
      <category>softwaredevelopment</category>
    </item>
    <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>
