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.
#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.
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.