Project Planning

10 Jul 2012

So I've switched platforms on my project for the 5th time from PICs, to Arduino, to multiple AVRs and finally settled in on the MBED. This thing does everything I need except think for me, and it does it pretty easily! I have a pretty good grasp on C/C++ and other mid-level languages but I have one huge roadblock.

This project is fairly complex and I am having a bit of trouble figuring out where to start. It uses USB (generic HID/Mass Storage), microSD (the mass storage), a 1.8" TFT, a graphic menu, an external RTC and a few interrupt driven buttons. I've got all of the hardware working and I know (roughly) how to use all of it for what I want. Where I am stuck is on the planning phase. Is there a format or a program that you guys could recommend for documenting the flow of my software?

I've tried using flowcharts but this project is quickly growing out of hand! I was just wondering if anyone could recommend either a software package or a method for organizing other than the flipbook of flash cards I'm working with now!

(I'm a Linux user so if it is software then native software is preferred but I do have a Mac and Windows 7 box if I need them)

Thanks, Matt

10 Jul 2012

Hi Matt,

Welcome to mbed, I'm glad to hear you are enjoying it.

For planning software, especially if you're working with other people in the same room, I think a whiteboard is a really good approach. It means you don't have to learn a user interface in order to express your creative side. Taking photos at important stages is good for longer term storage.

If you have to use a software package to produce diagrams that are easier to save and share online than photographs of a scribbles on a whiteboard the diagram tool that seems to have the largest market share is Microsoft's Visio which I think is available on Mac as well as Windows. On Linux I've used:-

  • Dia - isn't pretty but you can get the job done with it
  • yEd - powerful at laying things out, but feels a bit limited somehow.

On Mac I've used OmniGraffle, which has a very slick interface and is quite flexible.

You can check http://alternativeto.net/software/microsoft-visio/ for alternatives to Visio.

Those tools are useful for planning software, but for documenting you might prefer to have something searchable. This cookbook page may be useful to you http://mbed.org/cookbook/Documenting-a-Library

I hope that helps.

Steve

10 Jul 2012

Thank for the suggestions, Stephen!

I'm going to browse through those alternatives and check out Dia/yEd. I'll be working on this project solo but there are so many moving pieces that figuring out where to start has been my biggest roadblock! Got all of my components working then couldnt figure out where to go from there!

Hopefully this menu system I'm working on will be portable enough that I can share a library with all of you.

Thanks, Matt