Pages: [1]   Go Down
Author Topic: Can Arduino be used for professional tasks as well?  (Read 656 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
From what I know, most AVR chips for more-or-less professional use ( in a security systems, for example ) are programmed in AVR Studio.
The funny part is that I don't know much about avr studio, yet know my way around in arduino.
So I wanted to ask if there might be any downsides and would it be a generally good idea to use arduino bootloader on an avr chip that would be intended to work for, say, a security system?

Thanks!  smiley
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 212
Posts: 13531
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Imho it will work quite well for profi tasks, there are many examples. But be aware that you need extensive testing, CE labels etc for profi products. But don't try to control a nuke reactor with it (this was explicitly mentioned in one of the big OS's user license some years ago, maybe still)

Depending on what kind of security system, It can definitely be made with an Arduino.
See - http://grathio.com/2009/11/secret_knock_detecting_door_lock/ -

But you better not post the code here to keep it secure  smiley-wink

Rob

Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

0
Offline Offline
Shannon Member
****
Karma: 200
Posts: 11718
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

One issue with the Arduino bootloader that might matter in some cases is the start-up delay (the bootloader listens on the serial pins for an upload after reset, and this uses a second or so).   In an application where instant-on is needed this is undesirable.
Logged

[ I won't respond to messages, use the forum please ]

Portugal
Offline Offline
God Member
*****
Karma: 6
Posts: 962
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Keep the bootloader so people can easilly steal your code lol.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for your answers, guys! smiley-cool

Quote
In an application where instant-on is needed this is undesirable.
Guess in my case it won't be a problem, as it would be an always-on device, such as a door lock, waiting for a code to be pressed in or a card swiped or even a command coming from the ethernet and such.

Quote
Keep the bootloader so people can easilly steal your code lol.
You mean I can remove the bootloader, so that people won't be able to get my code or install their own, and the chip would still work without it?

Thanks! smiley-wink
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 603
Posts: 33402
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
You mean I can remove the bootloader, so that people won't be able to get my code or install their own, and the chip would still work without it?
You can but there is no point. Once the system is installed people will no have access to the physical pins like the reset and serial lines. If they have then the system is already compromised so there is little you can do about it. Anyway you can't get code out with a bootloader only in.
Logged

Offline Offline
Edison Member
*
Karma: 3
Posts: 1001
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You can certainly extract code (binary) through the Arduino boot loader as this is a fundamental requirement used for verification (program, extract and compare). Note also that it is possible to extract code using an external programmer irrespective of the chip being boot loaded or not. The extracted code will be in a binary/hex format that can be converted to assembly. This is not the same as reading your commented source code, but still all that is needed for someone with sufficient motivation to reengineer your code.

If this is a concern (as may be for some applications), the AVR chip itself can be protected through programming relevant fuses (external programmer required).

Using a boot loader is practical during proto typing as we can instantly switch between programming and serial debugging through a single cable. For a final product however it doesn’t really add value. Arduino is a prototyping platform and so using a boot loader is the natural choice whereas production issues and concerns are left for the brave.
Logged

Pages: [1]   Go Up
Jump to: