François Baldassari from Memfault on IoT Observability
Feb 15, 2023
auto_awesome
François Baldassari discusses the evolution of firmware development and advancements in technology. The use of Python and interpretive languages in embedded software engineering is explored. Challenges faced while building Memfault, the importance of tools in agile embedded software development, and the difficulties of memory management in the embedded software industry are discussed. Memfault's products and services for IoT observability and iteration are highlighted.
Memory management and bugs caused by C programming language are common issues in the embedded software industry.
Code space limitations can hinder agility in embedded software projects.
Embedded software security and privacy are areas of concern as more devices become connected to the internet.
Deep dives
The struggle with C programming language
Many companies in the embedded software industry struggle with memory management and bugs caused by the C programming language. Use after free bugs, stack overflows, and null pointer references are common issues that every customer faces.
Code space limitations
Approximately a third of Memfault's customers face code space limitations in their projects, running out of code space and needing to accommodate additional functionality in a constrained environment. This can impact their ability to iterate and be agile.
Security and privacy challenges
Embedded software security and privacy remain problematic areas in the industry. Many companies lack established best practices and struggle to keep customer information secure. This is particularly relevant as more embedded devices become connected to the internet.
Observability and feedback
Memfault focuses on providing observability and feedback tools for embedded devices. They collect feedback from the field and customers, use observability tools like Sentry and LogDNA, and employ continuous testing to improve their product quality.
Memfault's products
Memfault offers three main products: a software delivery mechanism, an OTA platform, and a device debugging tool. These products enable customers to iterate more efficiently, ship firmware updates more frequently, fix bugs faster, and gain insight into their device performance in the field.