[{"data":1,"prerenderedAt":542},["ShallowReactive",2],{"$fwuenr1OZcDw8TjcC-BzsU1lhSGBFolBhwdGCSmwMXKw":3,"$fFheVwYuguItz8UcUbLIejt6aER9I__K47_HIDwXiRr4":4,"$fJRPcZ2W8p5HFkohycYq3R-Vl_6xf7-kge3cbQAhDplY":33,"mdc--yjfqep-key":84,"mdc-e2xu46-key":523},null,{"id":5,"room":6,"start":9,"end":10,"language":11,"track":12,"speakers":16,"zh":24,"en":28,"tags":29,"uri":31,"trackColor":32,"co_write":3,"qa":3,"slide":3,"record":3},"SFVHC9",{"en":7,"zh-hant":8},"TR412-1","","2026-08-08T15:40:00+08:00","2026-08-08T16:10:00+08:00","English",{"id":13,"name":14},515,{"en":15,"zh-hant":15},"Open-EP (E-Paper) Community",[17],{"id":18,"avatar":19,"zh":20,"en":23},"ZMEB9N","https:\u002F\u002Fpretalx.coscup.org\u002Fmedia\u002Favatars\u002FZMEB9N_BH6PvuZ.webp",{"name":21,"bio":22},"Alex Lennon","Alex Lennon has been working with embedded Linux and OpenEmbedded for at least 15 years (possibly longer, but his memory is shot). He's the founder of Dynamic Devices Ltd and delivered a keynote at Yocto Project Summit 2022.\r\n\r\nOver the past few months, Alex has been experimenting with AI-assisted development workflows for Yocto projects, learning what works, what doesn't, and where the real productivity gains lie. His recent work includes automated hardware testing, remote target debugging, and power optimization workflows - all enhanced by AI collaboration.\r\n\r\nAlex believes the embedded community needs to figure out AI integration together, sharing both the successes and the failures to develop practical best practices.",{"name":21,"bio":22},{"title":25,"describe":26,"type":27},"Agentic AI and Rust on Linux: Accelerating Jaguar E-Ink Bring-Up with SSH, Webcams, and Yocto","This session is about **speeding up embedded bring-up** for the **Jaguar EInk Display**: **colour e-paper** on **NXP i.MX93 SOC** with **Yocto \u002F OpenEmbedded** customisation, plus a **Zephyr-based companion chip** for **power management**—targeting **5+ years** operation with the **PMU** approach for realistic **scheduled static signage** workloads.\r\n\r\nThe Linux side display and controller integration are implemented as a **Rust userspace application** on the Linux image—code people often call a “driver,” but here it is **userspace engineering**, iterated like any other critical service.\r\n\r\nThe focus is **agentic AI** (e.g. **Cursor-class agents**) and how it changes the loop when you feed it **real hardware feedback**. I will describe a workflow we relied on: **SSH** to boards (including remote lab setups), **automated deploy** of rebuilt artefacts, and **webcam capture** of what is actually on the panel—fed back into the agent loop so “what we think we programmed” is checked against **what appears on hardware**. That closes the gap between compile-only optimism and **hardware truth**.\r\n\r\nI will cover **partitioning** between **Linux + Rust app** and **Zephyr on the PMU** at an architectural level (**rail sequencing, sleep\u002Fwake, responsibilities**). **PMU application firmware remains closed source**; I will not present proprietary files—only the **integration surface**, **debug strategy**, and lessons that remain useful when part of the stack is private.\r\n\r\nThe product direction includes **long-life maintenance** thinking aligned with **UK-CE RED** and **EU CRA** expectations around **secure boot** and **OTA**—discussed **technically**, not as legal advice.\r\n\r\n### Open artefacts\r\n- [meta-dynamicdevices](https:\u002F\u002Fgithub.com\u002FDynamicDevices\u002Fmeta-dynamicdevices)\r\n- [eink-power-cli](https:\u002F\u002Fgithub.com\u002FDynamicDevices\u002Feink-power-cli)\r\n- [esp-eink](https:\u002F\u002Fgithub.com\u002FDynamicDevices\u002Fesp-eink) (older open e-paper reference material)\r\n\r\n### Audience\r\n\r\nEmbedded \u002F Linux developers; Rust curiosity helps; deep kernel internals not required.\r\n\r\n### Outline (30 minutes)\r\n1. Goals and architecture (**Linux + eink display rust app + Zephyr PMU**)\r\n2. Yocto customisation highlights using Foundries.io stack for secure boot and OTAU\r\n3. Agentic workflow (**SSH**, deploy, logs)\r\n4. Webcam-in-the-loop verification for panel outcomes\r\n5. Failures and guardrails; Q&A (**Open-EP** collaboration themes)\r\n\r\n### Takeaways\r\n\r\n- A repeatable pattern for **remote hardware feedback loops** with agents  \r\n- Pointers to **public repos**\r\n\r\n### Related\r\n- Prior talk (agentic Yocto-era workflows): [Yocto Project Summit 2025.12](https:\u002F\u002Fpretalx.com\u002Fyocto-project-summit-2025-12\u002Ftalk\u002F3KKPQM\u002F)\r\n- Product framing: [etablone](https:\u002F\u002Fetablone.com\u002F)","Talk",{"title":25,"describe":26,"type":27},[30],"Intermediate","https:\u002F\u002Fcoscup.org\u002F2026\u002Fsession\u002FSFVHC9","#4ecdc4",[34,40,46,51,55,59,63,68,74,79],{"id":35,"imageVertical":36,"imageHorizontal":37,"link":38,"weight":39},"QNAP-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1-HQ9oQMOngtqM3yL-1DBHRhzWbuyxgfE&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1aVhw014dwVLuxbNadE314lnl992FcjS_&&sz=w4000","https:\u002F\u002Fwww.qnap.com\u002Fgo\u002Fsolution\u002Fvirtualization",2,{"id":41,"imageVertical":42,"imageHorizontal":43,"link":44,"weight":45},"Cathay-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=10ndsUHILq9m_boaoilHTERyTXCsCBlSX&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=11_VlhFrCYcNOHML4z0jm6AmyL7MxNTfl&&sz=w4000","https:\u002F\u002Fwww.cathayholdings.com\u002Fholdings\u002Fbrand\u002Ffintech",6,{"id":47,"imageVertical":48,"imageHorizontal":49,"link":50,"weight":45},"esunbank-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1aNURMNN83oIZHAtBzm2rUZODKVBO29dt&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=17OA0eu-N510ePhhDuiSuBV_4mdlU5gfi&&sz=w4000","https:\u002F\u002Fwww.esunbank.com\u002Fzh-tw\u002Fpersonal",{"id":8,"imageVertical":52,"imageHorizontal":53,"link":54,"weight":45},"https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1_NsnJt2O238fO_dLl19RR4SNbyRErIJY&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1Q989E0GWazdVSPcGvZLMYzsNSh4cV2-g&&sz=w4000","https:\u002F\u002Fwww.mysql.com\u002F",{"id":8,"imageVertical":56,"imageHorizontal":57,"link":58,"weight":45},"https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1d4-1ZBMs6GqYcYytlYrSVZhs8Jgye5l3&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1Ea4CNZ-14siicP3xYm78l3AF41iAb9Om&&sz=w4000","https:\u002F\u002Fberry-ai.com",{"id":8,"imageVertical":60,"imageHorizontal":61,"link":62,"weight":45},"https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1A9Q35aOO4LDtI1-MVbIlLoGBmWn2VwZg&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=13Oz8Eq6MXXspGEqwi5QGbwYyDNeU1idK&&sz=w4000","https:\u002F\u002Fnitra.com\u002F",{"id":64,"imageVertical":65,"imageHorizontal":66,"link":67,"weight":39},"kktix-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=11md6cNzKBG-OF_e_9G5ZCLujoyck96as&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1ec5tuBMqbKDfPakOPWZF93Q55JI7DOOl&&sz=w4000","https:\u002F\u002Fkktix.com\u002F",{"id":69,"imageVertical":70,"imageHorizontal":71,"link":72,"weight":73},"gamesofa-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1HkRfiNOhKrH2zTaOHjTkDnAmoDPqV5_c&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1IVAroDzzryU5AIY4qMMVztg4hu-FXaIM&&sz=w4000","https:\u002F\u002Fwww.gamesofa.com",3,{"id":75,"imageVertical":76,"imageHorizontal":77,"link":78,"weight":39},"onlyoffice-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1H7dguSsKUH9aS9vxK-RhI519LEQjaak-&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1IchePy7nwLT4TXnLYLf8o6HS4TKOOjFd&&sz=w4000","https:\u002F\u002Fwww.onlyoffice.com\u002F",{"id":80,"imageVertical":81,"imageHorizontal":82,"link":83,"weight":39},"SUN-SQUARE-news","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=19TU_W9JBLzrRYVSQPG4cbbckhWLy0JaS&&sz=w4000","https:\u002F\u002Fdrive.google.com\u002Fthumbnail?id=1-2rlsJngO4Qiu0SElyXhMYmsjmGokHu_&&sz=w4000","https:\u002F\u002Fsunsquare.tech\u002F",{"data":85,"body":86},{},{"type":87,"children":88},"root",[89,168,187,248,302,347,354,393,399,404,410,459,465,490,496],{"type":90,"tag":91,"props":92,"children":93},"element","p",{},[94,97,103,105,110,112,117,119,124,126,131,133,138,140,145,147,152,154,159,161,166],{"type":95,"value":96},"text","This session is about ",{"type":90,"tag":98,"props":99,"children":100},"strong",{},[101],{"type":95,"value":102},"speeding up embedded bring-up",{"type":95,"value":104}," for the ",{"type":90,"tag":98,"props":106,"children":107},{},[108],{"type":95,"value":109},"Jaguar EInk Display",{"type":95,"value":111},": ",{"type":90,"tag":98,"props":113,"children":114},{},[115],{"type":95,"value":116},"colour e-paper",{"type":95,"value":118}," on ",{"type":90,"tag":98,"props":120,"children":121},{},[122],{"type":95,"value":123},"NXP i.MX93 SOC",{"type":95,"value":125}," with ",{"type":90,"tag":98,"props":127,"children":128},{},[129],{"type":95,"value":130},"Yocto \u002F OpenEmbedded",{"type":95,"value":132}," customisation, plus a ",{"type":90,"tag":98,"props":134,"children":135},{},[136],{"type":95,"value":137},"Zephyr-based companion chip",{"type":95,"value":139}," for ",{"type":90,"tag":98,"props":141,"children":142},{},[143],{"type":95,"value":144},"power management",{"type":95,"value":146},"—targeting ",{"type":90,"tag":98,"props":148,"children":149},{},[150],{"type":95,"value":151},"5+ years",{"type":95,"value":153}," operation with the ",{"type":90,"tag":98,"props":155,"children":156},{},[157],{"type":95,"value":158},"PMU",{"type":95,"value":160}," approach for realistic ",{"type":90,"tag":98,"props":162,"children":163},{},[164],{"type":95,"value":165},"scheduled static signage",{"type":95,"value":167}," workloads.",{"type":90,"tag":91,"props":169,"children":170},{},[171,173,178,180,185],{"type":95,"value":172},"The Linux side display and controller integration are implemented as a ",{"type":90,"tag":98,"props":174,"children":175},{},[176],{"type":95,"value":177},"Rust userspace application",{"type":95,"value":179}," on the Linux image—code people often call a “driver,” but here it is ",{"type":90,"tag":98,"props":181,"children":182},{},[183],{"type":95,"value":184},"userspace engineering",{"type":95,"value":186},", iterated like any other critical service.",{"type":90,"tag":91,"props":188,"children":189},{},[190,192,197,199,204,206,211,213,218,220,225,227,232,234,239,241,246],{"type":95,"value":191},"The focus is ",{"type":90,"tag":98,"props":193,"children":194},{},[195],{"type":95,"value":196},"agentic AI",{"type":95,"value":198}," (e.g. ",{"type":90,"tag":98,"props":200,"children":201},{},[202],{"type":95,"value":203},"Cursor-class agents",{"type":95,"value":205},") and how it changes the loop when you feed it ",{"type":90,"tag":98,"props":207,"children":208},{},[209],{"type":95,"value":210},"real hardware feedback",{"type":95,"value":212},". I will describe a workflow we relied on: ",{"type":90,"tag":98,"props":214,"children":215},{},[216],{"type":95,"value":217},"SSH",{"type":95,"value":219}," to boards (including remote lab setups), ",{"type":90,"tag":98,"props":221,"children":222},{},[223],{"type":95,"value":224},"automated deploy",{"type":95,"value":226}," of rebuilt artefacts, and ",{"type":90,"tag":98,"props":228,"children":229},{},[230],{"type":95,"value":231},"webcam capture",{"type":95,"value":233}," of what is actually on the panel—fed back into the agent loop so “what we think we programmed” is checked against ",{"type":90,"tag":98,"props":235,"children":236},{},[237],{"type":95,"value":238},"what appears on hardware",{"type":95,"value":240},". That closes the gap between compile-only optimism and ",{"type":90,"tag":98,"props":242,"children":243},{},[244],{"type":95,"value":245},"hardware truth",{"type":95,"value":247},".",{"type":90,"tag":91,"props":249,"children":250},{},[251,253,258,260,265,267,272,274,279,281,286,288,293,295,300],{"type":95,"value":252},"I will cover ",{"type":90,"tag":98,"props":254,"children":255},{},[256],{"type":95,"value":257},"partitioning",{"type":95,"value":259}," between ",{"type":90,"tag":98,"props":261,"children":262},{},[263],{"type":95,"value":264},"Linux + Rust app",{"type":95,"value":266}," and ",{"type":90,"tag":98,"props":268,"children":269},{},[270],{"type":95,"value":271},"Zephyr on the PMU",{"type":95,"value":273}," at an architectural level (",{"type":90,"tag":98,"props":275,"children":276},{},[277],{"type":95,"value":278},"rail sequencing, sleep\u002Fwake, responsibilities",{"type":95,"value":280},"). ",{"type":90,"tag":98,"props":282,"children":283},{},[284],{"type":95,"value":285},"PMU application firmware remains closed source",{"type":95,"value":287},"; I will not present proprietary files—only the ",{"type":90,"tag":98,"props":289,"children":290},{},[291],{"type":95,"value":292},"integration surface",{"type":95,"value":294},", ",{"type":90,"tag":98,"props":296,"children":297},{},[298],{"type":95,"value":299},"debug strategy",{"type":95,"value":301},", and lessons that remain useful when part of the stack is private.",{"type":90,"tag":91,"props":303,"children":304},{},[305,307,312,314,319,320,325,327,332,333,338,340,345],{"type":95,"value":306},"The product direction includes ",{"type":90,"tag":98,"props":308,"children":309},{},[310],{"type":95,"value":311},"long-life maintenance",{"type":95,"value":313}," thinking aligned with ",{"type":90,"tag":98,"props":315,"children":316},{},[317],{"type":95,"value":318},"UK-CE RED",{"type":95,"value":266},{"type":90,"tag":98,"props":321,"children":322},{},[323],{"type":95,"value":324},"EU CRA",{"type":95,"value":326}," expectations around ",{"type":90,"tag":98,"props":328,"children":329},{},[330],{"type":95,"value":331},"secure boot",{"type":95,"value":266},{"type":90,"tag":98,"props":334,"children":335},{},[336],{"type":95,"value":337},"OTA",{"type":95,"value":339},"—discussed ",{"type":90,"tag":98,"props":341,"children":342},{},[343],{"type":95,"value":344},"technically",{"type":95,"value":346},", not as legal advice.",{"type":90,"tag":348,"props":349,"children":351},"h3",{"id":350},"open-artefacts",[352],{"type":95,"value":353},"Open artefacts",{"type":90,"tag":355,"props":356,"children":357},"ul",{},[358,371,381],{"type":90,"tag":359,"props":360,"children":361},"li",{},[362],{"type":90,"tag":363,"props":364,"children":368},"a",{"href":365,"rel":366},"https:\u002F\u002Fgithub.com\u002FDynamicDevices\u002Fmeta-dynamicdevices",[367],"nofollow",[369],{"type":95,"value":370},"meta-dynamicdevices",{"type":90,"tag":359,"props":372,"children":373},{},[374],{"type":90,"tag":363,"props":375,"children":378},{"href":376,"rel":377},"https:\u002F\u002Fgithub.com\u002FDynamicDevices\u002Feink-power-cli",[367],[379],{"type":95,"value":380},"eink-power-cli",{"type":90,"tag":359,"props":382,"children":383},{},[384,391],{"type":90,"tag":363,"props":385,"children":388},{"href":386,"rel":387},"https:\u002F\u002Fgithub.com\u002FDynamicDevices\u002Fesp-eink",[367],[389],{"type":95,"value":390},"esp-eink",{"type":95,"value":392}," (older open e-paper reference material)",{"type":90,"tag":348,"props":394,"children":396},{"id":395},"audience",[397],{"type":95,"value":398},"Audience",{"type":90,"tag":91,"props":400,"children":401},{},[402],{"type":95,"value":403},"Embedded \u002F Linux developers; Rust curiosity helps; deep kernel internals not required.",{"type":90,"tag":348,"props":405,"children":407},{"id":406},"outline-30-minutes",[408],{"type":95,"value":409},"Outline (30 minutes)",{"type":90,"tag":411,"props":412,"children":413},"ol",{},[414,426,431,442,447],{"type":90,"tag":359,"props":415,"children":416},{},[417,419,424],{"type":95,"value":418},"Goals and architecture (",{"type":90,"tag":98,"props":420,"children":421},{},[422],{"type":95,"value":423},"Linux + eink display rust app + Zephyr PMU",{"type":95,"value":425},")",{"type":90,"tag":359,"props":427,"children":428},{},[429],{"type":95,"value":430},"Yocto customisation highlights using Foundries.io stack for secure boot and OTAU",{"type":90,"tag":359,"props":432,"children":433},{},[434,436,440],{"type":95,"value":435},"Agentic workflow (",{"type":90,"tag":98,"props":437,"children":438},{},[439],{"type":95,"value":217},{"type":95,"value":441},", deploy, logs)",{"type":90,"tag":359,"props":443,"children":444},{},[445],{"type":95,"value":446},"Webcam-in-the-loop verification for panel outcomes",{"type":90,"tag":359,"props":448,"children":449},{},[450,452,457],{"type":95,"value":451},"Failures and guardrails; Q&A (",{"type":90,"tag":98,"props":453,"children":454},{},[455],{"type":95,"value":456},"Open-EP",{"type":95,"value":458}," collaboration themes)",{"type":90,"tag":348,"props":460,"children":462},{"id":461},"takeaways",[463],{"type":95,"value":464},"Takeaways",{"type":90,"tag":355,"props":466,"children":467},{},[468,480],{"type":90,"tag":359,"props":469,"children":470},{},[471,473,478],{"type":95,"value":472},"A repeatable pattern for ",{"type":90,"tag":98,"props":474,"children":475},{},[476],{"type":95,"value":477},"remote hardware feedback loops",{"type":95,"value":479}," with agents",{"type":90,"tag":359,"props":481,"children":482},{},[483,485],{"type":95,"value":484},"Pointers to ",{"type":90,"tag":98,"props":486,"children":487},{},[488],{"type":95,"value":489},"public repos",{"type":90,"tag":348,"props":491,"children":493},{"id":492},"related",[494],{"type":95,"value":495},"Related",{"type":90,"tag":355,"props":497,"children":498},{},[499,511],{"type":90,"tag":359,"props":500,"children":501},{},[502,504],{"type":95,"value":503},"Prior talk (agentic Yocto-era workflows): ",{"type":90,"tag":363,"props":505,"children":508},{"href":506,"rel":507},"https:\u002F\u002Fpretalx.com\u002Fyocto-project-summit-2025-12\u002Ftalk\u002F3KKPQM\u002F",[367],[509],{"type":95,"value":510},"Yocto Project Summit 2025.12",{"type":90,"tag":359,"props":512,"children":513},{},[514,516],{"type":95,"value":515},"Product framing: ",{"type":90,"tag":363,"props":517,"children":520},{"href":518,"rel":519},"https:\u002F\u002Fetablone.com\u002F",[367],[521],{"type":95,"value":522},"etablone",{"data":524,"body":525},{},{"type":87,"children":526},[527,532,537],{"type":90,"tag":91,"props":528,"children":529},{},[530],{"type":95,"value":531},"Alex Lennon has been working with embedded Linux and OpenEmbedded for at least 15 years (possibly longer, but his memory is shot). He's the founder of Dynamic Devices Ltd and delivered a keynote at Yocto Project Summit 2022.",{"type":90,"tag":91,"props":533,"children":534},{},[535],{"type":95,"value":536},"Over the past few months, Alex has been experimenting with AI-assisted development workflows for Yocto projects, learning what works, what doesn't, and where the real productivity gains lie. His recent work includes automated hardware testing, remote target debugging, and power optimization workflows - all enhanced by AI collaboration.",{"type":90,"tag":91,"props":538,"children":539},{},[540],{"type":95,"value":541},"Alex believes the embedded community needs to figure out AI integration together, sharing both the successes and the failures to develop practical best practices.",1784991544217]