In system programming and PCB design


I haven’t developed anything with Sierra’s products however I have experience with PCB design and programming. I am about to start a project that will practically be a telemetry application with low data rate requirements. Among others, I am considering Sierra’s products, and I will most likely use either Q2686 or Q2687.

However, I am not sure how to start developing and testing my idea mainly because due to the high cost of the available development boards (~$600).

If the project goes well at the very end I will need to design my own PCB in order to embed it in my application. Considering this can somebody answer the following question and give any pointers on how to get started:

  1. If I don’t buy the available development boards is there some more other affordable programmer? I will need to do a lot of in-system-programming (ISP) when I finally design the PCB and start developing my application. I would be willing to build my own programmer, but is there some available design/drivers on line? For example, is it possible to program a Q2686 in system via the SPI bus, and if yes, can I use a third-party programmer that works with the SPI bus. (For people familiar with AVR devices: I have an STK 500 board that can be used for ISP through the SPI bus. Would it be possible to use the STK 500 to program a Q2686?)

  2. Can I use the available boards (e.g. AirPrime Q26 kit) as an ISP programmer for a Q2686 or Q2687?

  3. Do you have any good references how to go about designing my first board?

Thanks a lot,

How about prototyping your application on a Fastrack modem?

eg, see:

SiWi modules are programmed through the UART - no special equipment required at all!

As with any such product, your Distributor or FAE should be your first point of reference - they will be able to provide support, point you to the available references, and recommend local consultants…

As Awneil said, SiWi embedded modules are programmed via the UART. This includes the WMP, SL and Q series modems. If you are programming via a PC, you will need a level shifter that does RS232 down to 3V, an example is provided in the product technical specifications. Here’s an example:

Thank you for both responses guys. After your posts and reading a bit more about the necessary hardware the programming part doesn’t look that challenging. Eventually I have to build my own PCB, so I could very well start with that.

BTW, do you have some kind of library with these designs. I see you have the freedom to post the schematics here, and you also make then available in the user guides, but can you also make available the actual source of these pictures? If not, do you have at least a part library with your modules that includes the schematics and footprints (I am mostly interested in the Q268x parts)? That would be very useful for every designed. I will most likely build this in Eagle.


Since (virtually) all PCs these days have USB ports, I wouldn’t bother with that :exclamation:

Use one of these instead: … Serial.htm

Gives a direct, logic-level UART connection.

Not quite sure who you’re referring to as “you” there?

Note that most contributors here are not from Sierra Wireless - we are just other users/customers.

I am sorry about that. For some reason I assumed that you were a Sierra Wireless employ (not that I had good reason nor a way to verify that).


Indeed. See:

Nice. I have always just used a standard USB-RS232 converter with a level shifter, does seem a bit silly now I think about it :slight_smile:

So for use with a WMP100 for example, you would use a TTL-232RG-VIP-WE with the VCC input connected to 2V8 from the modem to set the UART voltage levels?

I’m not aware of anyone else making “direct-to-logic-level” cables like this - I only discovered them a couple of years ago.

WMP100’s UART1 (only) is 3V-tolerant.

Just to get this straight: none of the available FTDI cables outputs 3V. So, I am confused why you mention that WMP100’s UART is 3.0V tolerant? I believe that in this case the only solution is to indeed use TTL-232RG-VIP-WE and supply the appropriate voltage to VCC. Right? I will be using this for the Q2687, so I assume that there is no better solution. For example, would Q2687’s UART 1 (that operates at 2.8V) tolerate one of the FTDI cables that operates at 3.3V without frying the chip?

In a related note: the FTDI cables use only RXD, TXT, CTS, and RTS. I assume that the UART works just fine even without using the other three signals (DCR, DTR, DCD).

Apart from using UART 1 for communication and downloading my application on the Q2687 can I also use it for debugging according to this video … tudio.aspx ? This video shows in-system-debugging with hardware breakpoints. Will I be able to do all these with UART 1? If not, what do I need to make in-system-debugging work?

Thanks a lot!