The night before you make the soup, pick through the beans and remove any bad ones. Put the beans into the pot and add 2 quarts of water. Remove the beans that float. Allow to soak overnight. Drain.
Place the ham bone in the bottom of the slow cooker pot. Add the soaked beans, all the peppers, onion, tomatoes, chili powder, and garlic. Add water, just enough to cover everything. Put on the lid and cook on high for about 6 to 7 hours or on low for 9 to 10 hours, until the beans are tender.
About 1 hour before serving, add the salt and fresh ground pepper. Stir and put the lid back on.
Turn off the heat and ladle into bowls. Serve with cornbread.