This is really hard. If you give it to him he will feel really bad especially if you did not mention to him that you had made him something when he told you.
I like the idea of giving it to him as a gift not at Christmas - that way you still give it to him but he won't feel so bad and he can buy you something as a surprise when he can afford it. I think you should respect his wishes