I was recently told about Northern Software (NS) and it's line of PIC programmers. These programmers are based upon the PIC16(L)F1454 microcontroller. This is a USB enabled microcontroller that acts as the bridge between the free "NSPROG" PC programming software and the microcontroller to be programmed.
Along with the line of programmers NS also sells the actual chip that is preloaded with the firmware that makes it all work. Cost is about $5 US.
To make a "programmer" all you have to do put the chip on a breadboard, add a few resistors and capacitors, and provide a connection from the chip's USB pins to a USB port on the PC.
So I ordered several of the 5v NS chips to play round with. I put one on a breadbaord and connected it up per the diagrams on the NS website and connected it to a PIC18F25K42. I then opened up the NSPROG application, selelcted the hex file to program the 18F25K42 with, and hit the "Program" button. Wow.
Instead of taking the usual 20 seconds of my regular programmer using MPLAB IPE, programming was completed in less than 3/10 of a second. That is more than 50 times faster and I no longer have time to refill my coffee, (or plant a new garden...) while waiting for a chip to be programmed.
A command line option is availabe that can be included in the GCB flashPic.bat file so that one click programming (Hex/Flash) can be used from the GCB IDE. I used this line.
"NS\NSPROG.exe" p -d PIC%2 -i %1 -v
It needs to be mentioned that NS Programmers and chips use Low Voltage Programming (LVP), so the LVP bit must be set to ON in the #config directive. If a chip has previoulsy been programmed with LVP OFF with a PICkit 2/3 or other programmer, then it will need to be erased first or programmed with LVP=on with one of these programmers before using an NS device for programming.
A "PGM" pin is brought out of the NS Chip that allows programming of certain older PIC chip that require it. A list of supported PIC chips is published on the NS website and includes nearly all 8-bit PICs that support LVP.
I purchased a couple of the 3.3v and 5v dip versions of the chip also, along with their "universal" programmer. Have been playing for a while. So far, extremely happy. I have really enjoyed using their products. You lose a pin, MCLR using LVP, but I can live with that for the following reasons...
I have a bunch of buddies that enjoy similar hobbies, ie, riding motorcycles of all kinds, and electronics, mainly, microcontrollers and the fun that comes with them. Heck, a couple of us actually are able to sell simple, dedicated boards we have developed. The most sucessful ones are unfortunately (for me anyway) based on arduino. Besides the amazing amount of support that comes with that platform, is the ability for anyone (non techincal person) to update firmware very easily. I have been caught up in a very "weird" loop. Develop something pretty cool, sell a board or two, have the customer ask for a "special" feature, ask the customer to send the board back to me to "update" the firmware using my pickit 3, send it back, rinse and repeat.
My buddies that use arduino, simply send their customers new code, tell them to load it using the arduino IDE and done. Some that use the "digispark" are amazing to me.
So then comes the GCB using the tiny bootloader. YAY! Problem solved. I was very excited to see that we could actually put a bootloader in the pic that worked with GCB. I thought, WOW, I can finally send my customers a new firmware revision, and at most a usb to serial board for 2 bucks, and tell them to load the new firmware. Done and Done.
Nope!
It seems that the bootloader is not to be used in that manner. There seems to be some kind of "you can't use the cool bootloader for any commercial gain". I can understand that thought process and respect it. A lot of effort went into that and it should only be used by the hobbiest, or something of that nature. I can't really explain why, now that there is a bootloader that works with GCB, to anyone that uses the arduino platform, that I can't use this the way they can, because that scenerio doesn't seem to exist in their world. They simply send their updated code to their customers, mostly non techincal people, they hook up usb cable and reprogram. Very cool, I'm jealous.
So along comes Northern Software. Finally, a solution to my problem. A way to slap a couple of components on to my latest boards that "legally or morally, or ethically" allow my customers to update their firmware with a simple usb connection to their computer. Download the program from NS, use the hex file I emailed to you to do your update. Open and reprogram your board. Done and Done.
I can see the incredible value of NS efforts, especially to people like me that want to develop sellable products, like ALL my arduino loving friends can do now, without any hassle at all.
Besides the incredible speed and ease of programming, the cost of 100+ at $2.19 for a qfn tiny little package and a couple of pennies for support components, is pretty cool. The free use of a bootloader would be better (obviously), but this seems to be frowned upon. So this company has certainly solved a problem for me.
I may be "out of the loop", and there may be a way to do this using something from microchip that I am not aware of, but basically it boils down to this... if I develop something using GCB, my buddy develops something using arduino, I can't do something as simple as send new firmware for an update by simply connecting a usb cable to a computer, and having the customer update a board themselves, without having to send a loaner pickit 3 and some crazy instructions on how to connect and update firmware.
I know that the arduino uses usb to serial to do this, but, even with the bootloader on the pic, I CAN'T. Crazy, right?
Northern Software to the rescue. They have found their niche for sure, at least it solves a problem I, and I am sure many, people have. I really do want to make a development board using thier interface and several different pics that will never need the use of a pickit 3 just to develop something simple. The latest boards (xpress) from microchip, that I have a few of, that simply plug in to the usb port and allow me to play, make me happy finally. The folks at arduino really did it right, and I can't tell my buddies otherwise, until now...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This software is under "Creative Commons Attribution Non-Commercial License":
you can use it at home for free
you can use it at work for free
you can share it for free, but this licence must remain the same
you can modify it as you want, but this licence must remain the same
you CAN'T sell it, even if you have modified it
Tiny Multi Bootloader+ included in the Great Cow BASIC distribution is a fork of the original. The developer has the version I developed. The Great Cow BASIC version retains the license to the original developement license for the executable. I updated the acknowledgements to show that I had adapted the source. The Great Cow BASIC version is 0.11.1.11. This has enhancements and UI changes we needed.
To ensure the license is recognised. A Great Cow BASIC instalation includes the original documenation. See about.html for the details of the license shown above.
Summary.
The software is licensed as specified. Using the software is ok - selling a bootloader package without retaining the license is not permitted.
Last edit: Anobium 2017-12-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To be simple: As long as you take no money for the Bootloader itself and include the License Statement in the Doc You can sell your own Product, let's asume Reggae Horn Hard- and Firmware including the bootloader.
Right?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As long as you take no money for the Bootloader itself and include the License Statement in the Doc You can sell your own Product, let's asume Reggae Horn Hard- and Firmware including the bootloader.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Seems a big deal for a bootloader when you don't have to mention the effort that went into gcb. I think the code gcb generates,unless trivial, will show it's been done with gcb ie math,glcd. I can't think of anything to make that is not cheaper available. My mate wants a Huntingon tracker.
I would worry about the taxman first.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Programming PIC Microcopntrollers with an NS Chip
I was recently told about Northern Software (NS) and it's line of PIC programmers. These programmers are based upon the PIC16(L)F1454 microcontroller. This is a USB enabled microcontroller that acts as the bridge between the free "NSPROG" PC programming software and the microcontroller to be programmed.
Along with the line of programmers NS also sells the actual chip that is preloaded with the firmware that makes it all work. Cost is about $5 US.
To make a "programmer" all you have to do put the chip on a breadboard, add a few resistors and capacitors, and provide a connection from the chip's USB pins to a USB port on the PC.
So I ordered several of the 5v NS chips to play round with. I put one on a breadbaord and connected it up per the diagrams on the NS website and connected it to a PIC18F25K42. I then opened up the NSPROG application, selelcted the hex file to program the 18F25K42 with, and hit the "Program" button. Wow.
Instead of taking the usual 20 seconds of my regular programmer using MPLAB IPE, programming was completed in less than 3/10 of a second. That is more than 50 times faster and I no longer have time to refill my coffee, (or plant a new garden...) while waiting for a chip to be programmed.
A command line option is availabe that can be included in the GCB flashPic.bat file so that one click programming (Hex/Flash) can be used from the GCB IDE. I used this line.
It needs to be mentioned that NS Programmers and chips use Low Voltage Programming (LVP), so the LVP bit must be set to ON in the #config directive. If a chip has previoulsy been programmed with LVP OFF with a PICkit 2/3 or other programmer, then it will need to be erased first or programmed with LVP=on with one of these programmers before using an NS device for programming.
A "PGM" pin is brought out of the NS Chip that allows programming of certain older PIC chip that require it. A list of supported PIC chips is published on the NS website and includes nearly all 8-bit PICs that support LVP.
William
http://gcbasic.sourceforge.net/Typesetter/index.php/News/22_Using_the_Northern_Software_Programmer
Last edit: William Roth 2017-12-17
I purchased a couple of the 3.3v and 5v dip versions of the chip also, along with their "universal" programmer. Have been playing for a while. So far, extremely happy. I have really enjoyed using their products. You lose a pin, MCLR using LVP, but I can live with that for the following reasons...
I have a bunch of buddies that enjoy similar hobbies, ie, riding motorcycles of all kinds, and electronics, mainly, microcontrollers and the fun that comes with them. Heck, a couple of us actually are able to sell simple, dedicated boards we have developed. The most sucessful ones are unfortunately (for me anyway) based on arduino. Besides the amazing amount of support that comes with that platform, is the ability for anyone (non techincal person) to update firmware very easily. I have been caught up in a very "weird" loop. Develop something pretty cool, sell a board or two, have the customer ask for a "special" feature, ask the customer to send the board back to me to "update" the firmware using my pickit 3, send it back, rinse and repeat.
My buddies that use arduino, simply send their customers new code, tell them to load it using the arduino IDE and done. Some that use the "digispark" are amazing to me.
So then comes the GCB using the tiny bootloader. YAY! Problem solved. I was very excited to see that we could actually put a bootloader in the pic that worked with GCB. I thought, WOW, I can finally send my customers a new firmware revision, and at most a usb to serial board for 2 bucks, and tell them to load the new firmware. Done and Done.
Nope!
It seems that the bootloader is not to be used in that manner. There seems to be some kind of "you can't use the cool bootloader for any commercial gain". I can understand that thought process and respect it. A lot of effort went into that and it should only be used by the hobbiest, or something of that nature. I can't really explain why, now that there is a bootloader that works with GCB, to anyone that uses the arduino platform, that I can't use this the way they can, because that scenerio doesn't seem to exist in their world. They simply send their updated code to their customers, mostly non techincal people, they hook up usb cable and reprogram. Very cool, I'm jealous.
So along comes Northern Software. Finally, a solution to my problem. A way to slap a couple of components on to my latest boards that "legally or morally, or ethically" allow my customers to update their firmware with a simple usb connection to their computer. Download the program from NS, use the hex file I emailed to you to do your update. Open and reprogram your board. Done and Done.
I can see the incredible value of NS efforts, especially to people like me that want to develop sellable products, like ALL my arduino loving friends can do now, without any hassle at all.
Besides the incredible speed and ease of programming, the cost of 100+ at $2.19 for a qfn tiny little package and a couple of pennies for support components, is pretty cool. The free use of a bootloader would be better (obviously), but this seems to be frowned upon. So this company has certainly solved a problem for me.
I may be "out of the loop", and there may be a way to do this using something from microchip that I am not aware of, but basically it boils down to this... if I develop something using GCB, my buddy develops something using arduino, I can't do something as simple as send new firmware for an update by simply connecting a usb cable to a computer, and having the customer update a board themselves, without having to send a loaner pickit 3 and some crazy instructions on how to connect and update firmware.
I know that the arduino uses usb to serial to do this, but, even with the bootloader on the pic, I CAN'T. Crazy, right?
Northern Software to the rescue. They have found their niche for sure, at least it solves a problem I, and I am sure many, people have. I really do want to make a development board using thier interface and several different pics that will never need the use of a pickit 3 just to develop something simple. The latest boards (xpress) from microchip, that I have a few of, that simply plug in to the usb port and allow me to play, make me happy finally. The folks at arduino really did it right, and I can't tell my buddies otherwise, until now...
Where is it stated anywhere that Tinybootloader cannot be used in a commercial product?
I was under the impression that you simply could not sell chips loaded with the bootloader for a profit.
Hi William, I pm'ed you.
Last edit: Moto Geek 2017-12-18
Tiny Multi Bootloader+ included in the Great Cow BASIC distribution is a fork of the original. The developer has the version I developed. The Great Cow BASIC version retains the license to the original developement license for the executable. I updated the acknowledgements to show that I had adapted the source. The Great Cow BASIC version is 0.11.1.11. This has enhancements and UI changes we needed.
The license is for the original source http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm and http://tinypicbootload.sourceforge.net/. As the original license was for the file called 'tinybldWin.exe' this is the scope of the license.
To ensure the license is recognised. A Great Cow BASIC instalation includes the original documenation. See about.html for the details of the license shown above.
Summary.
The software is licensed as specified. Using the software is ok - selling a bootloader package without retaining the license is not permitted.
Last edit: Anobium 2017-12-18
To be simple: As long as you take no money for the Bootloader itself and include the License Statement in the Doc You can sell your own Product, let's asume Reggae Horn Hard- and Firmware including the bootloader.
Right?
I am not a lawyer. I have an IPR lawyer for this.
I would agree.
Seems a big deal for a bootloader when you don't have to mention the effort that went into gcb. I think the code gcb generates,unless trivial, will show it's been done with gcb ie math,glcd. I can't think of anything to make that is not cheaper available. My mate wants a Huntingon tracker.
I would worry about the taxman first.
There are quite a few free bootloader codes, however I only know of these here, the same time PIC AVR (and MSP430) serves everything in one project