If you plan on DIYing a good scanner is a must have tool.
https://www.carsoft.com/bmw-sb/bmwpro20.html.
https://www.foxwelldiag.com There are others, even the BMW diagnostic software but last I knew it required a Windows based laptop with old version of software. Many use a dedicated laptop as it takes a considerable amount of memory.