I wasn’t setting the ID into the my_post array.
I’ve added that in and it works now for both new and updated posts. Weird how it updated for existing items but now new items.
if ( get_post_type( $post_id ) == 'equipment' ) {
$my_post = array();
$my_post['ID'] = $post_id;
$my_post['post_title'] = get_field( 'name', $post_id );
wp_update_post( $my_post );
}