7
sunny44
6y

Hi,
I have created my own C# application that burns .hex file in atmega8 microcontroller using avrdude.
Or users can burn .hex file by using avrdude alone.
Is there any way I can stop this. I mean that user cannot burn hex file without my application.

Comments
  • 2
    i don't know anything about avr. i think it depends on your deployment.
  • 1
    @wowotek Yup, but I just want a rough idea to solve my problem
  • 6
    But why?
  • 1
    @ewpratten because my client wants :/
  • 3
    TLDR: If possible just burn the fuse to disable the serial programming. And replace ATmega8 part when an update is required.

    You can pre-program the devices with a custom bootloader and disable the serial programming using a fuse. The custom bootloader could use a symmetric key for verifying that your tool is beeing used. However this is just security by obscurity since someone could just decompile your C# application. Anything serious or with proper security requires something like RSA which is probably way overkill for the ATmega8.

    Depending on your requirements it might be just enought to disable the serial programming fuse and in case of a required update you have to replace the ATmega8 (if it is in a socket otherwise replace the whole PCB).
  • 3
    I honestly wouldn't use open source hardware like Arduinos and then disable overwriting the firmware running on it. More than 99% of your users won't care anyway, and for the remaining less than 1% that wants to hack their hardware (such as me) it'll leave a VERY bad taste. Try to convince client that it may not be a good idea to do this.
  • 1
    @Condor Yup I was thinking about this 🙂
Add Comment