Shop OBEX P1 Docs P2 Docs Learn Events
How to sell a product? — Parallax Forums

How to sell a product?

I've been designing a little arbitrary function generator using the Propeller because I wasn't able to find one for sale that had the capabilities I require. I've got it working nicely and I am considering selling this little thing. So if I write my program to the EEPROM, do I have to worry about it ever becoming corrupted? My function generator has a little software program that communicates to the Propeller via the Parallax Serial Terminal so I could write my program to the chip every time the software is used. This would require me to give away my software with the product and implement the compiling routine of the Propeller Tool in my software. Is there a proper way to handle this, or is it up to me?

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2015-10-14 18:08
    You shouldn't need to worry about the EEPROM being corrupted unless someone uses the Propeller tool to overwrite the EEPROM. It's also possible to distribute your program as a binary file. If you select F8 it lets you save the file as a binary or EEPROM file. I'm not sure what the difference between these two file types are but neither will display your source code.

    It's possible to reverse engineer EEPROM files but it's not a trivial task.
  • Thanks for the reply! That's good to hear.
  • Heater.Heater. Posts: 21,230
    zepperik,
    ..if I write my program to the EEPROM, do I have to worry about it ever becoming corrupted?
    If your product leaves the programming pins exposed then yes, the user can obliterate your code with the Prop Tool any time.
    My function generator has a little software program that communicates to the Propeller via the Parallax Serial Terminal so I could write my program to the chip every time the software is used.
    I'm not sure what the Parallax Serial terminal has to do with this but it sure seems like a way for the user to blow away your program.
    This would require me to give away my software with the product and implement the compiling routine of the Propeller Tool in my software. Is there a proper way to handle this, or is it up to me?
    OK. Now I'm confused. Is this a software only product or a hardware thing with your software on it?

    If you want to keep your software binary and "secret" then there are many loaders that will load your binary to a Prop.














  • As already stated, you should not have to worry about EEPROMs getting corrupted in Propeller circuits unless the user accesses the pins to specifically do so.

    If you have plans for software updates, but don't want to do it through PC software, you could add EEPROM bootloader code for a secondary EEPROM to your software and sell "EEPROM Keys" to clients for the updates. I did something similar for my Thermistor Tester. The onboard EEPROM has a default test and the bootloader code. The unit has a connector to plug in a secondary EEPROM. If the secondary EEPROM is recognized at boot, the program on it runs instead of the default code.

    You could also have the bootloader in the lower 32k of a 64k EEPROM and the program in the upper 64k. Then, if no secondary EEPROM is seen, the upper program is loaded and ran. If a secondary is seen, do the same but have the bootloader load the program from the EEPROM key into the upper portion of a 64k EEPROM as the "active" program for the unit, prompt the user to remove the key, then reboot.

    See these two threads for my Thermistor Tester project:

    http://forums.parallax.com/discussion/129684/thermistor-cable-harness-tester

    http://forums.parallax.com/discussion/129700/booting-from-secondary-eeprom-non-sd-bootloader/p1

    thanks,
  • OK. Now I'm confused. Is this a software only product or a hardware thing with your software on it?

    Its just an audio function generator. It uses serial communication to the chip to change the waveform and then an RC circuit at the output of a single PWM pin. Its pretty much just the Propeller chip. So right now, its on a development board, but I would put it in a little box with a USB input and several standard audio output connectors.
  • Zepperik If you want a good function gen. And or hz counter go with the arduino and dds board. The prop requires coding in pasm to get decimal hz Like 15,002.465 in the audio spectrum I have not found a good spin solution for the .465. If you know of one post it

    Thanks
  • There are several ways to prevent the EEPROM from being overwritten by the user. One way is to use a jumper on the EEPROM's write protect pin. Another is to use a jumper on the reset line. A jumper on the reset line also prevents the problem of the board resetting when connecting to the USB line.
  • Thanks Duane Degn! That sounds like a good idea. I guess I'll do that and then play with it for a while to make sure it never becomes corrupted.
Sign In or Register to comment.