We develop a low-complexity coding scheme to achieve covert communications over binary-input discrete memoryless channels (BI-DMCs). We circumvent the impossibility of covert communication with linear codes by introducing non-linearity through the use of pulse position modulation (PPM) and multilevel coding (MLC). We show that the MLC-PPM scheme exhibits many appealing properties; in particular, the channel at a given index level remains stationary as the number of level increases, which allows one to use families of channel capacity-and channel resolvability-achieving codes to concretely instantiate the covert communication scheme.A small misconception: One might think that linear codes might not be covert because the linearity constraint requires the sum of codewords to be a codeword; consequently, linear combinations of low-weight codewords would result in a codeword with high weight. This is, however, insufficient to argue that linear codes cannot be covert. In fact, one could consider a systematic code with unit-weight codewords in the generator matrix, i.e, G = ( I k 0 k×n−k ), where I k is the identity matrix of size k. All codewords of this code have weight at most k. Of course, this code would hardly be covert, mainly because the structure of the generator matrix allows an attacker to dismiss the last n − k codeword components. The next proposition formalizes this.Proposition 1. Consider an (n, k) binary linear code with (n, k) ∈ (N * ) 2 , n k. Assume that the code is used for communication over a BI-DMC (X , W Z|X , Z) with uniformly distributed messages. There exists a binary hypothesis test with false alarm probability α and missed-detection probability β such that