Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16]

Электронику и корпуса для Flipper Zero производят на разных заводах в Китае. Сегодня мы перемещаемся на фабрику, где производят электронику, и посмотрим, как выглядит автоматическое электронное тестирование отдельных плат Флиппера.

На больших объемах производства электроники всегда есть брак. Какой-то процент плат может тупо не работать, на других может быть маленький едва заметный дефект, вроде ухудшенных характеристик приема-передачи. Важно, чтобы бракованные Флипперы не уехали пользователям. Для этого на производстве все компоненты проходят два этапа тестирования: электрическое тестирование каждой платы по отдельности и потом тестирование всего устройства в сборе.

В статье мы разберем первый этап — автоматическое электронное тестирование отдельных плат Flipper Zero.


Как производятся платы Flipper Zero



Расположение печатных плат внутри Flipper Zero

Флиппер состоит из 4 плат



  • NFC_RFID — на этой плате находятся компоненты RFID 125 kHz и NFC 13,56 MHz
  • Main PCB — основная плата, на которой находится микроконтроллер STM32, дисплей, модуль Sub-1 GHz и кнопки
  • iButton Infrared PCB — имеет пого-пины для контактов iButton, пъезо-динамик и модуль приемника и передатчика ИК
  • Антенная плата — комбинированная двухдиапазонная антенна для 125 kHz и 13,56 MHz, которая прижимается к NFC_RFID плате

Каждая плата производится отдельно и тестируется отдельно. Сначала производится голая печатная плата. Это слои текстолита и медной фольги, на которой вытравливаются сигнальные дорожки и контактные площадки. Слои текстолита склеиваются между собой, а контактные дорожки соединяются между слоями с помощью переходных отверстий. Самая сложная плата флиппера — это Main, на ней размещен микроконтроллер STM32, дисплей и кнопки — она состоит из 6 слоев!


Голые печатные платы Main PCB


Main PCB крупным планом


Голые печатные платы NFC_RFID без смонтированных компонентов


Голые печатные платы iButton

На этапе производства печатной платы, до монтажа компонентов, она проходит визуальный анализ и электрическое тестирование. Визуальный анализ проходит под микроскопом, осматриваются все контактные площадки, паяльная маска (краска, отделяющая точки пайки от остальной платы), шелкография и т.д.

На этом шаге выявляются дефекты изготовления, например, в нашем случае неправильное вскрытие паяльной маски на Main плате. Место под BGA компонент было полностью без маски, а это сильно увеличивает шанс получить перемычку, то есть слипшиеся между собой контакты.


Дефект печатной платы, неправильное вскрытие маски на BGA площадке. Между падами нет краски, что повышает риск получить слипшиеся контакты при пайке

Когда качество печатных плат удовлетворяет нашим требованиями, они переходят на следующий шаг — монтаж компонентов. Платы загружаются в SMT (Surface Mount Technology) — машину, где происходит автоматическое расставление компонентов. Этот процесс еще называют pick-and-place. Машина вакуумным манипулятором захватывает компонент и ставит его на плату.


Настройка SMT машины, на экране виден ИК-диод на плате iButton

Платы с установленными компонентами запекаются в печи с соответствующим термопрофилем. Паяльная паста расплавляется, и компоненты припаиваются к плате. На этом этапе также возможны сюрпризы и проблемы. Если электронные компоненты неправильно хранились и набрали влаги внутрь корпуса, они могут треснуть при повышенной температуре. Поэтому мы заказываем компоненты только у официальных поставщиков, которые дают гарантию. Только так можно получить прогнозируемое качество финального устройства.


Платы NFC_RFID после финального монтажа компонентов


Отдельная плата NFC_RFID, вырезанная из текстолита

После монтажа платы вырезаются из текстолита и упаковываются в пластиковые антистатические лотки. На этом этапе мы еще не знаем, работают эти платы или нет. В каждой партии наверняка есть какие-то бракованные экземпляры. Дальше партия уходит на электрическое тестирование.


Готовые NFC платы в ожидании первого этапа тестирования


Готовые NFC платы в ожидании первого этапа тестирования


Готовые iButton платы

Как выглядит электрическое тестирование



Схематическое изображение тестового стенда: иголки подключены к тестировочной плате, плата подключена к компьютеру, который загружает результаты тестов в базу данных

Под каждую плату Флиппера разрабатывается тестировочный стенд, на сленге его называют «тестовая джига» или «джиг».

Состав тестовой джиги:

  • Оснастка под конкретную плату с пружинными контактами (Bed of nails). Состоит из оправы по форме платы, механизма прижима платы (красная ручка сверху).
  • Управляющая плата, к которой подключаются все пружинные контакты. Эту плату, как и прошивку к ней, мы разработали с нуля на базе микроконтроллера STM32. Для простоты в плату вставляется готовый модуль black pill на STM32F4.
  • Компьютер, на котором запускается софт для тестирования. Набор тестов для каждой платы свой, как и софт.
  • База данных, куда отправляются все результаты тестирования.


Для каждой платы Флиппера разработана своя тестовая станция, содержащая: специально разработанную плату для тестирования, отдельную прошивку на плату тестирования и софт на компьютер. Это огромная работа, сравнимая с разработкой полноценных устройств.


Тестовые станции для всех 4 плат Flipper Zero: Основная плата, NFC+RFID плата, iButton+ИК плата, Антенная плата и тестовая станция для устройства в сборе.


Внутренности тестовой станции NFC_RFID


Плата тестовой станции NFC


Тестирование NFC плат на стенде

Специально для тестов на каждой плате Флиппера выведены контактные площадки (test pads), куда упираются пружинные контакты. Через них подается питание на устройство и происходит общение с электроникой на плате.

Процесс тестирования выглядит так:

1. Плата руками вставляется в тестовую “джигу” и прижимается сверху
2. Подпружиненные иголки упираются в тестовые пады на плате
3. Прогоняются автоматические тесты
4. На выходе тест говорит PASS или FAIL
5. Все, что не прошло тестирование, уходит на анализ


Оснастка для NFC платы с пружинными контактами. Плата зажимается в оснастке и запускаются тесты.


Видео: подпружиненные иголки подключаются к тестовым площадкам на плате

Результаты тестирования каждой платы сохраняются в базу данных, чтобы потом по серийному номеру платы можно было понять, как она прошла тесты, когда была произведена, и из какой партии на ней смонтированы компоненты. Это важно для поиска каких-либо системных проблем.


Рабочее место тестировщика

Действия оператора тестирования в итоге сводятся к нажатию одной кнопки и наблюдению за выводом на экране. Он увидит либо Pass, если тест успешный, либо Fail. Его задача — отложить бракованные платы отдельно.

Успешное прохождение теста

Зачем нужны тесты отдельных плат


Зачем тестировать каждую плату по отдельности, если можно собрать устройство целиком и потом протестировать все функции уже в сборе на готовом устройстве?
Сборка — это конвейерный процесс. При отлаженном производстве, каждое следующее звено конвейера должно проверять, что получает от предыдущего. Когда в получаемых элементах есть системный брак, то нужно исследовать ситуацию и предпринимать действия по улучшению процесса на предыдущем звене. Если этого не делать, то существенный процент собранных устройств будет иметь проблемы неизвестного происхождения.

Цена брака, обнаруженная на этапе готового изделия, сильно выше. Потому что уже потрачено время на весь производственный цикл и финальную ручную сборку устройства. Разумнее локализовать проблему раньше, на отдельной плате, и сразу удалить бракованную плату, чем обнаружить проблему в готовом устройстве.


Дефект пайки BGA компонента, две точки слиплись в одну. Выявлено автоматическим тестированием.

Например, реальная ситуация: один из 3 ИК диодов не был запаян до конца. Эта проблема сразу же отлавливается на первых тестах, по наличию неправильного сопротивления на тестовых площадках. Но если бы такая плата ушла в готовое устройство, тесты готового устройства в сборе показали бы только низкую излучаемую мощность ИК-передатчика. И тогда бы пришлось угадывать, почему это произошло: проблемы с подключением шлейфов, проблемы с просадкой питания и т.д.


Дефект выловленный на тесте — не запаян ИК диод

Исходники тестовых плат


Внутри каждой тестовой станции стоит специально разработанная под нее плата со своей прошивкой. В качестве мозгов мы использовали готовые модули Black Pill. Ниже вы можете посмотреть исходники этих плат, через интерактивный вьювер Altium. В нем доступна схематика, сами чертежи плат и 3D модели, прямо на странице хабра!

Main PCB Testing Station



Кликабельно

NFC_RFID PCB Testing station



Кликабельно

iButton PCB Testing station



Кликабельно

Наши соцсети


Все обновления по проекту первым делом публикуются в Telegeram-канале @zhovner_hub
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


Предзаказ Flipper Zero


Сейчас запущено производство первой партии Flipper Zero для бекеров заказавших устройство на Kickstarter. Вторая партия будет доступна для покупки осенью 2021. Вы можете зарезервировать устройство из второй партии заранее здесь https://shop.flipperzero.one/ Это важно для нас, чтобы более точно прогнозировать объемы производства.

Комментарии (96)


  1. opxocc
    28.06.2021 16:14
    +20

    Марка монитора на рабочем месте тестировщика просто шедевральная.


  1. Ladone
    28.06.2021 16:28
    +5

    На самом деле, захватывает тот факт того, что маленькая команда, делает такой огромный проект «удаленно». Всегда такие вещи были магией для меня.


    1. zhovner Автор
      28.06.2021 16:31
      +14

      Ну, справедливости ради, не совсем удаленно. У нас есть пару разработчиков удаленно по СНГ, но в Китае есть часть команды, которая непосредственно на производстве контролирует все. У нас есть несправедливое преимущество — русские свободно говорящие на китайском. Так нам удается заходить в особые места поглубже и договариваться об условиях, которые так просто иностранцам не дают.


      1. Soft31337
        01.07.2021 14:54

        Еще в школе не раз слышал фразу «Не учите английский, учите китайский, он вам пригодится в жизни гораздо больше». Как же они были правы :)


  1. dernuss
    28.06.2021 16:41
    -1

    из 6 слоев!

    Не понимаю, зачем так много?


    1. zhovner Автор
      28.06.2021 17:11
      +10

      Чтобы все офигели, разумеется. На самом деле просто сложная плата, нельзя сделать достаточное число дорожек, чтобы они не пересекались. Приходится делать слои и переходные отверстия.


      1. dernuss
        28.06.2021 17:16
        -4

        а на сложную не похожа)

        Вот например у меня 2х слойка, для сравнения -> https://www.youtube.com/watch?v=N2Xo98u0zNA

        или вот

        https://habr.com/ru/post/404075/


        1. zhovner Автор
          28.06.2021 17:25
          +18

          >Вот например у меня 2х слойка, для сравнения

          Мы пока не такие крутые как вы.


        1. Dr_Zlo13
          28.06.2021 18:49

          На плате из статьи больше интерфейсов, на гораздо меньшей площади. Плюс из-за ситуации на рынке и недостатка места приходится использовать BGA корпуса и двусторонний монтаж.


          1. dernuss
            28.06.2021 19:01
            +4

            Я не вижу больше 4х слоёв.

            Даже готов сделать за определенную мотивацию)


            1. lomalkin
              28.06.2021 23:23
              +2

              Для абсолютно любой схемы достаточно 2х слоев для разводки, но в реальности есть ограничение на размер платы и минимальная ширина трассы. Это не говоря про необходимость учета взаимного влияния сигналов между дорогами и надежности изделия, а также попросту удобства работы с проектом. У нас получилось 6 слоев.


              1. dernuss
                28.06.2021 23:44
                -5

                Для абсолютно любой схемы достаточно 2х слоев для разводки

                Сами придумали? (почему не одного?)

                Это не говоря про необходимость учета взаимного влияния сигналов между дорогами и надежности изделия

                Не заметил у вас в проекте ddr или Pcie или... ну вы поняли) а насчет надёжности, сомнительно что увеличение слоёв ведёт к увеличению надёжности. Я бы даже сказал что по моему однослойные платы самые надёжные)

                а также попросту удобства работы с проектом.

                Ну вот скорее всего)


                1. COKPOWEHEU
                  29.06.2021 13:27
                  +3

                  Сами придумали? (почему не одного?)

                  Потому что дорожки иногда пересекаются. По двум бесконечно большим слоям их развести можно, но по одному — только с перемычками (которые по сути тот же второй слой).
                  Ну и BGA-многоножки по одному слою физически не вытянуть.
                  Я бы даже сказал что по моему однослойные платы самые надёжные)
                  Я тоже предпочитаю однослойные платы, пусть и с перемычками. Но иногда приходится и по двум сторонам разводить. Вот больше пока не требовалось, да и в любительских условиях вряд ли возможно. Все же заказ готовой платы это не «любительские условия».


                  1. dernuss
                    29.06.2021 15:17

                    Потому что дорожки иногда пересекаются.

                    и иногда заканчиваются)

                    Все же заказ готовой платы это не «любительские условия».

                    Ну почему же, например заказываю для хобби готовые платы на pcbway и jlcpcb


                    1. COKPOWEHEU
                      29.06.2021 15:30
                      +1

                      и иногда заканчиваются)
                      Заканчиваются они обычно не в чистом поле, а рядом с парой-тройкой таких же дорожек на границе микросхемы. А у нее расстояние между выводами не бесконечное.


                      1. dernuss
                        29.06.2021 15:33
                        -5

                        Резистор 0 Ом может решить проблему)


                      1. COKPOWEHEU
                        30.06.2021 11:08
                        +1

                        та же перемычка


                      1. dernuss
                        30.06.2021 11:16

                        Только smd


                      1. COKPOWEHEU
                        30.06.2021 14:44
                        +1

                        следовательно, менее надежная практически и не решающая исходную теоретическую топологическую задачу.


                      1. dernuss
                        30.06.2021 14:49
                        -1

                        Не думаю что резистор 0 ОМ менее надёжен чем 2х слойная ПП с переходами)

                        Да и задачу решает


                      1. COKPOWEHEU
                        01.07.2021 11:54
                        +2

                        Я уже на практике воткнулся в механическую непрочность резисторов. При изгибе платы у них запросто отваливаются контакты. Медь все же надежнее.
                        А теоретическую топологическую задачу резистор очевидно не решает.


                      1. dernuss
                        01.07.2021 15:41

                        Я уже на практике воткнулся в механическую непрочность резисторов. 

                        Стараетесь схемы без резисторов делать?)


                      1. COKPOWEHEU
                        01.07.2021 22:26
                        +2

                        Без ненужных? Конечно.
                        Тем более что ситуаций, когда надо «перепрыгнуть» единственную дорожку не так уж много. Чаще этих дорог штук 5, где спасет разве что выводной резистор (такие платы тоже делал). Ну а если резистор там не нужен, то либо перемычка, либо двуслойная плата в зависимости от количества.


              1. order227
                29.06.2021 00:54
                +3

                "Для абсолютно любой схемы достаточно 2х слоев для разводки"

                В мире где нет частот выше 500 МГц и дифференциальных пар наверное да))


                1. lomalkin
                  29.06.2021 02:12

                  Все так)


                1. KbRadar
                  01.07.2021 11:53
                  +1

                  Зависит от сложности схемы и вида сигналов. С каким-нибудь зарядочувствительным усилителем работающим с импульсами порядка 1 фКл можно и на десятках килогерц ходить по граблям.


              1. quaer
                01.07.2021 11:18

                Теория графов говорит иное.


    1. order227
      29.06.2021 00:44
      +8

      1) Разработчик, который бы смог упихнуть в 2-4 слоя, так чтобы не было проблем с помехами стоит сильно дороже, чем тот что сделал сей шедевр.

      2) Чтобы просимить плату нужен софт, альтиум не имеет нормального солвера, sigrity стоит, например, около 70к$. Ради одной платы столько тратить глупо.

      3) На серии стоимость платы такого размера в 2, 4 или 6 слоев практически идентична. Так, что правильно сделали, что хернули 6 слоев. Затрат на платы минимум, а на софте и разрабах можно экономить.

      Имхо не понимаю экономию на слоях, когда речь идет о количестве меньше, чем 8-10. Особенно если на плате есть радио или скоростная цифра. Нормальные плейны облегчают жизнь разработчику.


      1. dernuss
        29.06.2021 09:25
        -2

        1) Разработчик, который бы смог упихнуть в 2-4 слоя, так чтобы не было проблем с помехами стоит сильно дороже, чем тот что сделал сей шедевр.

        не сильно) я бы даже сказал столько же)

        2) Чтобы просимить плату нужен софт, альтиум не имеет нормального солвера, sigrity стоит, например, около 70к$. Ради одной платы столько тратить глупо.

        А можно просто нанять недорого конторку, у которой уже куплена sigrity ;)

        3) На серии стоимость платы такого размера в 2, 4 или 6 слоев практически идентична. Так, что правильно сделали, что хернули 6 слоев. Затрат на платы минимум, а на софте и разрабах можно экономить.

        Сравнил цены 4 и 6 слоёв на партию 100к, разница 10k$

        Особенно если на плате есть радио или скоростная цифра.

        Не заметил на плате у них скоростной цифры. Или spi тоже считается скоростной?

        Ну а так то любую плату с радио лучше просимить, это даже важнее чем с высокоскоростной цифрой. Ведь многие ещё помнят плохую антенну в iPhone 4

        Имхо не понимаю экономию на слоях, когда речь идет о количестве меньше, чем 8-10. 

        Ну если для вас 10k$ не деньги.... тогда я согласен. Но для мня деньги)


        1. order227
          29.06.2021 10:39
          +5

          не сильно) я бы даже сказал столько же)
          Сильно, если вы платите разработчикам нормальную зарплату.

          А можно просто нанять недорого конторку, у которой уже куплена sigrity ;)
          А вы шутник конечно. Те, кто могут позволить себе лицензию cadence с полным фаршем статус «конторка» переросли лет 15 назад или сколько у нас там конторок могут себе позволить 200-300к$ и при этом согласятся барыжить мелкими заказами для стартапов? Полагаю около нуля.

          Сравнил цены 4 и 6 слоёв на партию 100к, разница 10k$

          Ахахах в калькуляторе на сайте? Ну да, ну да… Видимо переговоры с заводом фигня, ребята знающие китайский нанимаются просто так, чисто чтобы зарплату получали. Цен ниже калькулятора не бывает, он самый точный. Сразу видно ваш огромный опыт работы с азиатскими поставщиками.

          Не заметил на плате у них скоростной цифры. Или spi тоже считается скоростной?
          На плате у них достаточно много всяких радиомодулей, вроде как про них написал и вы половину текста не увидели? Да и spi на 100 МГц прекрасно себе уже гадит на расположенный рядом аналог.

          Ну а так то любую плату с радио лучше просимить

          Или симить или делать с большим запасом по шумам, выполняя все базовые рекомендации со стороны тополога. Например, 6-ти слойка уже позволяет получить 2 наружных слоя и у каждого 2 полноценных сплошных плейна.

          Ну если для вас 10k$ не деньги… тогда я согласен. Но для мня деньги)
          А вы так полагаю себе домой решили 100 тыс. плат заказать? Для компании это не деньги, к тому же вы очень тупо считаете. Расчеты в лоб это конечно прекрасно, но вот только считать нужно в комплексе. Например, уменьшение времени разработки снизит стоимость этой самой разработки на сильно большую сумму, чем 10к.


          1. dernuss
            29.06.2021 10:56

            Полагаю около нуля.

            Полагать можно, а мы нанимали) но не контору

            Ахахах в калькуляторе на сайте? Ну да, ну да… Видимо переговоры с заводом фигня, ребята знающие китайский нанимаются просто так, чисто чтобы зарплату получали. Цен ниже калькулятора не бывает, он самый точный. Сразу видно ваш огромный опыт работы с азиатскими поставщиками.

            Да, в калькуляторе) Или вы будете утверждать что цена за 6 слойку = цене за 4х слойку на одном заводе? Ну бред же. Даже после любых переговоров.

            А так, насчет моего опыта, я даже жил в Китае, если что и работал на одном заводе)

            какой ни какой, а опыт есть

            На плате у них достаточно много всяких радиомодулей, вроде как про них написал и вы половину текста не увидели? Да и spi на 100 МГц прекрасно себе уже гадит на расположенный рядом аналог.

            Там есть spi на 100 МГц ? Про радиомодули написал, про iphone 4 тож

            Например, 6-ти слойка уже позволяет получить 2 наружных слоя и у каждого 2 полноценных сплошных плейна.

            А 8слойка ещё лучше и т.д... Почему не 8, 10, 12?

            Для компании это не деньги

            Для бизнеса любые деньги деньги)

            Например, уменьшение времени разработки снизит стоимость этой самой разработки на сильно большую сумму, чем 10к.

            Давайте я не буду учитывать ваш пример, так как он, во первых без расчётов, во вторых противоречит моему опыту)

            П.С, Ещё раз, могу такою же плату, при мотивации, запросто перевести на 4 слоя) без ухудшения характеристик)


            1. order227
              29.06.2021 11:15
              +7

              но не контору
              Так все таки контору или фрилансера? Вы уж определитесь кого вы все таки предлагаете нанимать.

              цена за 6 слойку = цене за 4х слойку на одном заводе?
              Сопоставима, разница обычно в районе 5-7%, то есть на площади платы из статьи это около 0,05...0,07$. Хотя даже если взять ваши 0.1$, то все равно они отобьются и почему так написано выше.

              А 8слойка ещё лучше и т.д… Почему не 8, 10, 12?
              Потому что типовой стек для подобных проектов 6 слоев, если появляется цифра или аналог 1 ГГц+, то 8 слоев. Это именно тот стек, который позволяет выполнить все рекомендации по топологии из мануалов и стандартов и при этом не потратить неадекватно большое количество времени.

              так как он, во первых без расчётов, во вторых противоречит моему опыту)
              Ну то, что ваш опыт это абсолютная истины все уже поняли думаю. Только где ваши то расчеты? Где КП с цифрой? Ну такая себе у вас аргументация…

              запросто перевести на 4 слоя
              «Угадаю это мелодию с 2-х нот!»

              Еще раз… ребята правильно сделали, что не стали искать талантливого вундеркинда из глубинки, а взяли первого попавшегося разработчика среди знакомых, который быстро слепил первую ревизию за неделю и пошли пилить механику и софт, т.к. последние сильно дороже и сильно больше ресурсов требуют. Вы же предлагаете людям экономить на спичках, это откровенно вредный совет.


              1. dernuss
                29.06.2021 11:25
                -5

                Так все таки контору или фрилансера? Вы уж определитесь кого вы все таки предлагаете нанимать.

                Начать можно поиски с контор, а там как повезёт с ценами и предложениями)

                Хотя даже если взять ваши 0.1$, то все равно они отобьются и почему так написано выше.

                Не отобьются, почему написал выше)

                Потому что типовой стек для подобных проектов 6 слоев, если появляется цифра или аналог 1 ГГц+, то 8 слоев.

                Сами придумали или кто подсказал?

                Только где ваши то расчеты? Где КП с цифрой? Ну такая себе у вас аргументация…

                Ну я хотя бы в калькуляторе взял и посчитал. Вы же вообще без цифр)

                Вы же предлагаете людям экономить на спичках, это откровенно вредный совет.

                Бизнес вообще на всём экономит)

                П.С, Предлагаю закончить правильно/не правильно, всё равно каждый останется при своём


                1. order227
                  29.06.2021 11:39
                  +4

                  Начать можно поиски с контор, а там как повезёт с ценами и предложениями)
                  Контору найти не реально: или неадекватно дорого или соответственно по остаточному принципу попадаете в очередь их проектов и за это время успеваешь сделать 1ю ревизию, найти проблемы и сделать уже 2ю. Проверено в реалиях СНГ. Найти же фрилансера, который «в свободное от работы время» просимит уже вполне себе решение.

                  Сами придумали или кто подсказал?
                  Во-первых, производитель SoC, CPU и прочей мелочи таки рекомендует референсный стек под свой камень. Во-вторых, опыт же.

                  Бизнес вообще на всём экономит)
                  И при этом все равно не может стать конкурентноспособным, т.к. узкое место не стоимость плат уж точно.

                  У вас типичный СНГшный синдром — экономить на спичках, на слоях, на чем угодно и при этом не экономить на временных ресурсах.

                  Предлагаю закончить правильно/не правильно
                  Ну как минимум ребята в статье доказали, что они смогли сделать рабочую железку, использовать 6 слоев и при этом вписаться в заложенный бюджет. Это означает одно — решение правильное. То, что оно не совпало с вашим видением — это уже исключительно ваша проблема.


                  1. dernuss
                    29.06.2021 11:45
                    -1

                    Найти же фрилансера, который «в свободное от работы время» просимит уже вполне себе решение.

                    Можно сначала найти контору, а потом выцепить из неё фрилансара)

                    Во-первых, производитель SoC, CPU и прочей мелочи таки рекомендует референсный стек под свой камень. Во-вторых, опыт же.

                    Ну вот DDR3/4 плашки вполне себе разводят на 4 слоях, как пример. Пруфы надо?

                    Экономят вероятно

                    У вас типичный СНГшный синдром — экономить на спичках, на слоях, на чем угодно и при этом не экономить на временных ресурсах.

                    Что вы, время я ещё как сильно экономлю.

                    Ну как минимум ребята в статье доказали, что они смогли сделать рабочую железку, использовать 6 слоев и при этом вписаться в заложенный бюджет. Это означает одно — решение правильное. То, что оно не совпало с вашим видение — это уже исключительно ваша проблема.

                    Ну если быть честным, ещё не доказали) Это первое

                    А второе, я ведь всего на всего спросил, почему 4 слоя. И получил ответы, не связанные со временем. Про время только вы написали. Может у них время не было главным? от куда вы знаете?

                    П.С. Мне уже надоело


                    1. order227
                      29.06.2021 11:52
                      +6

                      Экономят вероятно
                      Потому, что рынок плашек очень конкурентный по цене, а Флиппера конкуренции по цене не имеет, но есть обязательства по срокам реализации проекта.

                      Может у них время не было главным? от куда вы знаете?
                      Когда человек/команда собрали на кикстартере много денег, пообещали людям за них готовое устройство, то время для проекта является определяющим фактором. Иначе тебя просто запилят до смерти вопросом «когда отправите?»

                      Мне уже надоело
                      Если не пытаться окружающим навязать свое мнение по какому-то вопросу, то вероятно такие споры/обсуждения в принципе возникать не будут.

                      P.S. зато мы очень сильно подняли статью, помогли ей попасть в ленту «обсуждают сейчас», что сильно накинет просмотров. Так сказать внесли свою лепту в PR проекта))


                      1. dernuss
                        29.06.2021 11:55

                        Иначе тебя просто запилят до смерти вопросом «когда отправите?»

                        Ой, да там столько провалов на этом кикстартере  ...

                        Если не пытаться окружающим навязать свое мнение по какому-то вопросу, то вероятно такие споры/обсуждения в принципе возникать не будут.

                        Ну ок, вот например пруф не моего мнения https://www.st.com/resource/en/application_note/dm00462392-stm32mp1-series-ddr-memory-routing-guidelines-stmicroelectronics.pdf

                        Люди 4 слоя юзают

                        Так сказать внесли свою лепту в PR проекта))

                        Уже пока требовать скидку на flipper ?


                      1. order227
                        29.06.2021 13:24

                        Люди 4 слоя юзают
                        Не спорю, но тут очень много НО… Во-первых, один из корпусов изначально проектировался под стек в 4 слоя, соответственно на нем пожертвовали вторым MACом Ethernet, упростили контроллер DDR с 32 до 16-ти бит и прочие упрощения. Во-вторых, более полноценный корпус уже идет в 6 слоев как раз. В-третьих, MP157 убожество от ST, просто посмотрите как они предлагают ставить 2 чипа DDR :))) В-четвертых, прям вот недавно разводил SoM на нем, в 4 слоя получается не очень совсем, приходится ставить чип память далеко от проца.

                        В общем на все эти «оптимизации для 4х слоев» нужно смотреть оооочень аккуратно, часто они работают лишь в сферическом вакууме. Не верите мне? Посмотрите ту же отладку на MP1, там то ли 6, то ли 8 слоев. Сами разработчики не настолько глупы, чтобы упарываться и разводить в 4 слоя.

                        Блин длинно вышло… просто прям недавно жёпа сгорела от убогости MP157))) Вообще мой посыл основно не в том, что «нельзя», а в том что оптимально решение все таки в 6 или 8 слоев, что своей отладкой разработчики ST и подтверждают, кстати.

                        Уже пока требовать скидку на flipper ?
                        В ультимативной форме!


                      1. dernuss
                        29.06.2021 13:34

                        Не верите мне? Посмотрите ту же отладку на MP1, там то ли 6, то ли 8 слоев .

                        Ну тут всё просто, отладок выпускают мало, от суда и вольности)

                        Но когда огромный тираж....

                        В общем на все эти «оптимизации для 4х слоев» нужно смотреть оооочень аккуратно, часто они работают лишь в сферическом вакууме.

                        Я бы так сказал, на все «оптимизации для 2х слоев» нужно смотреть оооочень аккуратно...

                        а в 4 слоя много чего помещается. Хотя всё конечно зависит от многих параметров...

                        В ультимативной форме!

                        Согласен


                      1. order227
                        29.06.2021 13:54
                        +1

                        отладок выпускают мало
                        Десятки тысяч штук, не скажу, что это мало прям. Опять же — рынок не конкурентный, переплату в 0.1$ за плату можно смело переложить на плечи покупателя. Вот если бы это были какие-нибудь android-приставки с миллионным тиражом, там да: и конкуренция огромная, и 100к$ это уже интереснее, чем 10к$.

                        Как итог: оптимизировать можно и нужно, но так же стоит строго определиться зачем ты это делаешь и нужно ли оно в твоей конкретной задаче.


                      1. dernuss
                        29.06.2021 14:25

                        Десятки тысяч штук, не скажу, что это мало прям.

                        Ну мало конечно. И продают как правило за дорого

                        Как итог: оптимизировать можно и нужно, но так же стоит строго определиться зачем ты это делаешь и нужно ли оно в твоей конкретной задаче.

                        Лично я очень надеюсь что китайцы после релиза будут выпускать клоны флипперов дешевле)


  1. EngineTech
    28.06.2021 16:49
    +5

    Оформил предзаказ на вторую очередь. Удачи вашей команде. Надеюсь, что с доставкой в Россию не возникнет сложностей.


  1. Viper029
    28.06.2021 16:51
    +11

    Спасибо за то, что каждый ваш шаг описываете подробно в статьях. Очень интересно наблюдать за тем, как готовится девайс, который скоро приедет мне. На сколько же глубокий полный процесс создания хардварной части проекта. Творится какая-то магия, не иначе!


  1. quaer
    28.06.2021 17:08
    +6

    Какой примерно процент брака?
    Как выполняется ремонт? Есть ли норматив по времени? Например, если за 2 часа не удаётся выявить неисправность, плата в утиль, или стоит задача оживить все 100%?


    1. lomalkin
      28.06.2021 18:26
      +1

      Про процент брака говорить еще рано, т.к. выборки маловато, джиги иногда перенастраиваются, а также не все, что обнаруживается — на самом деле брак. (лучше перебдеть).
      На текущем этапе мы работаем с фабрикой по каждому дефекту, отстраивая процессы, которые к нему привели — сейчас это важнее, чем статистика, и дает результаты даже со штучными кейсами или намеками на проблему.


    1. zhovner Автор
      28.06.2021 18:29
      -4

      _


  1. x893
    28.06.2021 17:25

    Когда ожидать софт на github ?


    1. Kerrigan
      28.06.2021 18:21
      +5

      Уже говорили, сразу как отгрузят первую партию.


  1. unalacuna
    28.06.2021 17:56
    +3

    Результаты тестирования каждой платы сохраняются в базу данных, чтобы потом, по серийному номеру платы можно было понять как она прошла тесты, когда была произведена, и из какой партии на ней смонтированы компоненты.

    Как стенд узнаёт серийник вставленной платы?
    Как связаны между собой базы данных с разных тестовых станций?


    1. lomalkin
      28.06.2021 18:19
      +4

      Как стенд узнаёт серийник вставленной платы?

      Платы оснащены баркодом Datamatrix. Перед запуском теста оператор сканирует его считывателем.
      Как связаны между собой базы данных с разных тестовых станций?

      Сами станции работают автономно — каждая со своим таргетом, затем данные выгружаются. Мы можем связать их вместе, считывая баркоды с каждой платы в устройстве в процессе финальной сборки. Это позволяет по uid устройства узнать историю тестирования его отдельных компонентов.


      1. unalacuna
        28.06.2021 19:15

        оператор сканирует его считывателем

        Логично, просто считывателя не видать на фотках, да и на рисунке про него забыли. )

        Мы можем связать их вместе, считывая баркоды с каждой платы в устройстве в процессе финальной сборки

        Неужели вся финальная сборка Флиппера делается на одном рабочем месте? Я почему-то представлял себе конвейер с китайскими женщинами...


        1. lomalkin
          28.06.2021 20:27

          Неужели вся финальная сборка Флиппера делается на одном рабочем месте? Я почему-то представлял себе конвейер с китайскими женщинами...

          Конвейер, конечно же.


          1. unalacuna
            28.06.2021 22:57

            То есть у каждой китайской женщины есть сканер?


            1. NetBUG
              29.06.2021 21:05
              +1

              Два!


          1. unalacuna
            30.06.2021 09:19
            +1

            Лёш, давай подробности, очень интересно. Сборка происходит на конвейере. А внутренняя компоновка у вас довольно сложная, по-видимому платы устанавливают в несколько приёмов. Как это устроено? Где присваивается серийный номер девайсу в целом, как к нему привязываются номера каждой из внутренних плат, как устроены рабочие места монтажниц, есть ли там сканеры и какие, какой софт объединяет всё это вместе, печатается ли серийник на коробку, в какой момент это происходит?


            1. lomalkin
              01.07.2021 00:25

              Вопросы хорошие, но думаю будет лучше, если мы ответим на них в рамках отдельной статьи про конвейерную сборку и покажем весь процесс более наглядно, чем просто в комментариях. Там действительно есть много интересного.


      1. Amomum
        28.06.2021 23:31

        А как на каждую плату наносится разный баркод? Это наклейка с производства или прямо в шелкографии?


        1. lomalkin
          28.06.2021 23:43

          Для этого на шелкографии размещено специальное место под маркировку лазерным гравером (прямоугольник, его можно хорошо видеть на NFC платах в начале статьи — там панельки до гравировки, и после — уже собранные). Далее туда наносится уникальный код и человекочитаемая надпись, которая полностью дублирует его содержимое.


          1. Amomum
            28.06.2021 23:46

            О, здорово! А откуда код берется?


            1. lomalkin
              29.06.2021 02:10
              +1

              Код генерируется фабрикой по нашему формату, который с ними согласован.


              1. Amomum
                29.06.2021 02:12

                Спасибо :)


  1. VT100
    28.06.2021 19:04
    +2

    Если электронные компоненты неправильно хранились и набрали влаги внутрь корпуса, они могут треснуть при повышенной температуре.

    Те, кто не в курсе, — см. раздел "Moisture Sensitivity Levels" в J-STD-020 и целиком J-STD-033.


    1. dernuss
      28.06.2021 19:17

      Можно немного посушить)


      1. VT100
        28.06.2021 20:09

        И чем мельче компонент — тем он "демократичнее" к водопоглощению перед пайкой. Хотя, за СИД'ы — не уверен.


        1. dernuss
          28.06.2021 20:14

          Да там крупных компонентов и нет)

          А что такое СИДы?


          1. lomalkin
            28.06.2021 20:32
            +1

            Наверное имеются ввиду Свето-Излучающие Диоды.


            1. dernuss
              28.06.2021 21:29
              +1

              Вероятно) тяжело видимо у меня с отечественной терминологией


            1. VT100
              29.06.2021 18:22

              Они самые.


  1. unalacuna
    28.06.2021 19:23

    Действия оператора тестирования в итоге сводятся к нажатию одной кнопки и наблюдению за выводом на экране. Он увидит либо Pass, если тест успешный, либо Fail. Его задача — отложить бракованные платы отдельно.

    Правильно ли я понял, что в ходе разбора брака инженеру придется запихать каждую плату в стенд еще раз, чтобы собственными глазами увидеть в консоли, на каком шаге падает тест?


    1. lomalkin
      28.06.2021 20:33

      Можно, но не обязательно. Сканируем баркод и смотрим все отчеты по ней, хоть с телефона.


  1. Karlson_rwa
    28.06.2021 19:53
    +1

    Расскажите, пожалуйста, зачем у вас на схеме «iButton PCB Testing station» VT2 перевернут? Неужели SYS_EN больше напряжения на разъеме X1? Хотя это неважно. Из-за встроенного диода в VT2, VT1 всегда открыт. Независимо от SYS_EN.


    1. lomalkin
      28.06.2021 20:31
      +3

      Вам приз за внимательность. Эта ошибка даже перекочевала в тестовую плату, но учитывая простоту таргета (iBTN) решили платы не перевыпускать т.к. это никак не влияет на результат.


  1. tzlom
    28.06.2021 19:55

    Что с бракованными делаете после анализа? Ремонт и в продукт? Или в мусорку?


    1. lomalkin
      28.06.2021 22:17

      Вопрос очень уж общий. Зависит от дефекта, в большинстве случаев решение за фабрикой, но согласуется с нашим QA. При этом они берут во внимание экономическую целесообразность ремонта.

      На малых партиях, когда дефектов может быть относительно много (в процентном соотношении к здоровым) — отремонтированные устройства могут, например, отправляться на различные доп испытания, типа life test, сертификацию и т.д, где они в это время как раз нужны. Оттуда они уже все равно к пользователям не попадают.

      Некоторую часть компонентов фабрика оставляет у себя. Местные инженеры используют их для создания и модификации различных оснасток для сборки, поиска дефектов в других экземплярах (для сравнения с с ними) и т.д. — для всего этого отремонтированные платы тоже хорошо подходят.


  1. event1
    28.06.2021 20:06

    А вы светодиоды визуально тестируете? Или их нет на платах?


    1. lomalkin
      28.06.2021 20:29

      Сейчас измеряем ток (особенно хорошо работает для мощных ИК), но думаем поставить датчик, как взрослые ребята обычно делают.


  1. lelik363
    28.06.2021 21:31

    Исходя из каких соображений выбирали количество тестовых точек на целевой плате?


    1. lomalkin
      28.06.2021 22:04

      Точки выбирались преимущественно по входам и выходам функциональных блоков (а также где есть еще какие-то референсные значения, напр. источники опорного напряжения и т.д.). При этом для цепей с потенциально большим током в процессе тестирования (например питание) — точки специально дублируются.


      1. lelik363
        28.06.2021 22:13

        Не пытались ли использовать контактные площадки вместо тестовых точек?


        1. lomalkin
          28.06.2021 22:28
          +1

          Вы имеете ввиду КП самих компонентов, например выводных, вместо отдельных пятаков тестпоинтов? Если да — то ответ такой:
          Короткий ответ — отдельный тестпоинт (если под него есть место) — надежнее, чем использование выводов элементов, как минимум из-за некоторого толеранса при монтаже компонента, возможного попадания флюса и т.д. Пого пины в этом случае быстрее изнашиваются (хотя это и так расходник). Но вылавливать такого рода проблемы обычно не приятно, поэтому стараемся избегать. Ну и у нас используется не так много выводных компонентов, с QFN это уже не прокатывает.


  1. LostAlly
    28.06.2021 23:15

    Даже не знал, что компоненты могут набирать влагу, думал они керамические и полимерные, а оно вот оно что. Эдак их влажные ни нагревать сильно нельзя, ни замораживать ниже -4.

    Это я правильно понимаю, что электроника подвергшаяся попаданию воды, даже если просушить и убрать все замыкания на 100%, будет очень чувствительны к перегреву и охлаждению ниже -4?

    Через вафлю метро в Питере не работает сайт флипера.


    1. vvzvlad
      29.06.2021 01:16
      +2

      Это я правильно понимаю, что электроника подвергшаяся попаданию воды, даже если просушить и убрать все замыкания на 100%, будет очень чувствительны к перегреву и охлаждению ниже -4?

      Ну, там не настолько много воды. Основная проблема — корпус набирает воды, при пайке его корежит, потому что с каких-то частей вода испаряется быстрее, а с каких-то медленнее, изменяется геометрия, контакт становится плохим. Или конденсаторы емкость изменяют. Просто нагревать можно, проблемы начинаются при пайке по термопрофилю — он предоставлен производителем конкретной детали, и рассчитан на пайку сухой детальки.

      Это же вероятностная штука — дома/в мастерской вы можете прекрасно снимать/ставить микросхемы феном и паяльником, и все будет скорее всего норм, но вот на производственных тиражах добавленные лишние пара процентов брака это больно. Особенно, когда брак уходит к заказчику.


  1. kanvas
    29.06.2021 00:45
    +1

    1. В какой программе ведётся «история жизни» конкретного серийного номера платы? чтобы понимать когда где допущен ее брак.
    2. джиги пришлось покупать под флиппер проект или предоставлены исполнителем?


    1. lomalkin
      29.06.2021 02:38

      1. Софт самописный. Мы шли от того, что каждый отчет о тестировании представляет собой машиночитаемый файл (у нас в формате json). Он всегда сформирован по определенной структуре и содержит инфу о джиге, таргете, месте и времени теста, ну и конечно сами данные отчета о тестировании по каждому тесту. Его легко пересылать и хранить в любой NoSQL БД, анализировать автоматом при желании, а также можно сделать поверх красивую вьюху для людей.

      2. Сами джиги изготавливаются на заказ из стандартных компонентов. Чем-то похоже на пластиковые окна — тоже в общем конструктор с элементами кастомизации. Это достаточно развитый рынок в Китае.
      В минимальном варианте это будет пустой ящик на защелках со стойкой, bed of nails (держатели пого пинов) и кастомной (фрезерованной) подложкой под таргет. Также можно заказать доп кнопки/индикаторы и разъемы — в общем все, что душе угодно.


      1. kanvas
        29.06.2021 13:21
        +2

        Спасибо за ответ, Если возможно, расскажите, какая у вас Система оперативного управления производством (MES)? Также, какую используете систему управления товарными остатками и закупками/расчетами контрагентами? Возможно отдельной темой. Как к текущему пришли и какие были может «ошибки роста»


        1. lomalkin
          29.06.2021 14:01

          Спасибо, передал ваш вопрос коллегам.


      1. Eirenliel
        23.09.2021 08:39

        А не поделитесь коммерческой тайной кто производитель джига? Ссылочку или емейл, если они конечно знают английский и работают удалённо. Ищу уже давно, но что-то гугл упорно отказывается выдавать интересные результаты, и друзья тоже руками разводят.


      1. Eirenliel
        23.09.2021 08:43

        Ну а к вопросу софта, не слышали про Exclave? https://www.bunniestudios.com/blog/?p=5450 https://github.com/exclave/exclave


        1. lomalkin
          23.09.2021 17:24

          Не слышал. Судя по репе он не то чтобы часто обновляется, но спасибо, изучу на досуге.


  1. lelik363
    29.06.2021 07:56

    Припой во время монтажа не у ходит через переходные отверстия под QFN корпусами?


    1. lomalkin
      29.06.2021 13:53

      Мы специально закрываем такие переходные, чтобы не уходил.


      1. lelik363
        29.06.2021 21:40

        На фото вроде бы не заметно ST25R3916… Вы каким то необычным способом делаете?


        1. lomalkin
          01.07.2021 00:38

          Немного сбил вас с толку, извиняюсь. Уточнил у коллег:
          Мы не накладываем пасту поверх отверстий. Т.к. если заполнять целиком — то чип будет плавать в таком количестве припоя, а при частичном заполнении припой растекается равномерно, и излишки (при наличии) имеют возможность уйти через отверстия.

          Пример
          .


  1. SignallerK
    29.06.2021 11:07
    +1

    А вот эти все недочеты, типа отсутствия маски на футпринте BGA. Это фабрика на них указывает или вы сами? Я имею ввиду, что надо ли на своей стороне иметь спецалиста который будет вылавливать все эти косяки и пинать фабрику?


    1. lomalkin
      29.06.2021 13:59
      +2

      Когда как, но у любой нормальной контрактной фабрики всегда есть свой QA. Без специалиста или личного присутствия на фабрике мне работать не доводилось.
      Практика показывает, что проблемы могут возникнуть в самых неожиданных местах, т.к. в процесс вовлечено куча людей. Присутствие в этом случае очень помогает, ускоряя их решение.


  1. Burerman
    29.06.2021 15:45
    +1

    Мне, как человеку, который недавно начал погружаться в электронику, очень интересно и познавательно наблюдать за разработкой данного устройства. Спасибо за старания.