Making J.A.R.V.I.S

Ever Dreamed of Building Your Own J.A.R.V.I.S.?

Have you ever watched an Iron Man movie and thought, “I wish I had my own J.A.R.V.I.S.”? That witty, all-knowing, and incredibly helpful AI assistant is no longer just a thing of science fiction. With today’s technology, you can create your very own version of J.A.R.V.I.S., and this tutorial will show you how.

What is J.A.R.V.I.S.?

For those unfamiliar, J.A.R.V.I.S. (Just A Rather Very Intelligent System) is Tony Stark’s AI companion in the Marvel Cinematic Universe. He’s the voice in the suit, the brain behind the operations, and the ultimate smart home manager. J.A.R.V.I.S. can do everything from running diagnostics on the Iron Man suit to ordering shawarma. While we might not be building a superhero-grade AI today, we can certainly create a personal assistant that can answer questions, tell jokes, and even help with your daily tasks.

[Read more]

How To Make A NAS Using Raspberry Pi

Hello all,

In this guide I’ll show you, step by step, how to turn an old Raspberry Pi into a Network Attached Storage (NAS) box and local media server using Samba and Jellyfin. Your Pi won’t bake you a pie, but it’ll serve up your movies and files just fine!

Why I Built a NAS

I had:

  • An old Raspberry Pi (Model 3 B+)
  • A lonely external HDD gathering dust
    I wanted to learn more about networking, reuse my hardware, and never let good tech go to waste.

Requirements

  • Raspberry Pi (3 B+ or newer)
  • SD card (≥ 32 GB) with reader
  • Stable 5 V/3 A power supply & quality cable
  • External HDD (I used a 2 TB drive)
  • PC or laptop (Windows, Linux or macOS)

Step 1: Flash Raspberry Pi OS

  1. Download Raspberry Pi Imager from raspberrypi.org.
    ![[Pasted image 20250626051143.png]]
  2. Choose Raspberry Pi OS Lite (headless) for minimal overhead.
  3. Select your SD card and write the image.
  4. You can press ctrl+shift+x in the imager and set hostname login password and also configure ssh it would be very useful if you dont have an external monitor.
  5. Click next and write the changes to the SD card.
  6. Eject the SD card and place it into the Raspberry Pi.

Step 2: First Boot & Network Access

  1. Insert the SD card, connect Pi → router (Ethernet) or Wi-Fi, then power on.
    - You can see the Pi’s IP address directly from your router page if the router doesnt support it then connect the raspberrypi to a monitor or TV via HDMI and follow the steps below.
  2. Find its IP:
    hostname -I
    
  3. SSH in:
    ssh pi@<PI_IP>
    # Default password: raspberry
    
  4. Update packages:
    sudo apt update && sudo apt upgrade -y
    

Step 3: Mount Your External HDD

  1. (Optional) Install NTFS support if your drive is NTFS:
    sudo apt install ntfs-3g -y
    
  2. Plug in the HDD, then check its device name and UUID:
    lsblk -f
    sudo blkid /dev/sda1
    
  3. Create mount point and edit fstab:
    sudo mkdir /mnt/hdd
    sudo nano /etc/fstab
    
    Add a line (replace <UUID> with your drive’s UUID, adjust ntfs-3g or ext4):
    UUID=<UUID>  /mnt/hdd  ntfs-3g  defaults,noatime  0  2
    
  4. Mount it:
    sudo mount -a
    ls /mnt/hdd
    

Step 4: Set Up Samba (Windows-Friendly NAS)

  1. Install Samba:
    sudo apt install samba samba-common-bin -y
    
  2. Create a Samba user (will mirror your Linux pi user):
    sudo smbpasswd -a pi
    
  3. Edit share config:
    sudo nano /etc/samba/smb.conf
    
    Append at the end:
    [NAS]
       path = /mnt/hdd
       browseable = yes
       read only = no
       guest ok = no
       create mask = 0664
       directory mask = 0775
    
  4. Restart Samba:
    sudo systemctl restart smbd
    
  5. From Windows Explorer, go to \\<PI_IP>\NAS, enter your Samba credentials, and voilà!

Step 5: Install Jellyfin (Your Personal Netflix)

  1. Add Jellyfin’s repo and key:
    sudo apt install -y apt-transport-https gnupg2
    curl -fsSL https://repo.jellyfin.org/debian/jellyfin_team.gpg.key \
      | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg
    echo "deb [signed-by=/usr/share/keyrings/jellyfin.gpg] \
      https://repo.jellyfin.org/debian \
      $(. /etc/os-release && echo $VERSION_CODENAME) main" \
      | sudo tee /etc/apt/sources.list.d/jellyfin.list
    sudo apt update
    
  2. Install Jellyfin:
    sudo apt install jellyfin -y
    
  3. Enable & start the service:
    sudo systemctl enable --now jellyfin
    
  4. In your browser, navigate to http://<PI_IP>:8096 and follow the setup wizard.
    • Point Jellyfin’s media library to /mnt/hdd/YourMediaFolder.

Final Thoughts

– Keep your Pi cool (a heatsink helps).
– Use your router’s DHCP reservation for a stable IP.
– Back up configs if you get too adventurous.

[Read more]