Is HSV Color Space Sufficient for Rudimentary Color ID and Edge Detection I want to, as part of a C++ school project (no OpenCV), work with an RGB image taken from a camera filming smarties (round colored pellets) from above and extract the number of candies in each color.

Is converting the (reasonably lit and clear) image to HSV sufficient to perform edge detection (with Sobel on the V channel) and color identification (with H and S), following noise removal and possibly histogram (or other kinds of) equalization? Or should I stick with RGB color space and do more thorough filtering in order to properly isolate the same color of differently lit smarties.  

Hope this makes sense, thank you for your time
The approach seems reasonable.
Indeed doing edge detection in weighted RGB channel is the classic approach (Though you could also employ more advance methods, See Edge Detection on a Color Image).

I think you could achieve great results if you also look specifically for oval shapes then you reduce the chances for false positives. 

Color identification in the H and S channels will give most information (Well, up to differences in luminosity of the color).