Years ago I assembled my own using an Arduino, and used the upper one from this page:
https://ecomodder.com/wiki/MPGuino
The one in my current car is a pre-made one. I bought the parts to assemble a new one but managed to get a pre-assembled from a forum member right before I started assembly.
The functionality for all of these is close to the same. Here's what mine looks like right now: