OnCollision Enter function is not being read

I have a cylinder and a cube. This script is attached to the cube so it will change color upon collision with the cylinder. The OnCollisionEnter function is not being called at all, even if I just have it print. I have tried almost everything. Both of these objects are rigidbodies and have colliders attached to them. Any help would be appreciated, thank you.

public class cylindertarget : MonoBehaviour
{
public Color EndColor = Color.red;

void Start () {

}

void onCollisionEnter(Collision col)
{
    if (col.gameObject.tag == "Pickupable")
    {
        Debug.Log("hit", gameObject);
        gameObject.GetComponent<Renderer>().material.color = EndColor;
    }
}

}

Make sure the tag is right and rename onCollisionEnter to OnCollisionEnter.