VEX Programming Dongle DIY


The VEX ‘PIC Microcontroller’ is usually programmed using the Programming Hardware Kit. This consists of a USB to serial converter (Prolific IC) and a so-called ‘Programming Module’.

The Programming Module contains an RS232 to TTL level shifter IC, a push-button switch and a PIC 12F629 microcontroller. The 12F629 monitors the push button and serial communications, and sends reset signals to the VEX unit when appropriate.

Make Your Own

I made a functional VEX programmer with a MAX232 and an ATTiny45 microcontroller.


Source Code for WINAVR

The project source code is not very polished at this stage, but it does work.


  • U1 is an ATTiny45 but any Tiny AVR should do.
  • U2 is a MAX232 or equivalent
  • 5V VCC is provided by the VEX Microcontroller
  • All capacitors are 100N
  • R1 is 10K

If you need help building your own VEX programming cable I may be able to assist you.


9 thoughts on “VEX Programming Dongle DIY

    • Hi Rob,

      Have a look at the schematic. The circuit will work with almost any AVR microcontroller, I just happened to use an ATTiny45.
      You can build the circuit on a prototyping PCB. Once you have built the circuit you need to build the source code and download the binary to the AVR chip. If you let me know what AVR processor you are using, I can build you a binary.


  1. Great guide, I’ve been looking for something like this for a while now. I was wondering if it would be possible to bypass the ATiny by just connecting the CTS and RTS strait from the serial connector to the correct pins on the RJ11 connector (assuming logic levels were properly converted). If so I wonder if one could also connect an FTDI USB to TTL chip to act as the bridge between the computer (via COM port) to the microcontroller (via RJ11 cable).
    Thanks in advance!

    • Hi David,

      Thanks for your interest in my site.

      The VEX microcontroller requires a special pattern of pulses (5 on-off pulses with a period of approx 3.5 ms) on its CTS line to place it in programming mode. The ATtiny listens to the serial traffic and sends these pulses when a specific command sequence is sent over the serial port, or when the push button is pressed.

      It may be possible to do this in software with an FTDI chip using the D2XX drivers. I don’t think it is possible to generate these pulses using a standard serial port.


      • Could you send me the original source? I looked at the link you have above and it has several blank includes, and I couldn’t get it to build with WINAVR due to build errors.


        • The issue is probably because WinAVR does not know the micro that it is building for. This is normally specified in a makefile. I’ll try and dig up the makefile I used.

          • Got it to work, for some reason when I opened the “source” link before it brought me to a web page with plain text on it; this time it let me download an actual .c file. I have a makefile that works and it builds successfully. Thanks a lot for all the help!

Leave a Reply

Your email address will not be published. Required fields are marked *