Credit for this version of the circuit goes to Jimbo Harris, who sent me the writeup seen here.

The serial version of the DSC circuit described in these pages is readily adapted to use with a USB-serial conversion cable. In fact, FTDI makes the TTL-232R-5V cable that converts TTL-level serial data coming straight from the PIC into USB for the PC.

FTDI TTL-232R-5V Cable (image (c) FTDI)

Using this cable allows us to eliminate the MAX232 chip (and several capacitors) used in the serial circuit that converts TTL to RS-232 and back. At also allows us to eliminate the external power supply and the components making up the voltage regulator for the board. Instead, we draw power from the USB port itself.

Here’s the schematic for the USB version of the DSC board:

USB Digital Setting Circles Schematic
USB Digital Setting Circles Schematic

While updating the original circuit for USB, it made sense to make a couple of other changes. Most noticeable is the elimination of the pull-up resistors on the unused PIC I/O pins. Less obvious is the change from the four-pin oscillator to a simple crystal for clocking the PIC. Finally, the original PIC16F84 was replaced by an equivalent but cheaper part, the PIC16F628 (requiring updated hex code). And, of course, there’s no longer a DB9 connector on the board for a serial port. Instead, 6-pin connector JP4 is the connection point for the TTL-232R-5V cable. The result is that the USB version of the circuit is considerably simpler than the serial version.

FAR Circuits sells a kit for this circuit that includes a PC board and all board-mounted parts and connectors, but not the TTL-232R-5V cable. You’ll need to purchase the TTL-232R-5V cable separately. Both Mouser and DigiKey sell this cable for about $20 plus shipping. Go here for information on how to order the kit from FAR Circuits.

FAR Circuits USB board (top)


FAR Circuits USB board (bottom)


FAR Circuits USB board, populated (top)


Far Circuits USB board, populated (bottom)


Note that the FAR Circuits board comes with capacitors C1 and C2 as chip capacitors pre-soldered on the bottom of the board.

Construction of the circuit is pretty straightforward. Basically, solder the parts in whatever order you wish. I recommend buying a socket for the PIC chip, but it’s not mandatory. Just make sure that the PIC is installed in the proper orientation. The PIC has a little dimple next to pin 1, or a semicircular cutout on the end of the chip closest to pin 1. If you hold the chip vertically with the cutout at the top, pin 1 will be the top left pin. The hole for pin 1 on the board is labeled “1”.

The TTL-232R-5V cable must be connected in the proper orientation, too. Just make sure that the colors of the wires on the connector coincide with the colors labeled on the board and you’ll be good to go.

Once the circuit is constructed and the TTL-232R-5V cable is connected, plug it into your PC and see if it’s recognized as a COM port. You may need to install the FTDI VCP driver for the cable in order for it to be recognized by your OS. Drivers are available for Windows, Mac, and Linux. Installation instructions for the drivers can be found here. Make sure to note the COM port number of the cable once it’s recognized. That’s the COM port you’ll need to enter into any astronomy software that you plan to use with the circuit.

There are testing and troubleshooting instructions on the “Building the Circuit” page for the serial version of the DSC board that can be used for the USB version, too.

20 thoughts on “USB Digital Setting Circles

  1. Dave,

    The explanation says “Note that the FAR Circuits board comes with capacitors C1 and C2 as chip capacitors pre-soldered on the bottom of the board.”

    I just recieved two kits (for two different setups) and the capacitors were not premounted. They were included but were surface mount type. I may go by the electronics store and buy a couple of capacitors (and the PIC socket) as they should be pretty cheap.

    • Dave,

      The surface mount capacitors were pretty easier to solder than I originally thought.

      BTW, I used these encoders: and have been very pleased with the versatility of the mounting. Can’t beat the price either (~$25 US).

      Only issue I have now is maintaining the alignment. It seems to have an issue with crossing the meridian but I don’t see how that should be an issue (I have a fork mount on a wedge). My Dob is next.

      Thanks again for creating such a great project.


  2. I have built the board, but I do not know how to power it. I have connected a 9 volt battery to jp1 which immediately makes my computer recognize a USB device, but the integrated circuit gets hot very quickly and I must unplug it. Does any one know what type of power should be used, and what the proper way to connect it would be?

    • Don’t connect anything to JP1–that’s for doing a reset only. The USB board doesn’t require an external power supply. It’s powered by the USB port you plug it into.

  3. Hello,

    I have a HC-04 Bluetooth module and would like to use a pre-programed PIC16F628 to populate my own board and layout. My plan is to purchase the pre-programed PIC16F628 USB from FAr Circuits.
    Looking over your layout, I should be able to use pin 18 as RX and pin 6 as TX. Should not matter if programed for serial or USB board…. right?


  4. Hi Dave,
    I’m trying to find capacitors for C1 and C2. The only ones I have at hand ar 10pF , 15pF and 82pF. In the schematic diagram, I need to have a 22pF capacitor.
    Can I use the ones I mentioned to replace the 22pF ?

    • Typically, capacitors in the pF range aren’t polarized, so you don’t have to worry about that. Only electrolytic capacitors are typically polarized, but you should be using ceramic disc or poly capacitors. If they aren’t marked with a + and -, they aren’t polarized.


  5. Hi Dave,
    Just wondered <ether I need to have the 10k resistors for the USB DSC version. Can I just connect the PIC directly to VCC from USB without a resistor ?

  6. I just updated my original Dave Ek DSC from the older serial version to the newer USB version. I ordered the new kit from FAR Circuits, and it went together very nicely. Rather than use the TTL-232R-5V cable I opted to use an inexpensive and very small CP2102 USB to UART board which only cost $6.88 on Amazon as of this writing. This board ships with a USB A male soldered to it. The USB male connector can be removed and hard wired into.There is also a small jumper pad on the bottom of the board for voltage and I just soldered it for 5 volts. I also bought a panel mount USB “B female” connector with a 1 foot cable to mount on the telescope (8 inch SCT LX-50 fork mount). I cut off the USB B male connector on that cable and wired it directly to the CP2102 in the place of the USB A male connector mentioned earlier. The CP2102 is pin for pin compatible with the new USB DSC board so all I had to do was plug together the mini ribbon connector. I can now plug in my scope using any USB A to B printer or device type cable. The CP2102 comes up as a com port in windows and I have already tested this modified connectivity using TheSky as I usually did with the serial port version and all works well. Now I no longer need a stand alone power supply for the DSC it all just runs as a USB device. Just thought I’d share an alternative method that might save a few dollars and make the project more versatile. For those that need it the colors listed on the DSC project correspond to the data lines on the CP2102 as follows: Black=GND; Brown=CTS; Red=VCC; Orange=TXO; Yellow=RXI; Green=DTR; Clear skies everyone!

  7. Hi, does this interface works with PIC 16F84 and “old ” hex code? I have a serial interface with a programmed 16F84 and would like use this instead F628

  8. Just tried to program. 16F628 with updated hex code using a parallel port programmer. Tried with two different soft( PicPgm, both linix and win versions, and WinPic) .Every time I receive an error on veryfing config memory like this:

    Programming Config Memory 0x00000010
    Verifying Config Memory 0x0000000E
    Verify Error: Cfg Mem 0x00000E: PIC=0x0201 Buf=0x3F01
    Verifying Config Memory 0x00000010

    Any suggestion?


    • It’s hard to know what might be wrong. It could be a bad chip (I’ve seen one or two bad chips myself), or it could be that the programmer isn’t functioning correctly. Some of the newer versions of Windows, especially, don’t allow direct access to the parallel port hardware so some of the old parallel or serial port programmers won’t work. I don’t know if Linux is the same.



Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>