-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 hello Karl! i haven't had time to dig into this much, but one thing stuck out to me in how you're using the FTDI content and functions. here you initialize the ftdi_content, but are using a local structure variable: https://github.com/xloem/brainflow/blob/ecd1049f3a4146bd24a0b21f50b5267eb1d6... once you return from LibFTDISerial::is_libftdi () function, the ftdi_context will be destroyed. you'll notice that this context must live as long as the process, otherwise references to it will become invalid, leading to stack / heap corruption. for example, this usage calls from main(), where the ftdi_context will exist as long as the program is running: https://github.com/punyal/Contiki_3-IPsec/blob/93130cd1123f362594e915283dbf7... you could solve this by declaring a static (global) ftdi_context, however, this entails locking / concurrency concerns. i hope this helps. perhaps later this weekend i dig in depth into your problems. best regards, -----BEGIN PGP SIGNATURE----- iNUEAREKAH0WIQRBwSuMMH1+IZiqV4FlqEfnwrk4DAUCYDksRF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0NDFD MTJCOEMzMDdEN0UyMTk4QUE1NzgxNjVBODQ3RTdDMkI5MzgwQwAKCRBlqEfnwrk4 DJSNAP4/21OaXu96TS2w7kZGQhurSOQilGQ+ZA4g6TllSIKUVgEAzbeQ7/hmf3Nw eZfqr5al/5d5LZF3bFcfKqJ1E1fmh8s= =EkrV -----END PGP SIGNATURE-----