This paper presents a low-cost 3D surface scanner, composed of two fixed web cameras and a hand-held planar laser beam. Setup pre-calibration provides interior orientations of the cameras and their scaled relative orientation. Our calibration algorithm, based on bundle adjustment, uses image pairs of a chessboard, whose nodes are identified automatically and referred to the ground points. For scanning, synchronized image pairs are continuously recorded from each location of the static cameras as the laser source is slowly moved by hand; each pair thus records a profile of the 3D surface intersected by the laser plane. Epipolar resampling reduces the search for point correspondences to finding the intersections of homologous epipolar lines with the recorded laser profile. After a smoothing operation, peaks are identified as the maxima of Gaussian curves fitted to the gray-value data along the epipolar lines; the final identification of peaks involves information from the neighbourhood of the initial estimation. An innovative aspect is that the photogrammetric triangulation of 3D points gains in robustness by enforcing extra geometric constraints. Thus, all points of a profile must lie on a laser plane, whose coefficients are involved as unknowns in the 3D reconstruction adjustment. This allows identifying blunders in peak detection; for epipolar lines with more peaks, only points which, when reconstructed, satisfy a distance threshold from the laser plane participate in the final 3D data set. Furthermore, the object is placed in a corner (the equations of its two planes in the setup system are found automatically by prior scanning), which is intersected by the laser plane in two lines. Their points are identified and constrained to simultaneously satisfy both the corresponding plane equation and the equation of the laser plane. Using available modeling software, individual scans are finally triangulated and merged into a single 3D surface model, which may also be draped with image photo-texture. First results indicate that an accuracy better than 0.3 mm appears as feasible with this setup.