Jacob Beningo
Jacob Beningo is an independent consultant and lecturer who specializes in the design of embedded software for resource constrained and low energy mobile devices. He has successfully completed projects across a number of industries including automotive, defense, medical and space. He enjoys developing and teaching real-time and reusable software development techniques using the latest methods and tools. He blogs for DesignNews.com about embedded system design techniques and challenges. Jacob holds Bachelor's degrees in Electrical Engineering, Physics and Mathematics from Central Michigan University and a Master's degree in Space Systems Engineering from the University of Michigan.
Getting Started with Embedded DevOps using Gitlab CI/CD Pipelines
Status: Available NowContinuous Integration and Continuous Delivery (CI/CD) have become critical tools to IoT edge device developers. In this workshop, participants will delve into the fundamentals of Embedded DevOps by designing and implementing their own CI/CD pipeline using Gitlab.
Attendees will gain practical experience in configuring build systems, designing a CI/CD pipeline, and implementing it. (At least as much as can be done in a few hours). We’ll explore how to containerize your build environment in Docker, so that you can easily integrate it into an embedded CI/CD pipeline. You’ll also learn how to use Visual Studio Code to seamlessly integrate your build processes within a single environment.
Attendees will walk away with a basic, but functional CI pipeline that they can easily scale to meet their needs.
Key topics covered in this workshop include:
- The role of DevOps in Edge and embedded system development
- CI/CD pipeline design for embedded systems
- Containerizing your build system in Docker
- Set up and deployment of CI/CD solutions
- Best practices and steps to go further
Building IoT Machine Learning Applications using the Raspberry Pi Pico
Status: Available NowMachine Learning is finding its way into various microcontroller-based IoT devices. Unfortunately, embedded software developers typically aren’t experienced in machine learning, making designing these new device types challenging.
In this workshop, attendees will learn hands-on about machine learning using the inexpensive Raspberry Pi Pico. We will introduce machine learning concepts and how they affect embedded software developers. Attendees will then get the opportunity to collect their dataset, train, and deploy a machine-learning model to their Raspberry Pi Pico.
Topics covered in this session include:
- Introduction to machine learning
- A Raspberry Pi Pico overview
- Hands-on data collection and model training
- Model validation, testing, and deployment
- Next steps
The hands-on portion is optional, but if you wish to participate, the following hardware will be required:
- https://www.digikey.com/en/products/detail/raspberry-pi/SC0915/13624793
- https://www.digikey.com/en/products/detail/seeed-technology-co-ltd/105020012/5973992
- https://www.digikey.com/en/products/detail/seeed-technology-co-ltd/103100142/13688265
- https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/5-826936-0/2276291
We will discuss several machine learning frameworks and tools, but the hands-on piece will use Edge Impulse Studio.
Tips and Tricks for Designing Real-time IoT Systems
Status: Available NowIoT devices are becoming more complex and compute-intensive with every passing month. Keeping up with customer needs and requirements requires a design that is not just updatable and robust but also scalable and configurable.
In this session, we will explore practical tips and tricks for designing real-time IoT systems. Major topics that we will discuss include:
- Challenges facing IoT Developers
- Software architecture design
- Identifying and leveraging execution domains
- Device security
- Low-power design techniques
Best Practices for Designing IoT Edge Devices (2020)
Status: Available NowDevelopment teams are always under pressure to deliver faster and at lower costs, but this is becoming more challenging as system complexity has risen exponentially with features for IoT and Machine Learning. The increased complexity can easily handcuff a development team and lead to not just longer development cycles with higher costs but also lower quality products.
In this session, we will explore best practices for developing real-time embedded systems that will help the modern developer stay on track and produce a quality product within their development cycle. We will explore best practices ranging from how to properly architect a system for scalability, how to manage a development cycle, secure and test a system. We will also discuss best practices for using frameworks and open-source software.
Live Q&A - Best Practices for Designing IoT Edge Devices (2020)
Status: Available NowLive Q&A with Jacob Beningo following his talk titled 'Best Practices for Designing IoT Edge Devices'