Charles Babbage designed a fully functional mechanical computer called the Analytical Engine in 1837. It used gigantic stacks of cogs for memory (capable of storing 1,000 numbers to 40 decimal places), a CPU-like computing engine developed using gears and wheels, a printer (numbers only), a plotter (for graphics...ish), and even a programming language (Ada Lovelace wrote the first program, and the system used punched cards for program input). The Analytical Engine was the first Turing complete design for a computer -- this effectively meant it was the first modern computer, but it was designed more than a hundred years before modern computers like ENIAC. The only trouble is that Babbage's grand machine was never built. A partial prototype was made, but the grand scale of the Analytical Engine was never realized, and Babbage died without seeing it constructed.
In this twelve-minute TED Talk, computer scientist John Graham-Cumming describes the Analytical Engine...and his plans to build it. Pro tip: around 10:30 he mentions the ZX81; if you aren't familiar with that home computer of my youth, Wikipedia has a good overview.
If you like this talk, check out Graham-Cumming's book The Geek Atlas: 128 Places Where Science and Technology Come Alive; it's a travel guide to significant sites in geek history. You may also be interested in The Computer History Museum's construction of Babbage's Difference Engine, a simpler design by Babbage (it only weighs 5 tons).