@ogiewon posted about a great library and device types he created with his son.
It’s EXACTLY what you are looking for!
Check it out.
Todd