====Writing Code==== * Learn how to code and learn the basics of (FastLED) first. There's lots of examples online. * Break it down into individual components (i.e. buttons, IR, LED's, Bluetooth, serial communications, demo sequences). * Create test 'jigs' and programs for each component. * Slowly combine the functionality and make sure you incorporate lots of testing. * Learn to use git for version control. * Be prepared to throw it all out and start from scratch with your newly acquired knowledge. * Oh, and if you're using delay(), be prepared for your button polling or other input routines to be unreliable. * Learn how NOT to use delay() statements. * Comments are a thing. Use them. * Keep your loop simple. Put stuff in functions. ====Code Style==== * variables start with lowercase * Constants start with uppercase * Definitions are completely uppercase