The subject of this paper is the mathematical theory of--and an explanation of the software algorithm to produce--a simple-to-use, all-purpose boundary value problem solver in MATLAB. The background to such solvers is summarized well, and is also related to the mathematical approximation method employed. The approximation, while being of lower order than other modern algorithms, has a computable error bound that is used to place the collocation points efficiently within the interval so as to produce a solution that meets a user-defined accuracy requirement. The boundary value types can be fairly general, so that boundary conditions involving both ends can be specified, such as periodic solutions. The ordinary differential equations may also have parameters to be determined, for example, eigenvalue problems, and a good guess of the solution can be specified if necessary. Attention is paid to efficiency, both in terms of the mathematical algorithm (Jacobian computation issues) and the MATLAB problem-solving environment. Three good comparison problems showing the range of applicability are provided. The paper assumes some familiarity with these types of collocation methods, but provides a good reference set.