Dúvidas Arduino para Projetos Comerciais

Galera, estou querendo montar algumas bugigangas para vender, mas para isso preciso ter um baixo preço de produção, quero usar um uC barato, inicialmente estou usando o ATtyni85, mas em alguns projetos vou precisar de mais do que 4 pinos, e mais performance.

Enfim, minhas dúvidas são: 1) Assim como o Tiny da pra gravar o código via ISP tem como gravar em outros?? 2) Quais modelos de uC poderiam ser usados ? 3) Como funciona o Bootloader nestes casos? Ja vem gravado ? Tem como gravar via ISP? 4) Alguém ja comprou/montou algum arduino ai para deixar sua experiência? 5) Licença, se não me engano é possível usar o Arduino comercialmente, se deixar claro que esta usando... isso?

Acredito que as dúvidas não sejam só minhas, desde já agradeço a colaboração!

podes usar o isp em todos os avr.

e usar o isp para gravar o bootloader.

olha para os mega pois esses têm mais pariféricos.

estava a pensar criar um há dias, mas desisti da ideia.

não tenho nideia de como funciona a licença. que estás a pensar fazer?

Licença, se não me engano é possível usar o Arduino comercialmente, se deixar claro que esta usando… isso?

Ve este video do camarada Jeremy Blum a explicar como funciona o Open Source
Vale a pena ver

Brigado, vou olhar sim o vídeo, estou pensando em fazer alguns projetinhos simples para vender, nada em grande escala, mas tipo tenho conhecidos que querem alguma automação em casa e preciso comercializar o arduino em si, por isso quero entender um pouco melhor sobre isso...

Que tipo de automatizações estás a pensar?

Eu acabei de comprar uma casa e estou a ponderar seriamente fazer algumas coisas nesse sentido, principalmente medição de temperatura em casa e eventualmente controlo para poupar electricidade.

Um problema que encontrei é que para usar o tipo de rádio mais barato tenho de fazer uma placa à mão e soldar não dá comigo. Queres partilhar alguns planos e ver o que se pode fazer, se claro estiveres interessado nisso.

Abraço.

Estou pensando em lâmpadas por controle remoto, controles e monitoramento web (temperatura, umidade, ...)

Quanto ao gasto de energia é mais complexo, tem que colocar em série com o circuito da cada um amperímetro, dai é mais tenso, mas da pra fazer com tempo e $$ ... ahaha

Se precisar de ajuda com o lado web eu consigo fazer tranquilo, atualmente eu estou penando na comunicação serial, como viu no outro post, mas estou pensando em usar uma shield ethernet para facilitar...

Pois... eu estou preso com o shield Ethernet. Ele funciona... mas de vez em quando prende e só com reset é que anda para a frente. :\ Já vi vários posts e parece-me software. Logo vou ter de andar em cima dele e alterar as bibliotecas para darem códigos de erro (em vez de ser 0 para tudo) e tentar descobrir o que se passa.

A monitorização de potência não precisa ser feita para todos os circuitos da casa. Mas apenas na entrada da casa. Os consumos são grandes o suficiente para se notar quando cada um dos electrodomésticos liga. Esse é aliás o meu interesse para já. Eventualmente controlo de temperatura ou da caldeira...

Ligar e desligar lâmpadas para ser sincero não é comigo... não vejo interesse nenhum nisso porque o trabalho e custo que dá não valem o conforto adicional que trazem. Mesmo em termos de poupança energética uma vez que usando lâmpadas eficientes, esse cálculo torna-se extremamente mais complexo de fazer.

Mas podemos atirar umas ideias e ver o que conseguimos. O meu ponto fraco é precisamente o lado web. :( Isto é... se precisar faço o que preciso com PHP e SQL, etc... mas colocar isso dentro duma página com HTML ou algo bonito é além do meu conhecimento.

O meu ponto fraco é precisamente o lado web. Isto é... se precisar faço o que preciso com PHP e SQL, etc... mas colocar isso dentro duma página com HTML ou algo bonito é além do meu conhecimento.

Eu sou 0 á esquerda com design cara, mas em questão de comunicação e segurança web consigo fazer coisas legais, dai posso te ajudar nisto ;)

MarceloBoeira: 5) Licença, se não me engano é possível usar o Arduino comercialmente, se deixar claro que esta usando... isso?

Não. Tudo que você faz que tem uma placa de arduino ou bootloader do Arduino deve permanecer open source / open hardware.

Tecnicamente, a parte do Arduino que te interessa é o bootloader, pois você não vai "vender" um produto comercial pronto usando uma placa pronta de Arduino. Pra começar que ficaria muito caro pra você. No entanto, em um produto comercial, você não vai sequer usar o bootloader do Arduino: você vai fazer seus sketches na IDE e transferí-los para o uC usando ICSP, portanto o bootloader é completamente desnecessário e sequer precisa ser gravado na placa. Resultado: você fez todo o desenvolvimento usando o Arduino, placa e bootloader, mas não fica nada de arduino no produto final, entendeu?! ;)

Eu já desenvolvi 4 projetos usando o Atmega328 em placas minhas. Um deles é um clone de um Arduino, mas sem a interface USB (eu uso um adaptador FTDI). Ele é o único que possui o bootloader. Como eu tenho meu clone, eu deixo meu UNO guardadinho e raramente o uso. Se meu "Arduino" (que chamei de Simduino, para lembrar que é simples) quebrar, sujar, arranhar, amassar, queimar (desde que não o uC), eu jogo a placa fora e faço outra por custo muito baixo, e ainda aproveito vários dos componentes da anterior.

Nos outros 3, eu exponho uma interface ICSP apenas para gravação do programa (o arquivo .HEX gerado pela IDE), usando um USBasp. As placas destes 3 projetos nada têm a ver com o Arduino, mas todo o desenvolvimento do firmware delas é feito usando a IDE do Arduino.

Eu tenho comprado os Atmega328 e 328P na Amazon. Compro em lotes de 10 a 20 e eles chegam tranquilamente. Em breve passarei a usá-los apenas em SMD.

Vou ver se posto fotos do meu clone depois.

Viva,

Deixem-me deixar aqui uma perspectiva diferente...

O bootloader e o hardware são insignificantes comparativamente às bibliotecas do Arduino. Isto pela simples razão, apontada anteriormente, que o bootloader não aparecerá num produto final. No entanto, o tempo colocado nas bibliotecas, se usadas, aparece.

As bibliotecas em si estão debaixo duma licença que segundo me parece é a mesma para o bootloader e placa. Ou seja, tem de ser open source. Isto não quer dizer que o produto final não obedeça a estas regras, mas convém ter isso em atenção.

Algo que também convém ter em atenção quando se fala em vender um produto é a segurança. Se for uma plaquinha de desenvolvimento para brincar (como o Arduino), então não haverá grande problema... no entanto, se for para usar comercialmente para, por exemplo, domótica, alguns cuidados têm de ser levados em conta uma vez que o resultado pode não ser muito agradável para quem vendeu o produto.

Após ter perdido cerca duma semana mergulhado nas bibliotecas Ethernet do Arduino (ainda sem resultados), eu não me sentiria confiante o suficiente para fabricar e comercializar um produto com algumas bibliotecas do Arduino dentro dele e sem testes intensivos. Até porque me parece mais simples fazer o código pessoalmente para manter controlo de tudo o que se passa.

Por outro lado, adaptar o Arduino para funcionar com outros chips como os Tiny, demoraria mais tempo que, por exemplo, arranjar bibliotecas para AVR-GCC (como as do Peter Fleury) e usar só com o AVR-GCC.

Não estou a dizer mal do Arduino, não é isso. Apenas estou a levantar a questão do propósito da plataforma. O propósito é iniciar pessoas na programação e microcontroladores e não fabricar produtos comerciais baseado no Arduino. Dito isto, obviamente que usar o Arduino (hardware) na prototipagem facilita imenso o desenvolvimento, mas manter um controlo apertado sobre todos os aspectos do código evita problemas maiores mais tarde. Notem por exemplo que algumas indústrias (automóveis, por exemplo) têm requerimentos sobre a forma como o código é feito...

Por último... todo ou quase todos os produtos comerciais devem ter um watchdog... coisa que o bootloader original do Arduino não permite. (esta foi a desilusão do dia quando reparei que todas as minhas placas têm o bootloader velho)

Olá bubulindo!

Procurei mais informações (fonte) sobre as licenças do Arduino, e o que pode e não pode é:

Can I build a commercial product based on Arduino?

Yes, with the following conditions:

  • Physically embedding an Arduino board inside a commercial product does not require you to disclose or open-source any information about its design.

  • Deriving the design of a commercial product from the Eagle files for an Arduino board requires you to release the modified files under the same Creative Commons Attribution Share-Alike license. You may manufacture and sell the resulting product.

  • Using the Arduino core and libraries for the firmware of a commercial product does not require you to release the source code for the firmware. The LGPL does, however, require you to make available object files that allow for the relinking of the firmware against updated versions of the Arduino core and libraries. Any modifications to the core and libraries must be released under the LGPL.

  • The source code for the Arduino environment is covered by the GPL, which requires any modifications to be open-sourced under the same license. It does not prevent the sale of derivative software or its inclusion in commercial products.

In all cases, the exact requirements are determined by the applicable license. Additionally, see the previous question for information about the use of the name “Arduino”.

Então, eu mesmo tinha alguns conceitos errados, e falei coisa errada antes (me desculpem).

De qualquer forma, eu permaneço com minha idéia de que não vale a pena ter o bootloader do Arduino em um projeto comercial (sobretudo no produto final), pois dificulta o "field-upgrade" e consome memória flash desnecessariamente. Use ICSP com um USBasp e pronto.

teria então como eu usar o meu arduino mega, com ISP, para gravar o Attiny85 sem usar o bootloader? tipo usando AVRDude ou algum compilador sem estar usando a IDE do arduino, como eu não possuo gravador queria ver se é possível...

MarceloBoeira:
teria então como eu usar o meu arduino mega, com ISP, para gravar o Attiny85 sem usar o bootloader? tipo usando AVRDude ou algum compilador sem estar usando a IDE do arduino, como eu não possuo gravador queria ver se é possível…

Sim, e sem precisar do bootloader.

Usando o sketch ArduinoAsISP, você pode transferir qualquer .HEX para seu ATTiny85 usando seu Mega. Pode-se usar o AVRdude para isto.

O mapeamento ICSP (ou ISP como preferem alguns) do Attiny45 ou 85 é assim:

MISO Pino 1
+5V Pino 2
SCK Pino 3
MOSI Pino 4
RESET Pino 5
GND Pino 6

Exceto pelo RESET, todos os outros pinos conectam no pino correspondente do Arduino (MOSI com MOSI, SCK com SCK, etc). Pelo Sketch, o Arduino gera o sinal de RESET no pino 10 (no UNO). Então o pino 10 do Arduino liga no pino 5 do Attiny85.

Veja a documentação do Mega para saber a quais pinos correspondem os pinos do UNO acima. É bem provável que sejam os mesmos, mas não posso afirmar.

Lembre-se que se o Attiny85 estiver “virgem”, você precisa setar os FUSES dele antes de enviar qualquer sketch. Quais são e quais os valores a serem setados depende de como ele será usado na placa final.

A grande vantagem é: usando assim, diretamente via ICSP, você economiza uma boa memória do seu Attiny.

Sim.

Podes fazer tudo isso com o que já está instalado no teu computador por causa do Arduino.

Em todo o caso, podes também instalar o AVR-GCC. http://savannah.nongnu.org/projects/avr-libc/

Se quiseres usar em windows, existe o WinAVR. Mas creio que apenas instalando o Arduino, ficas com o avr-gcc instalado.

Se quiseres enviar os sketches para o ATtiny podes usar o teu mega para o fazer, apenas precisas de passar o sketch AVRISP para lá.

Eu fiz isso com um ATmega16 (com 10 anos) que tinha por casa e posso passar-te algumas cenas que usei para veres como fazer.

O bootloader permite que o upgrade fa aplicação seja feito pelo utilizador final (se a aplicação tiver um interface USB), algo que sem o bootloader é impossível.