Firstly I just want to thank those that have contributed to and been involved with the organisation of this competition, there has been some really interesting content posted over the last few months.
As far as my project goes I'm pretty happy with where it has ended up, I have a solid hardware design and a bunch of clean code to progress the whole thing from. In my final post for the comp I want to give and overview and summary of where things are at, and hint at where they might go in the future.
I've used, abused (and had gather dust) a bunch of development kits and boards over the years, the pioneer kit is definitely at the top of the pile. It allowed me to get up and running quickly, with no messing about in setting up programming/debug environments. Software-wise creator is pretty good to that end. I think there's always a risk with development hardware that they just end up being chip carriers or on the flip-side vastly too complicated. Both of these can be deal-breakers when the whole point of them is to evaluate a technology, if one can't do that quickly or what's provided doesn't have enough features to do so then people will move on to something else. The pioneer kit hardware has the balance reasonably close to ideal in this regard. That being said some of the connectors and connector layouts seems a little arbitrary (yes I know primarily one would use arduino shields but the connections beyond that compatibility don't make a huge amount of sense, particularly the off board programming connector). Further the power configuration and fit/no-fits I think are overly complicated, or could be substituted for configuration switches removing the need for solder re-work. The limited support for stand-alone SWD targets (ie. to psoc4s only) is also a mark against.
I understand fully that there were likely many other constraints and compromises made in the design of this board that I'm not aware of, this is simply my personal experience, and undoubtedly others will have used this hardware in other ways that will have exposed other strengths and weaknesses.
Smart bicycle light concept
I've tried throughout to extend the simplicity of what is essentially a bike light you can forget about down to the nitty-gritty of implementation. This meant minimising hardware componentry where possible (a good example of this was ditching the body touch sense in favour of a mechanical tap gesture for user input), and making the most of the Psoc architecture to keep lines of code (at least ones that aren't auto-generated..) to as low a count as possible. The result of which is well on the way to meeting the original spec, with some nice additions along the way (the 'free' low-overhead kind, not the scope-creep-kinda-too-late-but-will-do-it-anyway kind).
As it stands I have code that is in my mind ~90% production ready running on a stand-alone target board that 100% represents the production electronic design schematically. It will currently:
- Turn on when it's dark, mounted to the bike and movement is detected, making a sounds when it does so
- Turn on manually when the body of the light is tapped twice (like a double click on a mouse)
- Turn off after a period of no movement, light or when removed from the bike, making a sound when it does so
- Flash in a number of different modes (fast, slow, glow, alternating colour, rainbow, solid)
- Change and store flash modes when the light is on and the body of the light is tapped twice
- Change it's primary colour based on orientation, white when horizontal (mounted on handlebars), red when vertical (mounted on seatpost)
- Charge it's battery when connected to a USB port or charger, and indicate charge level on the LEDs
- Audibly alert the user to a low battery when it turns on
In the coming weeks I plan to get to work on bedding down the mechanical design, enough so at least I can build some mockups/samples from prints. If all goes well I may then look to crowd sourcing a production batch, obviously this is not as simple as it sounds and there are many things to be considered for that to come off. But working towards putting together a pitch is a good way to continue. Beyond that there may be a spin of production electronics of a given form factor (probably ~ the size of the battery in the pic above) and testability, testing, sourcing, specifying, tooling, testing, testing, compliancing, testing and producing...
Thanks again everyone for your input. I'll be sure to give updates on any progress here.