Pointing accuracy is an important thing in satellite communication. Because the satellite’s distance to the surface of the earth's satellite is so huge, thus 1 degree of pointing error will make the antenna can not send data to satellites. To overcome this, the auto-tracking satellite controller is made. This system uses a microcontroller as the controller, with the GPS as the indicator location of the antenna, digital compass as the beginning of antenna pointing direction, rotary encoder as sensor azimuth and elevation, and modem to see Eb/No signal. The microcontroller use serial communication to read the input. Thus the programming should be focused on in the UART and serial communication software UART. This controller use 2 phase in the process of tracking satellites. Early stages is the method Elevation-Azimuth, where at this stage with input from GPS, Digital Compass, and the position of satellites (both coordinates, and height) that are stored in microcontroller. Controller will calculate the elevation and azimuth angle, then move the antenna according to the antenna azimuth and elevation angle. Next stages is correction modem, where in this stage controller only use modem as the input, and antenna movement is set up to obtain the largest value of Eb/No signal. From the results of the controller operation, there is a change in the value of the original input level from -81.7 dB to -30.2 dB with end of Eb/No value, reaching 5.7 dB.