Over the years most people who've run a home wireless network have run through a number of routers. These devices sell for very cheap and are often replaced when they start working poorly. I've got 3 or 4 of them sitting in my basement in what most people call my own personal e-waste dump. (I prefer to think of it as my inventory of equipment that is awaiting its second life.)
After clearing some space on our back patio deck this weekend, and remembering how bad/non-existent the wifi reception there is, it occurred to me that one of the old routers I had in the basement might work as a repeater with newer software.
That newer software would come from the DD-WRT open source project. The DD-WRT community has produced Linux-based wireless router software that's better than most everything you get with your router when you buy it, even allowing it to do things never supported by the original product.
One of those examples is creating a "Repeating Bridge", which extends the range of your wireless network seamlessly across a larger physical space than any single router could cover.
I picked a Belkin router that was listed in their supported routers page, and started following the instructions. After about an hour I had the new software running. In another hour I had the new router configured as a repeater, and went to a spot in the basement where Wifi reception is typically terrible and used a Wifi site monitor program to see the improvement in signal when I plugged in the repeater in the basement. It seamlessly passed my traffic onto the main router, which sent it on out to the Internet.
Before you go doing this yourself, let me assure you that it's a little challenging and if you do it wrong you can brick the router, which means you'll literally have to throw it away. But if you read the directions first and follow them carefully you should have no trouble.