This is a review of the Northern Software solution an alternative method to program Microchip PIC microcontrollers.
Northern Software?
Northern Software’s mission is to provide high quality tools tailored to microcontroller firmware development.
What is the intent of Northern Software Development System?
To be the fastest method to program Microchip PIC microcontrollers.
The tool suite is called Northern Software Development System (NSDS) and it is designed to support most Microchip PIC® microcontrollers.
The system is still under development – the developer has completed the hardware programmers and he is developing a programming suite for Microchip PIC microcontrollers.
What are the components of NSDS?
NSDS is an integrated tool suite of programmers and supporting software. There are two main components the programmers and the software.
Northern Software Development Programmers (NSDP)
NSDPs are programmer/debuggers for Northern Software Development System, but , NSDPs can also be used with independent software programs like Great Cow BASIC.
NSDS features
USB connectivty - interfaced to the host computer via USB that does not require any special drivers to operate.
In-circuit programming
On-chip debugging (OCD)
Fast - several times faster than PICkit 3, and faster much than ICD 3
Safe - uses low voltage programming (LVP) and never applies high voltage to the board
Pragmatic – High Volt Programming (HVP) is possible with external circuit
Power - NSDSP models can supply up to 200mA of USB power to the target circuit
Simple - the NSDP does not require firmware changes to program the microcontroller. The same NSDP firmware works for all supported PIC microcontrollers
Program and debug most Microchip PIC® microcontrollers.
The NSDSP’s use a 10-pin connector designed to keep it attached in the breadboard for prototyping. If breadboard is not used.... just use a short cable to connect to your development board through Microchip 6-pin ICSP® connector! Very simple.
Northern Software - NSDS
The main software program is used to setup and program a microcontroller. The software can be used for development as well as production programming, including serialized or parallel programming.
Software features:
Configurable - the operating speed of the NDSP can be set from 6MHz to 50kHz to support a wide variety of operating conditions.
Multiple NSDP support - enables support for multiple devices to be connected to the host computer at the same time.
Serial communications – the NSDSP can work as UART-to-USB converter for the target PIC (as well as for any other device) with speeds from 1200 baud to 2Mbaud.
Supports Windows, Linux and Mac OS X
Installation
Installation is simple – just download and follow the dialogs.
The main programming software has a MS-Window like interface. It is easy to use but is not a user interface that I personally like. The main programming software enables you to select the parameters like the microcontroller type, the hex file and other tweaks that you may need. From my experience the software is robust and very usable – small improvements to the user experience would make me very happy!
The software suite also has a number of command line utilities that support command line programming, serial communication and device discovery – again, these command line utilities are very good. See below for the use of the command line utility when using with Great Cow BASIC.
The serial software is published for user developement programs.
What are the five NSDSP options?
There are four NSDSP models, which operate at different target voltages, plus a pre-programmed chip for embedded into solutions.
NSDSP-1-3V3 - 3.3V
NSDSP-1-5V - 5V
NSDSP-1-U - 1.7 to 5.5V
NSDSP-1-I - 2.5 to 5.5V with galvanic isolation
Pre-programmed NSDSP chips to mount a NSDSP directly into a production circuit. This is a cost effective alternative to USB bootloader, but also works as a USB-to-UART converter for the application.
I have the NSDSP-1-U - 1.7 to 5.5V to support a wide range of microcontrollers.
The software is highly usable with issues being resolved quickly. I was very impressed with requests for information and the resolution for a specific microcontroller to be supported was very fast.
What does the NSDS look like?
The user interface is shown below.
Not my favorite user interface but as I use the command line utilties this very usable.
Does NSDS work?
Yes.
Programming is fast. Very fast. From my benchmarks - 13s to 0.4s!! Stunning.
Works from the user interface, as shown above and it works from the command line, see later in this article.
How does NSDS work?
The architecture is relatively simple.
At the core of the solution is the NSDSP Chip. A pre-programmed PIC16LF1454. This chip handles the USB interface to the host computer and the programming and the serial interface to the target microcontroller. There are other key passive components but the PIC16LF1454 is the smart part of the architecture.
The software is key. This has the details ‘how to’ program the microcontroller. The software is where the developer has embedded the ‘knowledge’ of vast array of supported microcontrollers. When I started the review a specific was microcontroller not supported – I contacted the developer and the same day I downloaded and installed the latest software with the specific microcontroller support.
The software is a closed development. Critics of closed developments will easily say 'the closed software means that there an issue' (not a risk as risk needs to be a specific stated time/date!) 'with respect to the future support of microcontroller in the future'. This issue can be resolved by requesting licensing the software with an escrow agreement.
How does NSDS work with Great Cow BASIC?
Simple.
Download and install the command line utilities to the GCB@SYN directory into folder called ..GCB@SYN\NS.
Edit FLASHPIC.BAT and add the following to call the command programmer. You may wish to review the following TOPIC https://sourceforge.net/p/gcbasic/discussion/projects%26guides/thread/81f52ddf/ to enable the support of multiple programmers.
:NS
"ns\nsprog.exe" p -d "PIC%2" -i %1 -v
Then, in you user program you need to ensure you have Low Voltage Programming enable by adding the following to your user program.
#config LVP=ON
The compile, program and enjoy the speed!
But... NSDS needs LVP and I have used HVP on my microcontroller?
If you have used a PICKit or another HVP then the microcontroller will have the LVP flag unset.
Simple to resolve.
Using High Voltage Programmer, either a PICKit2 / PICKit3 or alternative, and use the approoiate software for the specific chip. Erase the program and this will reset the LVP flag within the microcontroller.
Remember, PIC microcontrollers are shipped with LVP enabled - so if you use a brand new microcontroller you can use it in LVP mode with ease. You just may to erase previously programmed microcontrollers.
Summary
NSDS suite works.
NSDS is a development program.
There may be issues - report this issues via the developer – he can only fix what they are told is broken
There may be microcontrollers not supported - just ask.
These programmers and the supporting software rock!
This will save you hours of value time and lots of angst.
Last edit: Anobium 2017-11-25
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Waiting for mine in the mail. Very exciting stuff, especially the preprogrammed 1454s that can be easlily added to a board for "field" programming by non tech persons using a usb port and simple program. Just email new hex file to customer and they can re-program a board without a pickit 3 and IPE. Just great....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is a review of the Northern Software solution an alternative method to program Microchip PIC microcontrollers.
Northern Software?
Northern Software’s mission is to provide high quality tools tailored to microcontroller firmware development.
What is the intent of Northern Software Development System?
To be the fastest method to program Microchip PIC microcontrollers.
The tool suite is called Northern Software Development System (NSDS) and it is designed to support most Microchip PIC® microcontrollers.
The system is still under development – the developer has completed the hardware programmers and he is developing a programming suite for Microchip PIC microcontrollers.
What are the components of NSDS?
NSDS is an integrated tool suite of programmers and supporting software. There are two main components the programmers and the software.
Northern Software Development Programmers (NSDP)
NSDPs are programmer/debuggers for Northern Software Development System, but , NSDPs can also be used with independent software programs like Great Cow BASIC.
NSDS features
The NSDSP’s use a 10-pin connector designed to keep it attached in the breadboard for prototyping. If breadboard is not used.... just use a short cable to connect to your development board through Microchip 6-pin ICSP® connector! Very simple.
Northern Software - NSDS
The main software program is used to setup and program a microcontroller. The software can be used for development as well as production programming, including serialized or parallel programming.
Software features:
Installation
Installation is simple – just download and follow the dialogs.
The main programming software has a MS-Window like interface. It is easy to use but is not a user interface that I personally like. The main programming software enables you to select the parameters like the microcontroller type, the hex file and other tweaks that you may need. From my experience the software is robust and very usable – small improvements to the user experience would make me very happy!
The software suite also has a number of command line utilities that support command line programming, serial communication and device discovery – again, these command line utilities are very good. See below for the use of the command line utility when using with Great Cow BASIC.
The serial software is published for user developement programs.
What are the five NSDSP options?
There are four NSDSP models, which operate at different target voltages, plus a pre-programmed chip for embedded into solutions.
I have the NSDSP-1-U - 1.7 to 5.5V to support a wide range of microcontrollers.
What is the status of the development program?
The development program is active. The hardware and software is available from http://www.northernsoftware.com.
The software is highly usable with issues being resolved quickly. I was very impressed with requests for information and the resolution for a specific microcontroller to be supported was very fast.
What does the NSDS look like?
The user interface is shown below.
Not my favorite user interface but as I use the command line utilties this very usable.
Does NSDS work?
Yes.
Programming is fast. Very fast. From my benchmarks - 13s to 0.4s!! Stunning.
Works from the user interface, as shown above and it works from the command line, see later in this article.
How does NSDS work?
The architecture is relatively simple.
At the core of the solution is the NSDSP Chip. A pre-programmed PIC16LF1454. This chip handles the USB interface to the host computer and the programming and the serial interface to the target microcontroller. There are other key passive components but the PIC16LF1454 is the smart part of the architecture.
The software is key. This has the details ‘how to’ program the microcontroller. The software is where the developer has embedded the ‘knowledge’ of vast array of supported microcontrollers. When I started the review a specific was microcontroller not supported – I contacted the developer and the same day I downloaded and installed the latest software with the specific microcontroller support.
The software is a closed development. Critics of closed developments will easily say 'the closed software means that there an issue' (not a risk as risk needs to be a specific stated time/date!) 'with respect to the future support of microcontroller in the future'. This issue can be resolved by requesting licensing the software with an escrow agreement.
How does NSDS work with Great Cow BASIC?
Simple.
Download and install the command line utilities to the GCB@SYN directory into folder called ..GCB@SYN\NS.
Edit FLASHPIC.BAT and add the following to call the command programmer. You may wish to review the following TOPIC https://sourceforge.net/p/gcbasic/discussion/projects%26guides/thread/81f52ddf/ to enable the support of multiple programmers.
Then, in you user program you need to ensure you have Low Voltage Programming enable by adding the following to your user program.
The compile, program and enjoy the speed!
But... NSDS needs LVP and I have used HVP on my microcontroller?
If you have used a PICKit or another HVP then the microcontroller will have the LVP flag unset.
Simple to resolve.
Using High Voltage Programmer, either a PICKit2 / PICKit3 or alternative, and use the approoiate software for the specific chip. Erase the program and this will reset the LVP flag within the microcontroller.
Remember, PIC microcontrollers are shipped with LVP enabled - so if you use a brand new microcontroller you can use it in LVP mode with ease. You just may to erase previously programmed microcontrollers.
Summary
NSDS suite works.
NSDS is a development program.
These programmers and the supporting software rock!
This will save you hours of value time and lots of angst.
Last edit: Anobium 2017-11-25
Nice Review
Makes me greedy to try it.
And a second Programmer as a Backup may be precious anyway.
Waiting for mine in the mail. Very exciting stuff, especially the preprogrammed 1454s that can be easlily added to a board for "field" programming by non tech persons using a usb port and simple program. Just email new hex file to customer and they can re-program a board without a pickit 3 and IPE. Just great....