We study the appearance of powers of Hamilton cycles in pseudorandom graphs, using the following comparatively weak pseudorandomness notion. A graph G is (e,p,k,l)-pseudorandom if for all disjoint X, Y ⊂ V(G) with |X| ≥ ep k n and |Y| ≥ ep l n we have e(X,Y) = (1±e)p|X||Y|. We prove that for all β > 0 there is an e > 0 such that an (e,p,1,2)-pseudorandom graph on n vertices with minimum degree at least βpn contains the square of a Hamilton cycle. In particular, this implies that (n,d,λ)-graphs with λ ≪ d 5/2 n − 3/2 contain the square of a Hamilton cycle, and thus a triangle factor if n is a multiple of 3. This improves on a result of Krivelevich, Sudakov and Szabo [Triangle factors in sparse pseudo-random graphs, Combinatorica 24 (2004), no. 3, 403–426]. We also obtain results for higher powers of Hamilton cycles and establish corresponding counting versions. Our proofs are constructive, and yield deterministic polynomial time algorithms.