Having slow or spotty WiFi in parts of your home can be frustrating. A simple and cost-effective way to improve your home's WiFi coverage is to build your own WiFi extender using a Raspberry Pi.

A Raspberry Pi is an inexpensive, credit card-sized computer that can function as a WiFi extender when configured properly. With just a few pieces of additional hardware and some basic Linux setup, you can create a DIY WiFi extender that will boost your wireless network's range and strength.

What You'll Need

To build your Raspberry Pi WiFi extender, you'll need:

Flashing the Raspberry Pi OS

The first step is to install the Raspberry Pi OS on your MicroSD card:

  1. Download the latest Raspberry Pi OS image from the official website. The Raspberry Pi OS Lite version works well for this project.
  2. Using balenaEtcher or another image flashing tool, flash the Raspberry Pi OS image onto the MicroSD card.
  3. Once flashed, insert the MicroSD card into the Raspberry Pi.

Connecting and Configuring the Hardware

With the OS ready to go, you can now assemble and configure the hardware:

  1. Place the Raspberry Pi inside the case, if using one.
  2. Connect the wireless USB adapter and Ethernet cable to the Pi.
  3. Connect the micro USB power supply to turn on the Pi.

The wireless adapter will allow the Pi to connect to your existing WiFi as a client. The Ethernet port will function as the extender access point.

Configuring the Software

Now it's time to configure the Raspberry Pi OS for WiFi extending:

  1. Make sure the Pi is updated:

bash
sudo apt update
sudo apt full-upgrade

  1. Install the WiFi software:

bash
sudo apt install hostapd dnsmasq

  1. Configure the DHCP server:

Edit /etc/dnsmasq.conf to listen only on the Ethernet interface:

interface=eth0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

  1. Configure the new access point:

Edit /etc/hostapd/hostapd.conf with your WiFi settings:

interface=wlan0
ssid=MyExtender
hw_mode=g
channel=6

  1. Configure the wlan0 interface:

Edit /etc/default/hostapd to autostart on boot:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

  1. Enable IP forwarding:

bash
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

  1. Reboot to connect to the new extended network!

With these steps completed, your Raspberry Pi will now be extending your WiFi signal under the SSID you configured. Place the Pi in a central location between your main router and weak signal areas.

Optimizing the Extender Placement

To get the best performance from your DIY WiFi extender, optimize its placement:

Don't be afraid to experiment with different positions to see what works best!

Enhancing the Range Further

If you need to push the extended range even further, consider:

With the right placement and configuration, your DIY Raspberry Pi WiFi extender can significantly improve wireless coverage in all areas of your home. No more slow, flaky internet on the far side of the house!