Place the beans in a large bowl and cover them with cold water. Set them aside and let them soak for 5 to 6 hours or overnight.
Drain and rinse the beans, and then place them in a large pot. Add the garlic, green, orange and red bell peppers and the onions. Cover them with about an inch of water, and then add the ham hock or bacon. Next add the chili powder, cumin, salt and pepper. Stir to combine, and then bring the mixture to a boil. Reduce the heat to low and simmer the beans until tender, about 2 hours. Check the liquid level about halfway through the cooking process; if you'd prefer the beans to be less soupy, you can ladle off about a third of the cooking liquid.