Editorial: Uso de kits comerciais para desenvolvimento de produtos

kits-comerciais-para-desenvolvimento-de-produtos

O objetivo deste post é discutir o uso de kits comerciais para desenvolvimento de produtos. Tópicos vão desde quando (tipos de aplicação) e onde utilizar (fases de desenvolvimento do projeto). Comparação entre desenvolvimento “from scratch”, uso de SOMs e Single Board Computers. Comparação entre soluções open-source (Arduino, Raspberry Pi, BeagleBone Black, etc) e proprietárias (Toradex, Kontron , Congatec, etc).

 

 

Quando usar kits comerciais para desenvolvimento de produtos

 

Na fase de concepção de projeto, o uso de kits comerciais para desenvolvimento de produtos é um aliado muito importante no que tange a experimentação de uma nova tecnologia e a validação e prova de conceito de determinados componentes ou soluções. Isso porque permite que essas experiências sejam feitas de modo mais rápido do que seria desenvolver o projeto do zero nessa fase. Mas o que antes era utilizado apenas para aprendizado ou nos primeiros meses de um projeto ou nas bancadas de um curso técnico e nas universidades, se tornou uma ótima alternativa também para a concepção do produto, principalmente quando essa eletrônica não precisa operar em ambientes muito severos, sob temperatura extrema e abruptamente variável, perturbação eletromagnética ou vibração mecânica.

 

Costuma-se dizer que, com a adoção dos kits comerciais para desenvolvimento, Computer On Modules (COM) e Single Board Computers (SBC) em novos produtos e com o uso cada vez maior de ferramentas open-source, que aceleram o desenvolvimento de determinada ideia, faz com que o foco da equipe de desenvolvimento passe a ser o que agrega valor ao produto, o modelo de negócio adotado para ele. A arquitetura base, tanto de hardware quanto de firmware, do projeto passa a ser algo padronizado. O desenvolvimento de hardware, firmware e software é drasticamente reduzido, se compararmos com um desenvolvimento iniciado “from scratch”, e o empresário pode passar mais tempo trabalhando outros aspectos da ideia e do negócio.

 

Placas makers como Arduino (criada para permitir que pessoas não familiarizadas com eletrônica possam experimentar um pouco esse mundo de maneira mais amigável), mini-pcs como a Raspberry Pi (desenvolvida visando o aprendizado de software para crianças) e kits comerciais para desenvolvimento como a Beaglebone Black (plataforma de desenvolvimento de baixo custo para uso da família AM335X de microprocessadores da TI) já fazem parte de diversos produtos que estão no mercado. Isso nos faz pensar sobre a demanda dessas placas e o que se ganha e o que se perde com o seu uso.

 

Segue um comparativo entre as categorias de soluções comercias.

 

Tabela 1 - Comparativo entre as soluções comerciais existentes

 Desenvolvimento do ZeroSingle Board Computers (SBC)Computer on Modules (COM)
ExemplosArduino, Raspberry Pi, Beaglebone BlackPC104 Standart Computer ModulesToradex, Congatec, Compulab
CUSTO DE DESENVOLVIMENTO* Custos de projeto, protótipo e aquisição de hardware de demonstração
* Reference Design
* Nulo pois o desenvolvimento é realizado no produto final* Custo de desenvolvimento do projeto da placa base.
* Reference design
RISCO DE DESENVOLVIMENTO* Alto devido a impossibilidadede escalar para cima/baixo
* Erros de projeto podem requerer novos designs e novos protótipos
* Protótipos são caros
* Médio/Baixo pois o desenvolvimento é realizado em um produto já em mercado
* Pode existir necessidade de escalar para cima/baixo e não existir um hardware compatível
* Baixo pois o produto já está no mercado
* Escalabilidade possível
* Projeto de carrier-board pode ser baseado em referencia do fabricante.
TIME TO MARKET* Alto devido ao tempo de projeto, protótipo, bring-up de sistema operacional* Médio/Baixo pois o desenvolvimento é realizado em um produto já em mercado
* Pode existir necessidade de escalar para cima/baixo e não existir um hardware compatível
* Baixo pois o produto já está no mercado
* Escalabilidade possível
* Projeto de carrier-board pode ser baseado em referencia do fabricante.
OS/FIRMWARE/
SOFTWARE
* Flexível
* Real Time
* Firmware
* BSPs
* Custo alto de bring up
* BSPs de referência
* Desenvolvimento de Aplicação
* Fornecido pelo fabricante
* Apresenta dificuldades para implementação de RT
* BSPs podem ter dificuldade devido ao projeto proprietário
* Devices na placa base não são proprietários
* Desenvolvimento de Aplicação
* Fornecido pelo fabricante
* Apresenta dificuldades para implementação de RT
* BSPs podem ter dificuldade devido ao projeto proprietário
* Devices na placa base não são proprietários
* Desenvolvimento de Aplicação
ESCALABILIDADE* Baixa pois cada SoC possui um um pinout específico
* Mudar de SoC requer retrabalho no projeto e novos protótipos etc..
* Dificuldade de encontrar SBC com mesmo fator de forma e conectores* Compatibilidade de pinagem permite aumento/diminuição de potência para mesma carrier board.
* Produtos de diferentes features podem ter o COM diferente otimizando lucros/custos.
SUPORTE* Comunidade
* Fabricante do SoC
* Especialistas/Consultores
* Comunidade
* Fabricante do SBC
* Comunidade
* Fabricante do COM
MANUTENÇÃO E ATUALIZAÇÕES* Responsabilidade assumida
* Alterações por descontinuidade de componentes levam a novos protótipos
* Responsabilidade do fabricante
* Compromisso com Fator de forma e conetores
* Responsabilidade do fabricante durante o ciclo de vida do produto
* Pinagem compatível permite flexibilidade
SUPPLY CHAIN* Responsabilidade assumida
* Dificuldade de compra de componentes no Brasil
* Dificuldade de encontrar montagem eletrônica
* Tempo de produção
* Dificuldade de PCB maior que 4 camadas
* Foco da empresa
* Necessidade apenas de adquirir o SBC* Problemas reduzidos pela metade em relação ao desenvolvimento do zero.
* Fabricação da placa base mais fácil por ser menos complexa.
CUSTO POR UNIDADE* Alto para baixo volume
* Baixo para alto volume
* Depende de volume
* Depende da complexidade
* Baixo para baixo volume
* Alto para alto volume
* Paga por conectores não utilizados
* Baixo para baixo volume
* Alto para alto volume
* Otimização de custo na carrier board
GARANTIA* Assume a garantia e qualidade de fabricação* Garantia do fabricante* Garantia do fabricante
RASTREABILIDADE* Assume a rastreabilidade de produtos fabricados, lotes de
componentes e demais
* Rastreabilidade do fabricante* Rastreabilidade do fabricante
CICLO DE VIDA* Assume a responsabilidade pelo ciclo de vida do produto
* Descontinuação de componentes pode levar a versões de produtos não compatíveis
* Compromisso do fabricante
* Novos produtos podem não ter o mesmo fator de forma
* Garantia do fabricante.
* CoM pino compatível permite a troca por novo CoM

 

 

Vantagens

 

As principais vantagens da utilização de kits comerciais para desenvolvimento são: 

  1. Redução no tempo de desenvolvimento do projeto;
  2. Melhor qualidade da aplicação final;
  3. Eliminação da complexidade da comunicação entre sistemas compatíveis;
  4. Aumento da compatibilidade com outros dispositivos que seguem protocolos padrões;
  5. Possibilidade de portabilidade com aplicativos que seguem organização/arquitetura similar.

 

No caso do uso de uma placa que possui um processador e memória RAM embarcados, é poupado o tempo de roteamento (layout). Principalmente para o caso em que a frequência de interface com a memória é elevada, o roteamento dos pinos do processador e memória é muito crítico, o que demanda diversas horas de trabalho de profissionais muito qualificados em hardware, além da fabricação e montagem de alguns protótipos, o que adiciona tempo ao design. Além disso, os esforços de bring-up de uma placa customizada para um produto não são triviais.

 

Em geral kits comerciais para desenvolvimento contêm bibliotecas completas e testadas para uma implementação bem-sucedida, permitindo que programadores desenvolvam e validem/verifiquem aplicativos rapidamente. Muitas vezes kits de desenvolvimento requerem pouco treinamento. Os desenvolvedores podem escrever uma aplicação e testá-la em ambiente PC inicialmente, fazendo uso de mocks, por exemplo. Em seguida é possível usar o kit de desenvolvimento como plataforma de teste, executando, inclusive, depuração remota, fazendo uso do hardware da placa comercial. Caso seja desenvolvida em paralelo uma placa pela empresa, tem-se muito mais garantia com relação à qualidade e robustez da aplicação quando o projeto do hardware final é concluído. Portanto, uma vez que o aplicativo é criado, faz-se testes iniciais numa plataforma emulada, e, em seguida, é executada uma bateria de testes na plataforma real.

 

O ideal é que o fornecedor do kit de desenvolvimento disponibilize o código-fonte/distribuição para uma implantação real, sendo que esse pacote já esteja pronto para uso e tenha sido verificado e homologado pelo time de engenheiros dessa empresa. Dessa forma reduz-se ao mínimo o tempo desenvolvimento, além de mitigar as falhas que possam ocorrer em campo. Placas como Raspberry Pi e BeagleBone geralmente possuem suporte de software oferecido pela comunidade em fórums e outros canais. Quando se utiliza módulos proprietários, geralmente se tem o suporte do fabricante, além de diversos exemplos de softwares homologados. Porém deve-se ficar atento ao tipo de licença fornecido pelo fabricante.

 

Uma segunda vantagem dos kits comerciais para desenvolvimento é apresentar ao desenvolvedor de hardware uma implementação real da solução. Apesar da grande maioria dos dispositivos possuírem application notes, a tradução desses para a implementação real de um produto pode ser bastante agilizada pela observação e disponibilização do esquemático e layout dos kits. Além de acelerar o processo de desenvolvimento do hardware, a possibilidade da equipe de software trabalhar num hardware similar ao que está sendo desenvolvido pela equipe de hardware, permite que ambas as equipes comecem o desenvolvimento de suas partes quase que simultaneamente e, como consequência, minimizam os problemas para portar o código desenvolvido, considerando até então o kit de desenvolvimento, para o produto real.

 

 

Desvantagens

 

Nem tudo é mil maravilhas. Fazer uso de plataformas comerciais e que sofrem modificações de acordo com a demanda do público, é algo a se considerar quando no início do projeto. Mini-pcs, como a Raspberry Pi, quando sofrem atualizações, geralmente as versões anteriores não são mais fabricadas. Isso cria uma dependência muito forte para o gerenciamento do projeto.

 

Onde comprar a placa? Deve-se comprar de um distribuidor oficial ou de revendedores? Se precisar de uma demanda alta de unidades, será possível atendê-la? Placas como a Odroid podem ser compradas somente da sua fabricante. Já a BeagleBone Black é distribuída por diversas empresas. Porém quando se trata diretamente com o fabricante tem-se a garantia de entrega para volumes altos além do tempo de vida da placa. Dessa forma tem-se segurança para vida do projeto e capacidade de fornecimento. Placa desenvolvidas para o movimento maker, geralmente não possuem esse compromisso e o fornecimento depende do revendedor.

 

Além disso pode ocorrer o problema de falhas em alguns lotes de placas, que podem atrapalhar o funcionamento do projeto em seu tempo de vida. Geralmente os módulo proprietários possuem rastreabilidade de suas placas e até podem disponibilizar programas de recall caso encontrem algum problema de projeto. Também há o problema de garantia da placa, algo que geralmente placas makers não possuem, diferentemente dos módulos proprietários.

 

O custo de projeto também é influenciado com o uso de plataformas já prontas. Quando se inicia o projeto de hardware “from scratch” é necessário investir em tempo de desenvolvimento e  protótipos para teste. Utilizando COMs e SBCs esse custo é reduzido. No caso das SBCs é praticamente zero, mas em contra partida, com os COMs, é necessário desenvolver a placa base. Deve-se considerar que, com o uso de reference design, o tempo de projeto é reduzido.

 

Já o custo da unidade para um projeto utilizando placas de mercado é relativamente baixo para um volume baixo, porém pode ficar inviável para um volume alto, quando comparado a um projeto feito do zero e customizado para a aplicação. Geralmente nas SBCs não são utilizados todos os recursos, como conectores e isso entra no custo de aquisição.

 

 

Conclusões

 

Qual é a melhor solução? Aquela que resolve seu problema! Independente da placa usada, seja um kits comerciais para desenvolvimento, seja um SOM proprietário. Ambos possuem vantagens e desvantagens. Com quais deseja conviver?

 

Caso tenha adotado alguma dessas soluções, qual a sua impressão, leitor? Pode ser em seus projetos pessoais ou em projetos na empresa onde trabalha ou trabalhou. O seu feedback vai ser importante para a comunidade como um todo.

 

 

Considerações

 

Gostaríamos de agradecer a todos os articulistas que participaram da escrita deste artigo: Diego Sueiro, Fábio Souza, Guilherme Fernandes, Henrique Rossi, Rodrigo AlmeidaRodrigo PereiraThiago Lima.

 

 

 

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.