Предыдущая часть

Часть 5: Алгоритмы – реализация и модель ошибок

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

План статьи: В этой части рассматривается практический процесс изготовления печатной платы нашего устройства:

  • Подготовка документов для производства: генерация Gerber-файлов, списка компонентов (BOM) и файлов размещения (CPL).

  • Выбор компонентов в библиотеке JLCPCB: как подобрать доступные компоненты или заменить недоступные, использование опции Global Parts.

  • Размещение заказа PCB и монтажа: пошагово о заполнении параметров заказа на сервисе JLCPCB, особенности совмещенного заказа платы и сборки.

  • Стоимость и сроки: анализ итоговой цены, структура расходов (плата, компоненты, работа по монтажу, доставка) и сроки изготовления.

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

Подготовка к производству: Gerber, BOM, CPL

После разработки схемы и разводки печатной платы (в САПР, например KiCad) наступает этап подготовки файлов для производства. Стандартно нам понадобилось:

  • Gerber-файлы – это набор файлов, описывающих слои платы (рисунок меди, маски, шелкографии и т.д.) плюс файл сверловки. Обычно их получают экспортом из PCB-системы (в KiCad есть Plot для Gerber и Drill Files для сверловки). Все Gerber-файлы упаковываются в zip-архив.

  • BOM (Bill of Materials) – список компонентов. Он включает позиции, наименование или обозначение компонента (совпадающее со схемой), его тип, значение, корпус, а главное – идентификатор из библиотек производителя (MPN или LCSC код для JLCPCB). BOM можно выгрузить из САПР или заполнить вручную в шаблон Excel от JLCPCB.

  • CPL (Pick-and-Place файл) – файл с координатами установки компонентов. Этот файл содержит для каждого компонента его рефдиз (RefDes, например U1, R5…), координаты X,Y на плате, слой (Top/Bottom) и угол поворота для автоматической сборки. Формат файла – CSV или XYRS, также выгружается из PCB-системы.

Мы тщательно проверили, что позиции в BOM и CPL совпадают (одинаковые RefDes) и что все нужные детали присутствуют. Особенно важно, чтобы в BOM были указаны корректные номера компонентов LCSC – идентификаторы деталей из каталога JLCPCB. От этого зависит, сможет ли фабрика подобрать нужные компоненты.

После загрузки гербер-файла, БОМа и ЦПЛ пройдет проверка и система создаст виртуальный прототип платы для DFM-анализа.

Слои платы
Слои платы
Рендер платы
Рендер платы

Выбор компонентов: библиотека JLCPCB и замены

При проектировании устройства мы старались использовать такие компоненты, которые доступны для монтажа на JLCPCB. У JLCPCB есть собственная библиотека (каталог LCSC), из которой они могут напрямую установить детали. Каждый компонент имеет уникальный код (например, Cxxxxx). В идеале, достаточно выбрать из каталога нужные артикулы и указать их в BOM.

Однако, не все необходимые микросхемы были доступны. Например, наш основной микроконтроллер STM32F407IGT6 отсутствует в списке основных складских позиций JLCPCB. То же касалось некоторых датчиков инерциальной системы. В таких случаях есть несколько вариантов:

  • Поиск аналогов: Иногда можно заменить компонент на похожий, имеющийся в библиотеке. Например, другой MPU или акселерометр, если он совместим по характеристикам и пину.

  • Global Parts / Extended Library: JLCPCB предлагает расширенный подбор компонентов. Можно указать практически любой MPN, и они попытаются закупить его специально (так называемый Global Sourcing). В нашем случае мы воспользовались этим для STM32 и ключевого сенсора – добавив их MPN в BOM с пометкой "Global".

  • Свои компоненты (Consigned): есть опция прислать свои детали, но это дольше и сложнее (нужно отправлять физически). Мы ей не пользовались, предпочтя глобальный заказ.

Разные варианты каналов поставки
Разные варианты каналов поставки

Чтобы упростить подбор, на сайте JLCPCB есть удобный интерфейс BOM-анализатора. Мы загрузили наш BOM-файл, и система автоматически сопоставила позиции с их каталогом.

Рис. 1: Фрагмент списка компонентов из библиотеки JLCPCB. На скриншоте видно пример подбора: некоторые позиции (например, датчик LIS2DE12TR или разъёмы) доступны на складе и имеют указанный LCSC-код. Напротив сложных микросхем (как STM32F407) показано 0 наличия – это значит, деталь не в базовом каталоге. Для таких позиций мы отметили опцию "Global Part" – это позволит JLCPCB закупить нужное количество STM32F407 (минимальная партия 5–6 шт) специально под наш заказ. Таким образом, критически важные микросхемы удалось включить в спецификацию, хотя они и не хранились на складе JLCPCB.

Следует учитывать, что использование Global Parts увеличивает стоимость и время. В нашем случае микроконтроллер и один из датчиков шли как Global (поставка 9–15 дней), а всё остальное – из стандартного ассортимента. Мы проверили, что корпуса всех компонентов поддерживаются автоматическим монтажом (для JLCPCB это обычно SMD-компоненты; наши ключевые микросхемы – в корпусах LQFP, QFN, мелкие элементы – 0603, 0805 резисторы и т.д., что подходит).

Пришлось докупить много компонентов на личный сток, т.к. пока делались одни - заканчивались другие. Вообще процесс заказа компонентов очень динамичный, раз в день заходишь и смотришь чего еще закончилось и требует замены, ищешь замену, делаешь заказ MOQ. В целом интересно как через JLCPCB можно заказывать компоненты от самых разных вендоров напрямую (тот же Texas Instruments).

Размещение заказа на JLCPCB

Когда все файлы готовы и компоненты определены, мы оформили заказ через сайт JLCPCB. Процесс выглядит так:

  1. Загрузка Gerber: На стартовой странице заказа PCB загружаем zip с Gerber-файлами. Система показывает предварительный просмотр платы, определяет размеры. Мы убедились, что размеры верные и плата односторонней сборки (большинство компонентов на топ-стороне).

  2. Параметры платы: Выбираем количество (мы заказали 5 шт, минимально), толщину (1.6 мм стандарт), цвет маски (в нашем случае базовый зеленый, а затем перешли на желтый), тип платы (обычная FR4).

  3. Assembly (монтаж): Отмечаем, что нужен монтаж компонентов. Выбираем, на какой стороне платы монтаж (Top side). Число плат для сборки – мы указали 2 из 5 (нам сразу понадобились 2 собранные экземпляра, остальные 3 — запасные чистые платы).

  4. Загрузка BOM и CPL: Далее система попросит загрузить BOM и CPL файлы. Мы загрузили подготовленные CSV. Интерфейс показал список компонентов и их статус (совпадения с библиотекой, количество, и пр.).

Рис. 2: Интерфейс JLCPCB после загрузки BOM/CPL. Видно, что система распознала 9 позиций как стандартные (LCSC), а 2 позиции как Global. Также отображаются количества компонентов (для 2 собираемых плат, плюс запас, итого 12 штук STM32, сенсора и др. были зарезервированы). Мы проверили каждую строчку: правильный ли идентификатор, не заменился ли автоматически на другой. При необходимости, можно вручную выбрать замену из списка (например, если рекомендованный аналог не подходит).

  1. DFM-проверка: Перед финальным подтверждением заказ проходит автоматическую проверку техпроекта (Design for Manufacturing). JLCPCB сгенерировал отчет, в котором предупредил о паре моментов: все ли компоненты помещаются физически, нет ли конфликтов. В нашем случае критичных замечаний не было – плата спроектирована под их требования.

  2. Подтверждение и оплата: После проверки и выбора компонентов мы подтвердили заказ. Стоимость рассчиталась автоматически (о ней подробно ниже). Оплату произвели онлайн, выбрав доставку (мы выбрали экономичную доставку в РФ, около 2 недель ожидания).

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

DFM analysis
DFM analysis

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

Стоимость и сроки

Теперь рассмотрим, из чего сложилась итоговая стоимость и сколько времени занял весь процесс.

Рис. 3: Структура стоимости заказа PCB + PCBA. На скриншоте – итоги нашего заказа:

  • PCB Prototype (5 шт): это цена за сами платы (5 штук 2-слойных, 100x60 мм, стандартные параметры).

  • Assembly (монтаж 2 шт): сюда вошли работа по установке (установка + фиксированная плата за партию), а также стоимость всех компонентов. Крупнейший вклад внесли STM32F4 (дорогие, да еще и x2 шт + запас), модуль сенсора, разъемы и прочие микросхемы.

  • Кастомизация: в данном разделе я накликал много разных опций, чтобы посмотреть что вообще могут сделать ребята, там есть даже гибкие PCB.

  • Доставка: очень недорого, выбрана обычная SF доставка по Китаю.

  • НДС: Куда же без него.

    С учетом всех расходов (MOQ, стоков, издержек) сумма выросла до $3500, устройство оказалось вовсе не таким дешевым, как предполагалось, т.к. только прямые расходы на его прототипирование перевалили за 300тыс рублей.

Как оказалось, монтаж обходится дороже, чем сами платы, особенно из-за специфичных компонентов. Если бы все детали были из базовой библиотеки, цена была бы ниже. Например, global-составляющие добавили порядка $1000 к стоимости (включая избыточные 6 штук STM32, из которых реально пайка 2, остальные про запас). Тем не менее, для прототипа стоимость вполне приемлема, учитывая экономию времени на ручной монтаж.

По срокам получилось следующее:

  • Выпуск плат занял 3 дня (стандартное время).

  • Закупка Global Parts – около недели.

  • Монтаж после наличия всех компонентов – 4–5 дней.

  • Доставка в РФ – ~10 дней.

В сумме от оплаты до получения прошло около 3 недель. Это чуть дольше, чем просто платы, но вполне неплохо, учитывая индивидуальную закупку микросхем.

Результаты: готовые платы и проверка

Спустя примерно 3 недели мы получили посылку с JLCPCB. Внутри – запаянные антистатические пакеты с нашими платами. Две платы были полностью собраны, остальные три – только печатные платы без компонентов (мы заказали именно так).

Визуальный осмотр показал, что монтаж выполнен аккуратно: все микросхемы ровно размещены, пайка без шунтов и непропаев, мелкие резисторы и конденсаторы на местах. Разъемы и крупные детали тоже установлены верно. Мы выбрали плату и подключили питание – устройство ожило с первого раза, микроконтроллер прошился и выдал первые телеметрические данные по UART. Это свидетельство того, что качество сборки хорошее и компоненты целы.

Фото изготовленного прототипа
Фото изготовленного прототипа

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

Функциональное тестирование и прозвон ножек на осцилографе
Функциональное тестирование и прозвон ножек на осцилографе

Выводы: Печать и монтаж плат через сервис JLCPCB оказались удобными для нашего DIY-проекта. Несмотря на некоторые трудности с компонентной базой (пришлось использовать глобальный заказ на ключевые чипы), итоговый результат – рабочие устройства – стоил затраченных средств. В данном гайде мы прошли все шаги, от подготовки Gerber/BOM до получения устройства, что, надеемся, будет полезно тем, кто планирует заказать свою электронику через подобные сервисы.

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

В следующей статье поговорим про выбор элементов питания, экране, UI и способе взаимодействия с устройством с использованием кастомного 3-осевого джойстика.

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


  1. av-86
    04.09.2025 08:18

    Сразу вопрос: Пробовали их среду разработки? Если использовать её, то компоненты, которые вы вставляете в проект, при разработке схемы, сразу есть на заводе.


    1. exec77 Автор
      04.09.2025 08:18

      нет, до этого уровня не дошел, ограничился стандартным gerber+bom+cpl, но обязательно попробую при разработке второй версии устройства


    1. eugenk
      04.09.2025 08:18

      Тогда и у меня вопрос. Вы пробовали их среду ??? Если да, то каковы впечатления в сравнении с KiCad ???


  1. xpbim3_xpbim3
    04.09.2025 08:18

    Еще раз внятно: на момент сентября 2025, есть ли возможность оплатить из России физическому лицу, и есть ли возможность получить в России свой заказ физическому лицу без посредников?


    1. exec77 Автор
      04.09.2025 08:18

      Ответ на оба вопроса - нет. Из России ФЛ даже на сайт не пускает с российской почтой, приходится делать зарубежную + доступ через ВПН. Оплата только с карт мастер/виза (которые сейчас заблокированы). Доставка в моем случаем была через агента.


      1. raf329
        04.09.2025 08:18

        Интересно как доставку организовать, как находить посредников


        1. exec77 Автор
          04.09.2025 08:18

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


  1. HabraReaderZH
    04.09.2025 08:18

    1. Параметры платы: Выбираем количество (мы заказали 5 шт., минимально), толщину (1.6 мм стандарт), цвет маски (в нашем случае синий), тип платы (обычная FR4).

    На фото явно маска не синего цвета)) Спасибо за статью.


    1. exec77 Автор
      04.09.2025 08:18

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


  1. sav13
    04.09.2025 08:18

    Можно все сделать в EasyEDA (EasyEAD PRO) и брать компоненты прямо из их каталога. Тогда заказ формируется практически одним кликом без нудной проверки каждой позиции в BOM и CPL


  1. almaz1c
    04.09.2025 08:18

    С учетом всех расходов (MOQ, стоков, издержек) сумма выросла до $3500

    global-составляющие добавили порядка $1000 к стоимости (включая избыточные 6 штук STM32, из которых реально пайка 2, остальные про запас)

    Какой ужас. Откуда такие цены...

    Сегодня разместил заказ на пять различных плат с панелизацией и без, в 2-6 слоев в количестве 5-30 штук с частичным монтажом за $154:


    1. exec77 Автор
      04.09.2025 08:18

      У вас же просто платы? У меня вышло очень дорого по причине необходимости закупки STM32F4 на максимальное количество ног. Только эти датчики съели половину суммы - взял их в глобальном каталоге, там был большой MOQ. Также сама плата у меня стоит порядка 35 долларов, я их заказал также не 1шт, а 10шт. Мелочь, которую пришлось набирать себе на сток - тоже съела кучу денег. Часть комплектующих сгорела "на заправке в автомат" ну и так далее. Задачи удешевить устройство нет, сейчас задача сделать первый рабочий прототип stand alone инерциального навигатора, несколько штук - для тестов в разных условиях.

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


      1. almaz1c
        04.09.2025 08:18

        У вас же просто платы?

        Просто платы - это точка №1 на графике. Бомж пакет) Заказать пять плат за $5 и потом мудохаться с этой SMD-рассыпухой... Бррр. При том, что в JLCPCB одна точка пайки стоит что-то около нуля.

        У меня частичный монтаж. Точка №2 на графике. Все basic компоненты. Т.е. большая часть пассивных SMD-компонентов. Имхо, золотая середина между экономией денег и экономией трудозатрат.

        Вы полезли в точку №3. Режим бабломета: кокаин, трубочка из $100-долларовой купюры, полностью спаянная плата, стриптизерши, виски Джек Дениелс и все такое.

        STM32F4 

        STM32F407IGT6

        $5 стоит.

        Также сама плата у меня стоит порядка 35 долларов

        Одна плата или 5 плат? Если за одну двуслойную плату, - то это оооочень много. Судя по фото вам не нужны переходные отверстия меньше 0.3/0.7мм. Такая плата в JLCPCB должна стоить <1$.

        Комиссия за оплату с иностранной карты 10%.

        $350 за право оплатить покупку картой???? Вы деньги вообще не считаете?) За эти деньги вы можете съездить в дружескую страну на букву К и выпустить там карту в банке.

        Также в расходы включены услуги по доставке и ряд других.

        Авиадоставка из Китая в Москву за 1 кг у большинства курьеров стоит менее $40. Далее СДЭКом по России еще 1000 руб. Можно даже попросить курьера объединить две посылки с JLCPCB и LCSC в одну. Многие курьеры идут навстречу и так делают.

        Также привлекал несколько экспертов для оценки некоторых элементов реализации.

        Т.е. попросить эксперта за деньги поцокать языком, покивать головой и понадувать щеки?)

        Чтобы вы понимали, у меня бюджет на разработку аппаратной составляющей (без разработки ПО МК) типичной ногодрыгалки на каком-нибудь STM32xxx:

        • до 50к оплата схемотехнику-фрилансеру;

        • до 25к заказ образцов плат в JLCPCB с частичным монтажом с доставкой + закупка недостающих компонентов с LCSC опять же с доставкой.

        Если просят больше - разводняк. Разработка ПО - отдельная история. Там действительно может стоить конских денег.

        Задачи удешевить устройство нет

        Понимаю, но все же... $3500 только на изготовление образцов... Такое расточительство в такие кризисные времена)


        1. exec77 Автор
          04.09.2025 08:18

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

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


          1. almaz1c
            04.09.2025 08:18

            вопросом оптимизации стоимости

            1. Не платите больше 50к за трассировку примитивного ногодрыга. Плата с низкочастотными интерфейсами UART, I2C, SPI не стоит дороже.

            2. Не тратьте деньги на консультации с "экспертами", которые продают вам воздух.

            3. Не кормите перекупов комиссиями 10%.

            4. Не увлекайтесь полным монтажом (точка №3 на графике). Заказывайте монтаж только basic компонентов (точка №2 на графике), за которые не нужно доплачивать $3 за каждую установку питателя. Недостающие компоненты заказывайте с lcsc и монтируйте самостоятельно.

            5. Разберитесь, почему ваша плата стоит $35. В jlcpcb ваша двуслойка должна стоить около $1.

            P.S. вопрос оптимизации компонентной базы (например, зачем вам 176-ногий камень для опроса акселерометра) оставляем за скобками.


            1. exec77 Автор
              04.09.2025 08:18

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

              Вообще в авиации все стоит ОЧЕНЬ дорого.


              1. almaz1c
                04.09.2025 08:18

                Вообще в авиации все стоит ОЧЕНЬ дорого.

                у вас стоит STM32F407IGT6  стоимостью $5 и LIS2DE12TR стоимостью $0.7 на двуслойной плате стоимостью $1))

                Ну да ладно. Если товарищ в танке, стучать прикладом по выхлопной трубе бесполезно.


                1. exec77 Автор
                  04.09.2025 08:18

                  У меня стоят дестки ЛИСов, несколько СТМ, несколько МЕМС (50долл/шт), несколько дестяков ЛСМов. Я не понимаю вашу агрессию. Если можете сделать такое дешевле - то сделайте, я с удовольствием куплю. Вы решали задачу разработки массовых дешевых изделий - понятно что гнались за любой копейкой экономии. У меня такой цели нет, я уже несколько раз вам это повторил. Цель - сделать работающий прототип, затем подумаю над удешевлением.


  1. Metal038
    04.09.2025 08:18

    В свое время заказывал на jlcpcb. Сначала была проблема с оплатой, тут на помощь пришел Казахстан, их карта сильно выручала, далее заказ оформлял на китайский склад и вывозил оттуда через карго. А когда карты Казахстана перестали работать, то стал думать как купить. И решение очень простое - на Таобао очень много фабрик по производству печатных плат. И теперь 3 года заказываю только так. Из плюсов: цена даже дешевле, общаешься напрямую с производителем в чате, ну и самый главный плюс это оплата через alipay. Теперь не надо кого-то искать и платить деньги. Так же доступны изготовление трафаретов, монтаж компонентов. У некоторых фабрик есть экспресс доставка в Россию, хотя обычно они отправляют только по Китаю. Таким же образом я заказывал компоненты с lcsc.


    1. firehacker
      04.09.2025 08:18

      А почему карты Казахстана перестали работать?


      1. Metal038
        04.09.2025 08:18

        Это было 2 года назад. Платежи не проходили, я писал в поддержку jlcpcb, но проблема так и не решилась.


    1. exec77 Автор
      04.09.2025 08:18

      Для оплаты Алипей нужна китайская карта и симка. Оплатить алипей напрямую с карты российского банка нельзя. Или я что-то путаю?

      Касательно других сборщиков плат - вы правы, но я использовал наиболее известный сервис.


      1. Metal038
        04.09.2025 08:18

        Вы путаете. Алипей прекрасно пополняется через посредников. С недавнего времени стало возможным через Сбербанк или ВТБ. Наша симка не нужна. Для верификации нужен загранпаспорт.


        1. exec77 Автор
          04.09.2025 08:18

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


          1. Metal038
            04.09.2025 08:18

            У моего посредника курс меньше Сбербанка. Я за последний год не испытывал никаких проблем с оплатой через алипей.


    1. kosmonavt76
      04.09.2025 08:18

      Киньте ссылкой на проверенного производителя плат с монтажем. Компоненты они сами закупают надеюсь?


  1. firehacker
    04.09.2025 08:18

    Есть ли тут люди, которые с JLCPCB заказывали в Казахстан? Пару дней назад наткнулся на пост, что с недавних пор таможня не пропускает платы, считая, что это не товар для личных нужд — и меня накрыла паранойя на этот счет.