please understand I am not being a total dick (ok I am a bit) but seriously you need to understand basic concepts before rewriting a core
I have been a arduino user for just under a year, and a microcontroller user for just under 2, I barley understand the core stuff
now thats not to say I am GOD! and anyone should be beneath me given the same amount of time, but I have been "programming" since a little before your age, in the 1980's, and I have education in the general subject
personally if your not able to google open source source code that is even pre-compiled for you in a hex file on the main darn page, nor look up beginner tutorials on this beginner oriented website, then you just might be stepping out of your comfort zone for what you have planned
if you wish to design a board, you can! please do so! the electronics of the arduino are basic and a good starting point to learn whatever electronics CAD package you wish, make a custom board be happy with it, and hope others will to, crap man its a decent idea until you step out of your zone
and finally get an idea and stick with it, its amazing to see the amount of idea's you have had over the last couple of months while I was working on a single thing
yes we all have ideas that pop up during another idea, write it down save it for next or else you end up with a bench full of half completed non functional "crap"
As a participant of ludemdare, which is a 48 hour, from scratch, game dev competition, just seeing an idea from start to your goals is unworthy of any other experience, no matter the obstacles or grief...
even if you crap out the worst thing in your life its "finished" its done on a retarded schedule and its yours, I gain 5 years of project experience every time I do one
make a goal in your level of knowledge, set a time table, and beat it with every project, even if its not perfect just get it done (and fiddle with it later)
by the time your my age you will be sitting pretty phat in life, I guarantee it
your not dumb, your just unfocused, and that is worse IMO (cause your wasting your talent), but its an easy thing to fix, just work at it ![]()