Picked up a few great tips from today's Embed with Elliot (Debounce your noisy buttons, part II) and the buttons are now all nicely de-bounced. However I was a little premature moving onto the major improvements. This required some GIT voodoo the outcome of which all major improvements are now on the ng-dev branch and master is back to being the stable released branch.
So with the changes out of the way tags have been pushed for release 0.2 which fixes the bouncing issues with buttons. There is still one outstanding issue relating to the start/stop button, it's not possible to really de-bounce this button once DDS generate has started so I've simply added a 1/4 second delay to give the user time to release the button.
The next generation of the firmware does present some issues and I'm considering starting a new project entirely to build a DDS generator from scratch but utilising two micros, one for DDS generation and one for the UI. This would allow for much nicer UI interaction and to make on the fly changes to frequency. I believe sweep functionality can be easily added to this solution however which would greatly improve the usefulness of this product, that however will be the last improvement I will make.