Knowing that there were lots of errors in the calculation of mathematical tables, Babbage wanted to find a method by which they could be calculated mechanically, removing errors made by humans. Three different factors seem to have influenced him: a dislike of untidiness; his experience working on logarithmic tables; and existing work on calculating machines carried out by Wilhelm Schickard, Blaise Pascal, and Gottfried Leibniz. He first talked about the principles of a calculating engine in a letter to Sir Humphrey Davy in 1822.

Part of Babbage's difference engine, assembled after his death by Babbage's son, using parts found in his laboratory.

Babbage's engines were among the first mechanical computers. His engines were not actually completed because he did not have enough money. Babbage realised that a machine could do the work better and more reliably than a human being. Babbage controlled building of some steam-powered machines that more or less did their job; calculations could be mechanized to an extent. Although Babbage's machines were large machines their basic architecture was very similar to a modern computer. The data and program memory were separated, operation was instruction based, control unit could make conditional jumps and the machine had a separate I/O unit.