Maksym Antipov Hardware development as a hobby and a job
1. Из софтвар девелопера в
хардваръ и обратно за 365
дней!
Небольшой расказ о безопасном погружении в пучину железячного ада с детальными
инструкциями и лирическими отступлениями
2. Немного оптимизма
● Что такое профессия инженера?
● Почему создавать устройства так “просто”?
● Железка это та же программа, но ее можно потрогать!
● Процесс разработки девайса - от идеи до первого образца
за 5 мин - это реально (вайфай подсветка)!
3. Та самая вайфай подсветка
Спаяно и запрограммировано за пол часа, без шуток)
4. А теперь о сложном...
● Вообще-то это вредно для здоровья, и психического в том числе :)
● Оценка реализуемости устройства (если вы делаете железку на заказ),
несколько способов как конкретно провтычить.
● Отладка железок - это даже не поиски memory corruption в проекте на
миллионы строчек кода!
● Самое сложное это не заставить девайс “работать”, а сделать из него
продукт который нужен заказчику.
5. Практика - подготовительная часть
● Что из инструментов нужно.
● Рабочее место должно быть чистым и аккуратным(немного
занудства).
● Какие устройства всегда пригодятся.
● Что и где читать?
● Как начать без первых трех (и даже четырех) пунктов! :)
6. Инструменты, материалы, электроника.
● Пинцет, кусачки, скальпель, пасатижи/мультитул, набор отверток
● Тиски - мастхев! Напильник и пистолет для термоклея - для финальной
доводки, кроме шуток!
● Паяльная станция с феном, даже если вы ничего такого паять не
собираетесь.
● Отдельный стол с лампой.
● Минимальные расходники - припой, флюс, медная оплетка, изолента,
провода обычные и с запаянными розетками, ацетон.
● Самый дешевый вольтметр.
● Осциллограф - USB китайский, просто для солидности.
● Пачка отладочных плат - esp8266, arduino, stm32.
7. Вот так рабочее место выглядеть не должно. И это еще я
убрал паяльную станцию и тиски!)
8. Железо и софт для разработки (IMHO)
● Стоит разделять версии для proof of concept и первого прототипа
конечного устройства (MVP), поэтому железо будет разным.
● Почему я рекомендую stm32 (холивар!!!).
● Где искать схемотехнику и какие подсистемы почти всегда будут в
вашем устройстве.
● Какой софт я использую для разводки плат и программирования.
● Где закупаться и изготавливать устройство.
9. Почему STM32?
Выборка по RAM-32KB, FLASH-256KB с DigiKey. Дешево и сердито. Но не
всегда в наличии. Помимо этого для stm32 я могу назвать не менее 5 сред
разработки! - 2 из них точно бесплатны, для 2х есть lite(32KB code limit)
версии
10. Первый девайс - для себя
● Девайс надо делать тогда, когда чувствуешь, что тебе он нужен
(или забьешь и потратишь время зря, IMHO)
● Проектируем - ничего нового, все как и в софтварной
разработке!
● Сделать по нормальному или как обычно? Мое мнение.
● Результат нужно фиксировать - термоклеем! :)
● Немного о безопасности и аккуратности (если что-то может
отвалиться - оно отвалится)
12. Фрилансим - первый промышленный девайс!
● Особенности изготовления устройства “для людей”.
● Прикинем смету и умножим на 2(в лучшем случае не придется
продавать квартиру)
● Чем быстрей получится прототип, тем больше вероятность успеха.
● “Оно же работает”, поздравляю, вы прошли только треть пути!
● Самое сложное не электроника и не софт…
● Отладка и тестирование в “полях” или пишем логи! :)
14. Итог
● Сколько времени ушло на изучение проектирования
плат/прокачку скила пайки/изучения программирования под
микроконтроллеры?
● На изготовлении устройств и знании железа вместе с его
программированием можно фрилансить, но нужно ли?
● Мои реальные цифры - о деньгах :(
● Что можно получить от умения создавать железки?
● Ваши вопросы?