The heat-engine comprises cylinders with pistons, equipment successively heating and cooling the medium in them, and an output drive linkage. A large number of cylinders (105) are mounted on a frame (104) turning on a non-rotating eccentric shaft (101). The heating and cooling units are mounted at diametrally-opposite points round the rotary cylinders and frame. The output links (110) from the pistons (106) are supported from the eccentric shaft by a bearing bush rotating on it. The frame and bush rotate on different parts of the shaft.