A trellis-coded pulse-position modulation (T-PPM) scheme for direct-detection photon communications over unguided channels is described. The purpose of this signaling method is to combat performance degradation due to the spreading of received signal pulses caused by transmitting laser distortion and the finite area and bandwidth of optical detectors. The T-PPM scheme relies upon use of a set partitioning methodology to increase minimum distance using a simple convolutional encoder. The Viterbi algorithm is used at the receiver to separate the signaling set as part of the demodulation process. It is shown through both analysis and Monte Carlo simulation of an avalanche photodiode based receiver system that T-PPM can restore performance losses due to reduced peak intensity during the detection process. Furthermore, for a large range of background radiation levels, the average number of required signal photons per information bit for T-PPM is smaller than that of uncoded PPM. Specific examples show that for a symbol error rate of 0.001, when the received pulses extend over 4 PPM slot widths, the average laser energy per symbol for 256-ary T-PPM could be reduced by as much as 2 dB.