Building a timetable or academic schedule is one of the duties a faculty officer regularly does. There are huge numbers of combination a timetable could be built, but one or a few of them is desirable. A good timetable should accommodate constraints that might be emerged due to some interests. Constraints to be considered are (1) the nature of the timetable, (2) university requirements and (3) lecturers' preferences. It is granted that there are no calculated solutions violate the nature of the timetable. It is done by forceful action in the making of solution. To extend the flexibility of the software, it is proposed to make constraints customizable. The violation of university requirements and lecturers' preferences could exist in some solutions, but of course these solutions are considered not optimized and hence not chosen. Finding the best (or at least good enough) timetable could be considered as a non-linear problem since it is solved in various ways. Particle Swarm Optimization (PSO) is then proposed to solve this problem. PSO objective function is to minimize the value of the timetable. Every violation of the constraints will make the objective function burden some penalties. To put the problem into the PSO domain, it needs problem mapping. This paper explains how this timetable problem could be mapped onto PSO, and solved satisfactorily.