Placa de PCB, que no será, o cómo superar todo y perder al final

Hola Habr! Vivimos en un momento interesante: dipheyks, guerras comerciales, juegos políticos, Greta Tunberg, y si esto no te pareció suficiente, entonces firma una novedad: la infección por coronavirus COVID-19.

La propagación del coronavirus también influyó en nuestra conferencia OFFZONE 2020 sobre ciberseguridad práctica . Tuvo que posponerse hasta tiempos mejores.

Desafortunadamente, esto significa que la insignia de textolita que hemos estado desarrollando desde diciembre no tendrá lugar en su forma actual. Este artículo es una especie de epitafio de su concepto. Debajo del corte, contamos cómo luchamos por la ergonomía, componentes minados con bordes cerrados, magia DIY descubierta contra la escasez y qué circunstancias fueron más fuertes que nosotros.




Concepto: insignia de secreto principal


  , OFFZONE 2020. ,  :


  • PCB     ,
  • OFFCOIN-,
  •  DIY- ,
  •   Shitty Add-on’.

¡Pero estos no son todos los secretos! Pensamos en la insignia principal cuando supimos que la ronda final de la competencia práctica de seguridad cibernética CTFZone se llevará a cabo como parte de la conferencia OFFZONE 2020. Muchos iban a seguir este torneo: una victoria en CTFZone determina quién irá a DEFCON CTF y luchará contra los equipos más fuertes del mundo.

"¡Y transmitamos el estado actual de las cosas en CTF a cada visitante de la conferencia!" - sugirió el equipo de desarrolladores de insignias. "Nadie ha hecho eso todavía".

En la competencia CTF participan 10 equipos. Constantemente alguien está atacando a alguien, alguien se está defendiendo, alguien está esperando un momento conveniente. Si todos los equipos seleccionan un LED RGB en el tablero, cada interacción puede expresarse en color equivalente. Esto dará como resultado un sistema de 10 LED RGB, cuyo estado determina de manera única la alineación actual de fuerzas en CTF.

La idea llegó a todos y nos pusimos a trabajar.




Prototipo: del diseño al modelo de trabajo


Después de una corta etapa de ingeniería de spaghetti (creación de prototipos en debugs) durante diez días, la insignia se convirtió en el primer prototipo en una textolita.

Fue durante la creación de prototipos que surgió la idea de complementar la insignia con la posibilidad de personalización utilizando el conector adicional de Shitty y los complementos caseros. ¡Todos los participantes de la conferencia irían con distintivos únicos, belleza!

Para aquellos interesados, describiremos la base de componentes de nuestra PCB.


  • El corazón de la insignia es un MK STM32F070R6P6 bastante delgado pero probado (ARM Cortex-M0 48 MHz, 32 KB Flash, 6 KB SRAM, paquete TSSOP20).
  • El responsable de la música ligera es una docena de LED RGB WS2812B.
  • El módulo transceptor NRF24L01 acepta mensajes de radio.
  • Algunos circuitos de alimentación y una banda de resistencias-condensadores.
  • Bueno, por tradición, todo funciona con 4 baterías AAA.

Las capacidades de MK STM32 fueron suficientes para implementar la funcionalidad de una billetera OFFCOIN, controlar LED y procesar mensajes de radio.



El prototipo resultó ser más que trabajar e inspiró alegría en nuestras almas con un guiño alegre de LED. Al lado de cada LED en el PCB está el logotipo del equipo miembro del CTF: el LED se ilumina en rojo: este comando ataca, verde: defiende, azul: se esconde y se prepara para algo. Todo esto estaba listo a principios de febrero ...

... cuando descubrimos que debido a las medidas de no proliferación de COVID-19, 2 equipos extranjeros no podrían venir a nosotros.

Bueno, desagradable, pero no da miedo. Decidimos no cambiar el diseño final de la insignia, sino dar a los equipos ausentes una VPN y la posibilidad de participación remota en CTF.


Software y diseño industrial: los pines pogo son geniales


A pesar de las inquietantes noticias, en general, el trabajo en la insignia fue de acuerdo al plan. Es hora de comenzar a escribir software y crear infraestructura.

No hablaremos particularmente sobre software. No por el misterio, sino porque no hay nada interesante allí. En una placa, un controlador HAL sin RTOS, WS2812B es controlado por un temporizador y generación PWM, se implementa una billetera OFFCOIN a través de PKI, algún tipo de controlador NRF24. Nada interesante. Créame.

Pero con la infraestructura estamos confundidos.

Tarea 1: haga una billetera conveniente con una insignia. La primera gran tarea que debía resolverse era proporcionar una recarga rápida y conveniente del saldo de su billetera OFFCOIN.

En OFFZONE 2019, la transferencia de la identificación de la billetera OFFCOIN fue sin contacto: utilizamos el receptor IR en el lector y el transmisor IR en la placa. Este sistema funcionó, pero lentamente, y solo con una batería o placa USB y solo si el usuario seleccionó correctamente el ángulo de inclinación de la espalda y la cantidad de flexión del cuello con respecto al receptor IR. Velocidad y conveniencia: no se trataba de la insignia del año pasado.

¡Este año, más serio! El sistema de pago se ha convertido en contacto y puede proporcionar energía a la insignia. La interfaz de la billetera ahora es UART, y la conexión física en sí está inteligentemente diseñada: el contacto entre el lector y la placa de identificación es pines.

Los pines Pogo son contactos convenientes con resorte que generalmente se usan para establecer una conexión eléctrica temporal. En una placa lectora especialmente diseñada, se instalan 4 de tales contactos, y en la placa misma se hacen 4 almohadillas de contacto: TX, RX, 3V3 y GND. Así que ahora, para conectarse al lector, es suficiente colocar la tarjeta de identificación en los pines y mantenerla en esta posición durante un rato.


También recargamos un par de artículos inteligentes sobre diseño industrial e inventamos nuestra propia carcasa para el lector. El primer minuto de diseño se lanzó en un trozo de papel a la hora del almuerzo. A continuación, media docena de iteraciones en una impresora 3D y adhesivo termofusible, en las mejores tradiciones de creación de prototipos.

Aquí tuve que atormentar de manera justa con la selección del tamaño de los huecos y el grosor de la pared de la caja. ¿Por qué? Porque el diseño del papel tuvo que ser transferido inmediatamente a CAD y al dibujo humano, y no esculpido sobre la marcha a Tinkercad. Empujó un agujero, olvidó otro ... Pero ahora tenemos una montaña de prototipos y el diseño final de la carcasa.

El caso resultó bastante cómodo. Ahora no tiene que molestarse con el lector: inserta la insignia en el estuche, centra el tablero según sea necesario y lo sostiene de forma confiable en sí mismo. Dos limitadores de agarre y una tabla que sigue el contorno de la parte inferior de la tabla son responsables de esto. Y gracias a la interfaz UART, que es mucho más confiable y más rápida que IR, el proceso de intercambio de datos de billetera ahora toma una fracción de segundo.


Objetivo 2: Garantizar la máxima cobertura para NRF24. Teníamos un plano de planta y había datos sobre qué tan eficientemente el interior transmite y recibe NRF24. Estábamos obligados a calcular dónde y cómo empujar los transmisores para que no hubiera zonas muertas en los terrenos de la conferencia y las insignias siempre transmiten la información más reciente sobre CTF.

Resultó ser fácil. Como transmisor, elegimos un Raspberry PI de placa única y el mismo NRF24. Para no producir dos docenas de frambuesas con alambres de placa y NRF, hicimos nuestro propio escudo. Está diseñado para conectar todo tipo de módulos NRF24 y tiene un par de LED para indicar el estado de las frambuesas. Solo permaneció en el lugar para verificar el área de cobertura de los transmisores y, si es necesario, corregir los cálculos.




Adquisición de componentes: qué hacer cuando todo sale mal


Hasta este punto, la preparación de la insignia fue generalmente suave. Todo cambió cuando comenzamos a comprar componentes y a ordenar la producción de placas de circuito.

Problema 1: coronavirus en China. Por la experiencia del año anterior, recordamos la importancia de acordar de antemano con proveedores y fábricas. Acordamos.

Y entonces sucedió algo que todos saben. Debido a las restricciones a la exportación y el tiempo de inactividad de producción en China, la mitad de los proveedores de componentes electrónicos se disculpó y simplemente hizo un gesto de impotencia sin dar ningún plazo. La segunda mitad dibujó × 2— × 3 de un momento adecuado para nosotros.

La misma historia con la producción de placas de circuito: dos meses más o menos en producción y entrega. Dada la instalación de OFFZONE 2020, no tuvimos tiempo ...

Por consejo de otros ingenieros, intentamos contactar a una fábrica en Letonia a través de intermediarios. Pero allí dijeron el cariñoso "nē" ("no" en letón) tan pronto como descubrieron que necesitábamos producir más de 40 metros cuadrados de textolita.

Las nubes se estaban reuniendo. Pasaron días preciosos en busca de una planta que nos hiciera una serie de tableros, para comunicarnos con proveedores que cambiaban constantemente los plazos. La probabilidad de un fracaso creció.

En la vigésima ronda de llamadas a todos los contratistas posibles, a costa del enorme sufrimiento moral y moral del personal de BI.ZONE, a costa de los ingenieros barbudos, logramos acordar la producción de placas de circuito impreso y el suministro de casi todos los componentes para llegar a tiempo a OFFZONE 2020. ¡De espaldas, pero a tiempo!

Problema 2: El esquivo NRF24L01.Por desgracia, no tuvimos tanta suerte con la compra de los módulos de radio NRF24L01.

Inicialmente, establecimos la posibilidad de utilizar dos módulos NRF diferentes con una antena PCB en el proyecto PCB: el factor de forma estándar y su versión compacta NRF24L01 mini .

Sin embargo, la contraparte, que asumió las obligaciones de entrega, se fusionó en el último momento. Para no interrumpir la instalación, fue necesario en 5-6 días encontrar un nuevo proveedor, o encontrar otra cosa.

Los tiempos desesperados requieren medidas desesperadas. No nos atrevimos a esperar solo el éxito de las búsquedas y, al mismo tiempo, aprovechamos el primer mandamiento de la bricolaje: hay algo que falta: ¡hágalo usted mismo! Bueno, o copia del que es más inteligente. En el contexto de NRF24 más inteligente que los ingenieros del Nordic Semiconductor, casi no hay nadie. En la hoja de datos en NRF24L01 encontramos un ejemplo de circuitos y PCB recomendados.


El mismo ejemplo se encontró fácilmente en la forma del proyecto Altium PCB. Cambiamos rápidamente el tipo de conexión del encabezado 2 × 4 2.54 mm a los 8 medios agujeros metalizados de 1.27 mm que necesitábamos. Los componentes, polígonos, transiciones, conductores, etc. se dejaron estrictamente sin cambios.

Entonces, mientras algunos colegas cortaron los teléfonos a los proveedores de electrónica, otros en el modo gato escaldado ordenaron la producción de PCB y componentes para una docena de módulos caseros. Unos días después, todos tomaron sus manos y se reunieron. Sorprendentemente, ¡funcionó como debería! 3 de 3 tableros ensamblados mostraron excelentes resultados en las pruebas de recepción y transmisión.

Los resultados claramente no fueron peores que los de los productos comprados. El Dr. Dew no se habría alisado la nariz. Y esto incluso tiene en cuenta una cierta simplificación del proceso tecnológico: en nombre de acelerar la producción, rechazamos el recubrimiento recomendado de tableros con dorado de emisión.

Aunque todavía tenía que atormentarme con el montaje de los módulos. Por razones desconocidas para nosotros, los ingenieros nórdicos no utilizaron una abertura en la máscara de la placa, sino tres vías como contacto con la almohadilla de la tierra (el caso en el chip transceptor QFN20). Sí, y observe la huella de la responsabilidad: los componentes de soldadura 0402, cuyas almohadillas de contacto están ubicadas una detrás de otra sin un espacio de la máscara de soldadura, siguen siendo un placer.


Sin embargo, no sería para nosotros soldar un lote grande, sino máquinas sin alma en producción.

... Si no fuera por una circunstancia: en el último momento hubo un proveedor de Bielorrusia que nos ayudó con la cantidad necesaria de mini módulos NRF24L01.


Todo en vano


Un ingeniero puede manejar mucho. Incluso la falta de componentes clave, como resultó, no lo detendrá. Pero cuando el concepto del producto en sí mismo no tiene sentido, el ingeniero no tiene más remedio que comenzar desde cero.

Al observar el desarrollo de la propagación de COVID-19, tomamos una decisión difícil: OFFZONE 2020 necesita reprogramarse. Pero CTFZone, como la etapa de calificación de DEFCON CTF, no puede posponerse (y lo llevaremos a cabo en línea a fines de abril).

Desafortunadamente, esto entierra la idea de una insignia que traduce las acciones de los comandos CTF.

La textolita ya se ha hecho, y ahora tenemos 10,000 componentes electrónicos y glándulas en nuestras manos. En el camino otros 1,000,000. Por desgracia, nunca verán la luz del día.


Algo termina, algo comienza


Anímate no es nuestro estilo. El equipo de desarrollo de insignias cambió drásticamente del modo de grabación al modo de enfriamiento, ¡pero solo para comenzar a generar nuevas ideas de insignias locas para OFFZONE 2020 v2.0 con renovado vigor!

Lo que será, aún no lo hemos decidido. Una cosa es segura: continuaremos desarrollando la idea del conector de mierda e intentaremos que sea interactivo .

Si tiene alguna idea o deseo, compártalos; trataremos juntos de hacerlos realidad. ¡Estén atentos y no estornuden!

Autores del texto: @ qwe_0 , @ Capta1nYossarian

All Articles