Describing a crush (but he doesn't realize is a crush) sounds like a good idea. He just thinks he's so smart and cool and funny and awesome and he wants to be around him all the time.
You can also play with gender nonconformity, which I personally am in love with. You could always go with camp interests, mannerisms, and appearance—which would definitely signal that he's gay—but there are a multitude of other ways to mess with traditional masculinity that won't take your character in a camp direction. All you would need to do is make a point of characterizing him as especially sensitive and creative, I would get it...although that might have something to do with being queer myself, and having spent a lifetime analyzing every book, TV show, and movie for homoerotic subtext. I tend to pick up on things as evidence of gayness where perhaps none exists.
If you just want an incidentally gay character, you can avoid making a plot point out of his homosexuality by setting his coming out a few years in the past when he was 11 or 12, which is more plausible if he knew the whole time that he had a super chill, supportive family. Then you can include some info that establishes him as gay without needing to make a big deal out of it, for instance he might have a crush on a classmate, or glue pictures of James Franco into a notebook, or just discuss/remark upon the attractiveness of peers / celebrities / strangers the way that teenagers do. Or maybe he just REALLY wants a boyfriend, and is angsting over the fact that it seems like he will never have one, possibly because of his disability.
Essentially, the only way to for-sure tell the audience he's gay without ever saying it is through gender expression, although I suspect you MIGHT have to resort to rather anvil-ey character traits (such as being highly fashion-conscious, and having a love of musical theater) to make sure everyone understands. If he's openly gay, and everybody knows and nobody cares, you'd still need to come up with a way to introduce it into the story, but you'd have a lot more options for how to do so.