(Complete list of all blog entries in this series)
As I already mentioned in my last post, I did not achieve all my original goals for this project. I'm not sure how this affects the outcome of the challenge, but SkiMon should also satisfy a personal need. So I would like to outline what my personal vision for this project is, what I see as next steps for continuing with development and where I see it finally.
Shrinking the hardware
SkiMon as it is now is still too large to be easily usable. While its already quite small, it should be as small as possible to not influence the person that is wearing the device. So I started planning how to shrink it down.
For the challenge I used an off-the-shelf wireless charging system. While its one of the smallest I could find, it still requires significant space for its PCB coil. So for the final version I want to change the charging to a Qi-based solution. There is a Qi reference design from TI which uses a small 26mm coil. Even when not using the BGA package as TI did (and using 0603 parts) it should fit into 20x10mm board space.
The ADP162 as LDO would still be the same, there is not so much board space to save here.
When working on the first version of my PCB the biggest problem was around the PSoC4 BLE. The breakout board on the BLE Pioneer kit uses mostly 0403 components which are still too small for me to handle - 0603 is the best I can do, and 0805 is preferred. Fortunately for me in April Cypress announced the EZ-BLE module. This is a 10x10mm module with a PRoC BLE, all needed passives and a chip antenna. It is way smaller in terms of board real estate that what I could achieve. So this module will be my BLE solution for now.
So my final schematic looks like this:
Its less crowded than the last version since all the support circuitry around the PSoC4 BLE is now in the EZ-BLE module. My current PCB size is only 28x35mm which nicely fits the coil and the battery I'm using:
In the bottom left there is a CapSense button which is, together with the two LEDS, the only user interface elements thats needed. In 3D rendering this side is only sparsely populated:
In the bottom left there is a free area, which ensures that the antenna of the EZ-BLE on the other side is not disturbed. The pads above that are a programming header (5-pin MiniProg3) and for a UART debugging output. In a final version they could be removed.
The board layout and routing is probably not optimal, but I wanted to have as less components of the front side as possible since it acts as user interface.
Since the pitch of the EZ-BLE module is 0.76mm it should be better so handle than the ADXL chips with its LGA package. All passives are 0603. This is small, hand-soldering will be difficult but doable.
So in its final form SkiMon will be about 30x35mm and 10mm think (4mm for the battery, 2mm for the coil, 1.6mm for the PCB, 1.6mm for the EZ-BLE module as the thickest component and 1mm for the LEDs. There would be no special case needed, it can be potted completely in clear resin.
Improving the software
First task for the software is stabilizing the connection handling. Sometimes the timing of a re-connect seems to lock up the App, so this needs to be more robust.
To implement the alert function the SkiMon device should know the current time and date. There is already a BLE profile for that, which is also supported by the PSoC firmware. But on Android there is no default time server so I need to implement that. Then the alert function would be the first real feature to add.
I could also look into further reducing the needed current. In hibernate maybe not everything that can be switched off is really turned off. And when running maybe I can go to sleep mode more often and longer.
Final thoughts
I already wrote that I achieved about 70% of what I originally envisioned. Finishing the PCB work and adding the alert feature will bring this to 100%. This not so much anymore, but now I can take a little bit more time.