Buy(Cart) Contact NSDSP Home


NSDSP is not just a programmer. It also provides mechanisms to communicate with the target device or other microcontrollers. It supports two communication methods - UART with dedicated set of pins and optional flow control, and SPI communications through ICSPDAT and ICSPCLK pins.

NSDSP SDK consists of a set of self-documented source files and examples which demonstrate how to establish communications to a microcontroller through NSDSP programmer.


UART is the fastest communication method. The SDK contains an example of full-duplex UART communication at 62KBytes. UART also supports hardware flow control. NSDSP has full set dedicated UART pins - RX, TX, RTS, and CTS.


SPI communications re-use ICSPDAT and ICSPCLK pins which are ordinarily used for programming and debugging. Since there are only two pins available, the communication is half-duplex and the direction must be negociated between target PIC and the program which runs on the PC. The PGM/RTS pin may be used as a Slave Select. The SDK includes examples of SPI communications both with and without the Slave Select.


MCLR, PGM/RTS, ICSPDAT, and ICSPCLK pins can be used as output pins for bit-banging at rates up to 500K toggles/sec. MCLR pin can be driven low to reset PIC. The SDK has an example which demonstrates pin manupulations.


You can use SDK to parse debugging information sent by the PIC through either UART or SPI. Such approach is more efficient than using printf() on the PIC to produce debugging information because most of the processing is shifted to the PC.

Production and testing

This is where SDK is the most useful. Since NSDSP is already connected to the PIC for programming, it is very convenient to use this connection for QA testing and configuration. It is possible to signal timing of test events, to send calibration information to the PIC, to read any test information the PIC may have gathered during test.

It is also possible to use SDK to communicate to other microcontrollers which participate in the after-programming tests. You can signal to your test station whether the PIC programming succeeded or not, when the PIC is ready to be tested etc. This may be done by simply toggling the PGM/RTS pin. If more complex communications are needed, you can use an UART connection to any microcontroller on your test station, not just to the target PIC.

The target PIC may be reset through SDK by driving the MCLR pin down and brought out of reset when it is ready to be tested.

In the field

If you have installed NSDSP chip on your production board, you can use either UART or SPI to establish communications with the PIC. In case of SPI, you can do it without using any extra pins except dedicated ICSP pins - ICSPCLK and ICSPDAT.

You can use SDK to create your own GUI software which will let your customers to configure the target PIC in the field, or to download any data from the PIC.

Languages and requirements

The latest version of SDK supports C and C#. if you are interested in using other languages, please contact us.

The SDK does not require special drivers, is free and open source.


You can download SDK here.

Northern Software Home NSDSP Contact Us Purchase/Vew Cart

© 2007-2023 Northern Software Inc. All Rights Reserved.