Add beans to a large bowl, cover with water and soak overnight according to package directions. Drain and rinse.
Add beans along with remaining ingredients to a large slow cooker. Cover and cook on low for about 10 hours or on high for about 6 if you using dried beans. If using canned beans cover and cook on low for 4-5 hours.
Remove ham bone. Taste soup and season with additional salt if needed.
For a thicker/creamier soup - Scoop 1 cup mixture of beans with broth and place in a blender and blend until smooth. Add more liquid if mixture is too thick in blender. Stir back into soup. Reduce to warm and cook for about 30 minutes longer. This will make the soup nice and creamy.