
驴C贸mo se organiza la fabricaci贸n por contrato de productos electr贸nicos en los Estados Unidos?
驴Es posible capitalizar el crowdfunding?
Software que mata hardware. 驴Mito o realidad?
驴Los proyectos de c贸digo abierto tienen vida?
Todo esto en la parte final de la historia de detectives sobre el desarrollo de Pastilda, un administrador de hardware de contrase帽a de c贸digo abierto.
驴Qu茅 m谩s es Pastilda?Pastilda es un administrador de contrase帽as de hardware de c贸digo abierto. El dispositivo le permite almacenar e ingresar contrase帽as sin usar software (incluso en la l铆nea de comando y BIOS'e). La base de datos se crea con
KeePass y se descarga al dispositivo en formato .kbdx. El dispositivo se conecta al teclado de la computadora y se enciende cuando ingresa la combinaci贸n "Ctrl + Shift + ~". Es por eso que el proyecto se llam贸 "Pastilda" (de contrase帽a + tilda "~").
Para obtener m谩s informaci贸n sobre la idea y la implementaci贸n t茅cnica, consulte
Pastilda, un administrador de contrase帽as de hardware abierto .
Despu茅s del desarrollo y la producci贸n de un lote experimental, intentamos encontrar clientes y compradores en Rusia, pero no hubo m谩s discusi贸n. Luego decidimos recaudar fondos a trav茅s del crowdfunding y nos instalamos en la plataforma
Crowd Supply , que se especializa en proyectos de hardware de c贸digo abierto. Fijamos una meta y, como resultado, la excedimos casi tres veces. 驴C贸mo surgi贸? Leer
Pastilda: Nicho CrowdfundingQuedaba por producir y entregar el dispositivo a los inversores.
Comience la producci贸n
En el momento del lanzamiento del primer lote, ten铆amos solicitudes para 182 Pastilds de 149 inversores. Los pedidos eran de todo el mundo:

Estad铆sticas actuales del pa铆s:- Estados Unidos: 143 piezas
- Alemania: 64 piezas
- Australia: 14 piezas
- Francia: 14 piezas
- Rusia: 14 piezas
- Canad谩: 13 piezas
- Suiza: 13 piezas
- Gran Breta帽a: 13 piezas
- Holanda: 9 piezas
- Espa帽a: 8 piezas
- Austria: 5 piezas
- Dinamarca: 5 piezas
- Singapur: 4 piezas
- China: 3 piezas
- Israel: 3 piezas
- B茅lgica: 2 piezas
- Finlandia: 2 piezas
- Irlanda: 2 piezas
- Italia: 2 piezas
- Jap贸n: 2 piezas
- Colombia: 1 pc.
- Rep煤blica Checa: 1 pc.
- Corea: 1 pc
- Macedonia: 1 pc.
- Malasia: 1 pc.
- Nueva Zelanda: 1 pc.
- Noruega: 1 pc.
- Rumania: 1 pc.
- Eslovenia: 1 pc.
- Sud谩frica: 1 pc.
- Vietnam: 1 pc.
Curiosamente, a pesar de nuestros art铆culos en ruso, solo hay 14 pedidos de Rusia. Pedimos 324 Pastilds para la producci贸n, por tal cantidad hab铆a suficientes fondos recaudados.
Debido a las caracter铆sticas espec铆ficas del dispositivo, aprovechamos los consejos de Crowd Supply y colocamos la producci贸n en los EE. UU. En la f谩brica de
Macrofab . Un poco sobre c贸mo se organiza todo all铆. Vamos al sitio y creamos un pedido. Cargamos
ODB ++ , dentro hay todo sobre nuestro dispositivo: capas de placa, una lista de componentes (lista de materiales o lista de materiales), su disposici贸n, etc. A continuaci贸n, debe comparar su lista de materiales con los componentes disponibles en el almac茅n y tambi茅n confirmar la ubicaci贸n correcta de los componentes en la parte superior e inferior del tablero.

Despu茅s de eso, obtenemos el costo y el tiempo de producci贸n para cualquier fiesta. El precio de costo se describe en detalle: cu谩nto cuesta la mano de obra, cu谩ntos componentes, cu谩ntas placas de circuito impreso, etc.

Tambi茅n se est谩 construyendo un gr谩fico que explica la ca铆da en el costo cuando el lote crece:

La f谩brica se toma no solo para ensamblar, sino tambi茅n para probar dispositivos. Para hacer esto, necesita pintar la metodolog铆a de prueba y firmware en una secci贸n especial. El costo del firmware es de aproximadamente $ 1 por minuto.
La producci贸n de un lote de 324 piezas tom贸 alrededor de 8 semanas. El 10% de las placas no pasaron las pruebas con un diagn贸stico poco claro de un "gestor de arranque que funciona incorrectamente". La comunicaci贸n fue extremadamente lenta, las p茅rdidas fueron insignificantes, por lo que simplemente ignoramos este problema y descartamos estos 10% para desecharlos. Recuerda este momento. Se enviaron honorarios de trabajo a los inversores, no se recibieron quejas.
Las ventas continuaron, nuestra Pastilda incluso apareci贸 en
Mouser con un margen feroz de $ 125. Cuando se vendieron las placas, decidimos lanzar otro peque帽o lote de 55 dispositivos. Esta vez, la producci贸n tom贸 alrededor de 7 semanas y el personal de Crowd Supply realiz贸 las pruebas.
Aqu铆 hay un cuadro que explica la cronolog铆a de los pedidos, el env铆o y la producci贸n de Pastild:

La producci贸n se muestra mediante guiones condicionales.
Algo sali贸 mal
Despu茅s de un tiempo, supimos que algunos de los nuevos miembros ten铆an problemas. 10 Pastilds pasaron la prueba, y los 45 restantes no lo hicieron. Los dispositivos parpadean seg煤n sea necesario, el LED parpadea, pero el teclado conectado no funciona. Problema en la fabrica 驴Manos torcidas de un probador? Durante varios meses intentamos resolver el problema de forma remota. Al no haber tenido 茅xito, solicitamos que nos env铆en algunas piezas para la investigaci贸n. Obtuvimos las muestras y descubrimos: un error se desliz贸 en el circuito. Aqu铆:

A la salida del convertidor lineal D4: 5
TPS76333 , el voltaje es de aproximadamente 4V en lugar de 3.3V. La capacidad de salida de C13 es demasiado peque帽a. El fabricante solicita al menos 4,7 microfaradios, y para nosotros: 1 microfaradios. En teor铆a, esto puede conducir a la excitaci贸n de la fuente y a un aumento en el voltaje de salida. Despu茅s de reemplazar el condensador con 10 microfaradios, la energ铆a pareci贸 volver a la normalidad, pero las placas no funcionaron correctamente.
Es hora de "tirar por ciento"
Esto significa quitar el microcontrolador de la placa y colocar en su lugar uno nuevo o un donante. En este caso, tiramos MK del tablero desde el primer lote. Ganado
Conclusi贸n: debido a la capacidad incorrecta, el poder del MK aumenta, lo que lo da帽a. 驴Deber铆a el STM32 sostener tal voltaje? La documentaci贸n dice que el voltaje m谩ximo sin da帽ar el chip es de 4V, es decir, caminamos por el borde. Pero, 驴por qu茅 este problema no apareci贸 antes? Informamos a nuestros colegas en los EE. UU. Sobre los hallazgos y les pedimos que compararan las marcas de los controladores de diferentes lotes. Las marcas son diferentes:

驴Qu茅 se puede aprender del marcado? De acuerdo con el
art铆culo y la informaci贸n de la descripci贸n en el microcontrolador, podemos decir lo siguiente:
El primer lote es China, fabricado en la semana 19 de 2007 o 2017. En lugar de 2017, solo comenzaron a producir la serie F4 en 2011. Revisi贸n del controlador - 2.
El segundo lote es Filipinas, realizado en la semana 25 de 2017. Revisi贸n del controlador - Y.
Los microcontroladores de revisi贸n Y de Filipinas parecen ser menos resistentes al aumento de la nutrici贸n que los controladores de revisi贸n 2 de China. Decidimos enviar todos los dispositivos a Macrofab, pedirles que realicen su investigaci贸n y cambiar los microcontroladores y condensadores de todas las placas.
Macrofab lidera la investigaci贸n
All铆, un ingeniero se ocup贸 del asunto, que us贸 un osciloscopio y un volt铆metro, y encontr贸 nuestros problemas. Esto es lo que nos dijo:
- El 75% de los tableros funcionan, esto elimina problemas con los tableros o errores en los archivos Gerber
- El posicionamiento (rotaci贸n) de los componentes est谩 en orden.
- No hay quejas sobre la calidad de la soldadura.
- Medimos el voltaje de suministro de 3.3V y 5V con un mult铆metro, el voltaje es normal.
- Verificamos la frecuencia de reloj de 25 MHz.
- La mayor铆a de las placas se congelan durante la operaci贸n. Una posible causa es un microcontrolador defectuoso o fluctuaciones de energ铆a.
- La medici贸n de potencia de 3.3V realizada por el osciloscopio mostr贸 un voltaje de 4.1V durante el arranque en todas las placas. Parece que el regulador no puede mantener la tensi贸n de alimentaci贸n.
- Quiz谩s algunos controladores son resistentes al aumento de la nutrici贸n, y otros no.
- En la salida del regulador, de acuerdo con la hoja de datos, debe haber un m铆nimo de 4.7 渭F. A juzgar por el esquema, la capacitancia en la salida de D4 TPS76333 no es suficiente, C13 se designa como 1 渭F. Reemplazamos el condensador con 10 渭F y vemos c贸mo esto afecta la estabilidad
- Reemplazar el condensador hizo que la placa que no funciona funcionara por un tiempo, luego se bloquea nuevamente.
- El voltaje de suministro parece m谩s ruidoso de lo esperado. Recomendamos resolver este problema antes de la pr贸xima producci贸n.
El problema fue confirmado, lo m谩s probable es que estemos lidiando con errores de dise帽o. No hubo preguntas sobre la producci贸n; no pudieron ayudar. Las tarifas regresaron al suministro de Multitud, y desde all铆 nos las enviaron.
La investigaci贸n se realiza por el tercer pin.
Finalmente, tenemos 41 tableros en nuestras manos. Bueno, lo arreglaremos ahora! Lo primero en todas las placas fue soldar la capacitancia C13 a 10 uF. Comenzamos a probar todas las tablas a su vez. Tenemos una variedad de comportamientos en el tablero:
- comienza, pero se cuelga despu茅s de un tiempo, el teclado no detecta
- no comienza en absoluto, no hay signos de vida
- cuando se enciende, comienza a parpadear r谩pidamente
- se enciende, parpadea, se cuelga, el microcontrolador se calienta
No hay tableros de trabajo. Medimos la fuente de alimentaci贸n de 3.3V del MK, y all铆, 隆4 voltios! De repente nos damos cuenta de que reemplazar el condensador en la fuente no resuelve el problema del aumento de voltaje. Observamos el osciloscopio, estudiamos el consumo actual, cambiamos la fuente a LM1117-3.3,

retire los filtros de potencia y tierra, pero nada cambia: la potencia a煤n salta a 4V.

Despu茅s de encender por un tiempo, el voltaje es normal, sin interferencias, sin acumulaci贸n de voltaje, y luego cambia abruptamente a 4V y dura as铆 para siempre.
Se detect贸 un comportamiento de potencia anormal durante el encendido: la potencia se modula mediante pulsos de ~ 100 ms. Hab铆a una hip贸tesis: la fuente de energ铆a no tiene nada que ver con eso, el microcontrolador en s铆 mismo estropea el bus de energ铆a. Tal vez 5V desde el puerto USB "fluyen" hacia el microcontrolador a trav茅s de la pata VBUS. En el firmware de Pastilda, este tramo no se inicializa de ninguna manera. Intentamos forzar la inicializaci贸n del pie en la entrada:

Estamos en el buen camino! El poder es normal, aunque no de inmediato: despu茅s de todo, el gestor de arranque primero funciona para nosotros. Vamos alli
El cargador
OpenBLT utilizado por defecto inicializa USART1, que cruza el tramo VBUS. Y esto es Tx, es decir, el pie es la salida. Una salida a la que la alimentaci贸n externa proviene directamente de un puerto USB. Examinamos el cargador de arranque, eliminamos la inicializaci贸n de USART1: el poder se volvi贸 normal. Esta es una victoria!
Para los microcontroladores STM32 con fuente de alimentaci贸n de 3.3V, algunas patas son resistentes a las se帽ales TTL de 5V, en la descripci贸n se denominan FT (Tolerancia de cinco voltios). Actualicemos la memoria de estas patas FT:
- Esta propiedad se aplica al pie solo si est谩 configurada como entrada.
- El voltaje m谩ximo en la pierna es 5.5V.
- El voltaje en la pata no puede exceder la fuente de alimentaci贸n m谩s baja del MK en m谩s de 3.6V.
Aqu铆 est谩 el diagrama estructural de las "patas":

驴Por qu茅 el pie sintonizado a la salida no puede ser FT?Se puede ver que el b煤fer de salida contiene dos
transistores de efecto de campo , el brazo superior es el canal P y el inferior es el canal N. Aunque los transistores en el diagrama de bloques anterior se muestran sin contra diodos, puede estar seguro de que est谩n all铆. De hecho, los transistores se ven as铆:

Si el voltaje en el transistor del canal D excede el voltaje en la Fuente (Fuente), una corriente fluir谩 a trav茅s de este diodo hasta que los voltajes se igualen.
Nuestro caso de
alimentar MK a trav茅s de LDO desde USB se considera por separado en
AN4899 . La alimentaci贸n de 5V deber铆a llegar al pie VBus solo cuando el microcontrolador ya est茅 alimentado. Lo hacemos as铆:

驴Qu茅 caus贸 en 煤ltima instancia los problemas de producci贸n?- El programa del microcontrolador ajust贸 las piernas contra s铆 mismo.
- Debido a esto, se aument贸 la potencia y se da帽贸 el controlador.
- Los errores de hardware no se manifestaron.
Ahora sabemos cu谩ntos errores se pueden cometer en una placa con tres conectores y un microcontrolador (tantos como desee).
Tenemos tres de ellos: dos de hardware y uno de software. Nos tom贸 un a帽o descubrir las verdaderas causas del problema de "producci贸n".
Econom铆a
Veamos cu谩nto hemos ganado en este proyecto.
Ingresos a trav茅s de Crowd Supply - $ 14,610. As铆 se distribuyeron los gastos:

La mayor parte de la producci贸n esperada de placas de circuito impreso. Todo lo dem谩s: la comisi贸n del sitio, tarifas por transferencias de dinero, entrega y montaje de bienes por un monto del 24%. La plataforma asumi贸 el 10% de la comisi贸n en todos los pagos. Cargamos todos los gastos a los chicos del sitio, por lo que el dinero nunca lleg贸 a nuestra cuenta.
En el 煤ltimo art铆culo, revelamos la complejidad del desarrollo: aproximadamente 1840 horas. Imagine que este proyecto se realiz贸 a precios comerciales. Entonces los costos de desarrollo se pueden estimar en alrededor de $ 100,000.
Para recuperar el desarrollo, necesitamos vender alrededor de 3,000 Pastilds.
Conclusi贸n
Proyectos como Pastilda nacen en los corazones de los desarrolladores y se implementan en contra del sentido com煤n.
Este enfoque funciona con proyectos de hobby, donde el objetivo principal es probar cosas nuevas. Pero cuando nos acercamos a proyectos comerciales, lo primero que hacemos es realizar un an谩lisis de eficiencia econ贸mica. Si la econom铆a no converge, desalentamos el lanzamiento del proyecto, comenzando desde la etapa de desarrollo de los T茅rminos de Referencia. Incluso tuvimos la idea de un nuevo art铆culo. Algo as铆 como "10 razones por las que NO necesita desarrollar su dispositivo". Tema candente?
Que sigue
La principal conclusi贸n que hicimos durante el trabajo en este proyecto: en la versi贸n actual, Pastilda es adecuada solo para uso personal. Si queremos que el dispositivo resuelva problemas a nivel empresarial: una pieza de hardware no es suficiente, necesitamos construir un sistema.
Existen las siguientes ideas:
- Combine el almacenamiento de contrase帽a f铆sica y de servidor (o nube). Condicionalmente, divida la contrase帽a en dos partes. La primera parte se almacenar铆a en una clave f铆sica (como se implementa ahora), la segunda en el momento de ingresar la contrase帽a se solicit贸 al servidor y se transmiti贸 a la clave, por ejemplo, a trav茅s de Wi-Fi.
- Similar a la primera opci贸n, pero no la contrase帽a se almacena en la clave, sino la clave de cifrado privada que descifrar谩 la contrase帽a que proviene del servidor a trav茅s de Wi-Fi (la contrase帽a se cifra previamente con una clave diferente).
Agradecemos los comentarios de colegas de la industria de seguridad de la informaci贸n.
Anuncio para usuarios
Es necesario actualizar el gestor de arranque Pastilda para evitar da帽os en el MK. El gestor de arranque actualizado est谩 en el
repositorio . Tambi茅n hay una instrucci贸n sobre c贸mo flashearlo en Pastilda. Es posible soldar un condensador para un funcionamiento estable, pero no es necesario.
Una vez m谩s, nos disculpamos por el retraso de los compradores que todav铆a est谩n esperando sus Pastilds. Los 40 Pastilds restantes volar谩n a ti en las pr贸ximas semanas.
Inicialice los pines sabiamente, cuide los resultados desde una edad temprana. Y, por supuesto, use contrase帽as complejas.