firmware · elektronika · výroba

Milan Veselý

embedded & hardware developer

Vyvíjím elektroniku a firmware, které fungují i mimo laboratoř. Pomáhám firmám navrhovat a dotahovat embedded produkty od prvního prototypu až po sériovou výrobu — měřicí a řídicí elektroniku, firmware pro mikrokontroléry a řešení problémů, které se objeví až u zákazníka.

O mně

Elektronika, která přežije provoz

Živím se vývojem řídicích systémů pro bazénovou technologii — prostředí, které je k elektronice nečekaně nepřátelské: vlhko, agresivní chemie, dlouhé sběrnicové trasy a uživatel, který zařízení nikdy neuvidí zevnitř. To člověka naučí psát firmware, který se umí sám zotavit.

Pracuji hlavně s STM32 a Freescale MC9S08, v C, na sběrnicích RS485/UART. Baví mě věci, kde se potkává hardware se softwarem: bootloadery s dual-bank fail-safe aktualizací, autokalibrace baud rate na RC oscilátoru, DMX512 řízení osvětlení, dotykové displeje. A stejně tak podklady pro výrobu — návrh, který nejde vyrobit, není hotový návrh.

ČVUT FEL — kybernetika a měření měřicí a řídicí elektronika
rs485.c
#include <stdint.h>
#include "bus.h"

/* Rám: [ADR][CMD][LEN][DATA..][CRC16] */

int bus_handle(const uint8_t *f, size_t n)
{
    if (n < HDR_LEN + CRC_LEN)
        return -EBADMSG;

    if (crc16(f, n - CRC_LEN) != le16(f + n - 2))
        return -EBADMSG;      /* šum na lince */

    if (f[0] != node_addr() && f[0] != ADDR_BCAST)
        return 0;               /* není pro nás */

    wdt_kick();
    return cmd_dispatch(f[1], f + HDR_LEN, f[2]);
}

Jak přemýšlím

Spolehlivost před efektem

Dobrý produkt není ten, který funguje na stole, ale ten, který spolehlivě funguje po letech provozu.

Proto se při vývoji zaměřuji na robustnost, jednoduchost servisu a možnost diagnostiky. Mám za sebou vývoj zařízení pro měření kvality vzduchu a koncentrace nebezpečných plynů, řídicích systémů i dalších embedded produktů, kde je spolehlivost důležitější než efektní prezentace.

Co dělám

Od prvního prototypu po sériovou výrobu

Firmware na míru

STM32 (CubeIDE, HAL i přímo registry), 8bitové MCU jako MC9S08, bare-metal i RTOS. Vývoj i převzetí a stabilizace cizího kódu.

Komunikace

RS485, UART, Modbus, BLE, LoRa. Návrh vlastních protokolů včetně adresace, diagnostiky a chování při rušení na lince.

OTA a bootloadery

Dvoubankové fail-safe aktualizace, podepsané image, HW akcelerované CRC, X-CUBE-SBSFU. Zařízení, které se nedá odaktualizovat do cihly.

Bring-up a součástky

Oživení desky, hledání náhrad při nedostupnosti a posouzení skutečné zaměnitelnosti — „drop-in" bývá optimistické slovo.

Výrobní dokumentace

Osazovací podklady, testovací postupy, spolupráce s výrobou i zahraničními dodavateli a dokumentace pro dovoz a celní řízení.

Nadstavba nad zařízením

Flutter/BLE aplikace pro obsluhu a servis, Python nástroje pro testování, sběr a analýzu dat z provozu.

C STM32 / CubeIDE MC9S08 bare-metal & RTOS RS485 Modbus UART / I2C / SPI BLE Wi-Fi LoRa DMX512 bootloader & OTA zabezpečení firmwaru EMC elektrická bezpečnost Linux Flutter Python osciloskop & analyzátor mikropáječka

Jak pracuji

Vývoj s ohledem na výrobu, zákazníka a servis

Vývoj je moje část práce a dělám ho s ohledem na všechno, co přijde po něm. Aby šla deska vyrobit a osadit bez improvizace, aby se dala otestovat, aby se v ní servisní technik za pět let vyznal a aby zákazníkovi dávala smysl bez manuálu. Jsem technik, ale zároveň člověk, který rád komunikuje s lidmi, takže si o tom umím promluvit s výrobou i se zákazníkem.

Rutinu kolem toho — testovací skripty, parsování logů, procházení datasheetů — automatizuji, ať zbyde čas na to, co se automatizovat nedá.

Když zrovna neřeším práci, trávím čas nejraději s rodinou, v přírodě nebo u klavíru. Tyhle věci mi připomínají, že i složité systémy mají fungovat jednoduše.

Kontakt

Kde mě najdete

E-mail a LinkedIn níže. Odpovídám obvykle do druhého pracovního dne.