starting block.jpgThanks to the NYC Maker Faire this weekend, there has been a lot of discussion of new project ideas becoming a reality.  With the wide array of different development platforms that are coming out for FPGAs, Microcontrollers, and even complete computing solutions, there is always a system out there to be explored.  It can be intimidating to approach such a wide array of possibilities, so what is it that makes for the best first projects?


The most important aspect of any project is the designer's passion for getting it done.  It is rare to come across a project worth doing that goes exactly as planned.  The problems that crop up when making something new can be quite trying, and motivation is the only way to make sure an idea becomes a working prototype.  So what might encourage someone to face frustrating setbacks other than a paycheck?  Making something that can be used for a purpose.  Telling everyone about the cool project that will be done can shame a person into delivering.  Or for an experienced designer starting with a new system, learning about what it can do better than any other solution can result in some pretty fantastic design ideas.  Whatever the reason, it is best for a designer to recognize and capitalize on the feeling to get stuff done.


When the idea of the next cool project starts rolling around a designer's head, it is important to set a preliminary goal.  Blinking an LED, spinning a motor, or activating a buzzer are all excellent ways to start on solid ground for development and give a sense of accomplishment quickly.  Most platforms offer a getting started guide with suggestions for first steps, with some better than others.  On the road of angry engineers abandoning projects, many will tell you about how the basic parts of the system never even blinked an LED!  Finding a project that lets a designer experience or eliminate failures at the earliest possible point saves projects.


Another key aspect of starting a happy relationship with new platforms is finding out how supportive the community is of new designers.  After internet searches, forums are the best way to get help when learning a new product; many of them teaming with users looking to help others get into designing. Raspberry Pi is a good example of a vibrant forum as is TI's e2e community which has actual TI employees offering help on topics to prevent questions from going unanswered.


The last important characteristic of a platform's explorability is the number of projects that have been published with full documentation.  Most manufacturers need to make compromises when implementing their technology with standard subsystems such as SPI, I2C, USB, etc... This can result in unique requirements that may include quirks.  The best way to understand what might be wrong with a design is to review how others have done similar tasks.  Silly things like the order of initialization of peripherals can derail otherwise perfect code.


Finding a project that can get a cool job done, with concrete milestones, supported by a community and other designs are the makings for a killer experience with a new technology.  Once complete, the designer will be in a great position to post their design and answer some questions for other newbies!