Update 1 - Crown Tools and Heart Reactor Project Introduction
The Crown Tools are going to monitor helmet impacts that athletes might encounter and transmit results via Bluetooth to an android smart phone. Analog Devices is supplying phenomenal sensors and a great MCU, so the major problems for this challenge will be packaging and learning the development tools. Packaging accelerometers in a helmet such that the readings will accurately indicate what trauma the head is experiencing is a very difficult physics and biomedical engineering problem. It is also a difficult mechanical engineering job and a difficult electrical assembly job requiring soldering of BGA packages. Of course, since it is mounted on the head, it needs to be small and light weight. To keep the system weatherproof and ergonomic, the Lithium polymer battery will be charged wirelessly using a Qi charger. The Crown Tools are shown as a translucent module on this hockey helmet. The IG (eye g) on the helmet stands for High-g. (My internal code name for the project)
The Heart Reactor is going to monitor heart rate during exercise on an stationary bike or while rowing. It will have its own chest display for hands-free operation, as well as transmitting results to a smart phone. Hands free operation is important in sports like rowing. Analog Devices is supplying sophisticated analog signal conditioning circuitry and an MCU module so the main challenges here will be software and designing a comfortable body mounted system with low pressure electrodes. The system will not try to hide unobtrusively, as the circuitry resides on a couple of different circuit cards, but rather will include a flashy cosmetic external shell that looks similar to the Iron Man Arc Reactor. Note the heart rate display is upside down to allow the wearer to read it by glancing down.
Since I play hockey every week all year, I expect to mount the Crown Tools on my hockey helmet and view results on my smart phone. I certainly would not be looking to bang my head, but I can capture some video of the device in a hockey game and separately show video of the helmet and sensor sustaining impacts without a real head involved and of course show the resulting impact information.
The Heart Reactor will be easy to video on my exercise bike.
Update 2 - Heart Reactor System Design & Mechanical Drawings
The project kit has not arrived, but the design continues to take form.
Some extra materials have been ordered, including plastic filament, Bluetooth modules, LEDs, Qi wireless charging transmitter and receiver, BGA reflow nozzle, EKG electrodes and cables. Also compiling a list of materials to order from E14 such as extra sensors, MCUs, LED drivers and 3D printing supplies.
The Heart Reactor packaging design is progressing despite not having a 3D printer yet.
In addition to displaying a numerical heart rate, I expect to be able to pulse the reactor LEDs in synch with the heart beat.
Here are a couple of 3D components - the glow ring and the display turret - as they stand now:
Update 3 - 3D printing tests and preliminary electronics design
The translucent PLA has come in so I have been able to print the reactor ring and display turret. Here is a picture demonstrating how the material transmits and diffuses light, although the final light source will be more concentrated in the outer ring and some of the features will be coated with metallic paint. The 3D printing process is shown in more detail in my 3D printing road test here:
The Heart Reactor schematic and PCB layout are a few days away from being completed.
Update 4 - Heart Reactor preliminary 3D printed parts and painting
Proceeding with what I can without the project kit, here is a picture of the Heart Reactor with copper and silver added:
The next step will be an inner bezel. Also although I have ordered some materials and components from third parties, the order with e14 is still being finalized as the design solidifies.
Update 5 - Heart Reactor 3D printed parts with inner bezel
Here is a picture of the Heart Reactor with inner bezel:
Update 6 - Heart Reactor electronic design and PCB layout
The heart Reactor schematic and PCB layout have been designed using an ARM Cortex M0 MCU module, but I need to confirm the hardware pinout configuration will compile before I have the PCB fabricated. The MCU is one I have in stock since the project kit has not arrived yet and the Analog Devices MCU module looks too big to fit in this form factor - and the project is just too big and the risks of failure are too large and the time is already too short to wait for things to arrive before starting detailed design.
I will post an update to the layout image if the layout needs to change based on compiler issues.
Note the circular PCB has 10 LEDs around its circumference to illuminate the outer ring of the reactor. This module interfaces to the Analog Devices heart rate monitor module and temperature sensor module as well as an LCD.
Hopefully the project kit arrives soon as the Crown Tools (helmet G sensor) part of the project really needs attention - because there are even larger risks with that part of the project and I need to become familiar with all the Analog Devices components, modules, sub systems and development tools.
Update 7 - Heart Reactor firmware development system and preliminary test firmware
Here is a short video showing some initial firmware to implement a large font to display heart rate on the Heart Reactor. At this point the firmware is simply incrementing the display count twice per second. The connections are just breadboarded to prove the connections work before I commit to ordering the PCB above. This is a pretty big milestone - the development system is working and uploading functional code to the MCU - which is driving the real LCD - which fits properly in its final package. There are still a few risks remaining with the heart pulse sensor (which has not arrived), the power supply and the Bluetooth app, but there are no visible show-stoppers on the Heart Reactor at this time.
The next steps are to order more components and a PCB while working on more complete firmware.
Update 8 - Ordering parts and mechanical fabrication
Ordered some more components including an Analog Devices heart rate chip in case the kit doesn't get here in time.
Worked on some more mechanical details and tapping mounting holes on the Heart Reactor - there are lots of details and they all take work.
The PCB will be ordered tomorrow.
Update 9 - Heart Reactor progress report - heavily into detailed design
There has been lots of work in the past couple of weeks, but not much is ready for publication:
Ordering parts - I think most parts are on order now, including an android tablet - I hope so because it is getting quite expensive. There is still no delivery or schedule for delivery of the Challenge kit of parts, modules and instrumentation, but I have ordered the same sensors independently so I am not so dependent on the kit.
Designing - The Heart Reactor pcb is on order. The schematic for the Crown Tools is about 60% complete and the PCB layout is about 20% complete. I have decided to embed an LCD in the Crown Tools because I really don't want to be taking a smart phone out to the bench when I play hockey and in most amateur sports there isn't going to be somebody to monitor health from the sidelines. Software is receiving significant thought, but documentation is sparse.
Testing - I have tested the Qi wireless charging transmitter and receiver for the Crown Tools. I have tested the LCD up to 800 g so it should survive most indirect impacts.
Documenting - I have written a few pages of analysis and explanation on how to measure head trauma - this paper is about 70% complete.
Packaging - I have been working out how the packaging will work for the Crown Tools system, but my 3D printer is back to the factory for upgrading to a production version, so I haven't started printing the housing yet.
The Heart Reactor hardware is about 80% complete, but still needs to be built and tested.
The Heart Reactor software is about 20% complete and the completed portions are tested.
The Crown Tools hardware is about 30% complete.
The Crown Tools software is about 5% complete.
As much work as has been done so far, it will need to accelerate to be completed on time.
Update 10 - Unboxing the Project Kit
The massive kit of parts and instrumentation just arrived from element14, Analog Devices and Tektronix. Here are some pictures of the unboxing...
Note the Tektronix oscilloscope hiding underneath.
This is only some of the modules from Analog Devices...
These are some of the modules associated with the ADUCM350 CPU.
This is the Tektronix oscilloscope that was part of the kit - wow.
Now it is time to get busy and figure out how to use all this stuff.....
Update 11 - Preliminary documentation and first test of the heartbeat sensor
I have been working more on my impact paper that explains the issues and approach to capturing useful impact data.
Now that the Analog Devices kit has arrived, I can show the heart rate module they supplied connected to the Tektronix oscilloscope that also came with the kit.
I don't know where the best locations are to place electrodes, but I am using three electrodes - right arm (RA), left arm (LA) and right leg (RL) connected as shown here:
It is very useful to look at the analog signal to try to figure out how to process the data to obtain an accurate heart rate. Clearly there is a lot of EMG (electromyography) signal as I move around because all muscles generate electrical signals when exercised. This will need to be ignored when trying to detect heart pulse signals.
Here is a video of my first connection of the heart monitor circuit:
Update 12 - design of the Crown Tools circuit and PCB layout
The second microcontroller schematic and PCB (for the Crown Tools impact system) have now been designed - I will give it a final check tomorrow before fabricating. This card will use the Analog Devices ADXL377 tri-axis accelerometer.
The other PCB (for the Heart Reactor) should arrive in the next few days so I can start soldering components and testing the circuitry.
Update 13 - Assembly of the Heart Reactor circuit card and initial circuit tests of the CCA (circuit card assembly)
The Heart Reactor PCB has been fabricated with a white solder mask to enhance LED reflections. I have assembled pretty much the entire circuit card assembly except for the out ring LED driver which has not arrived yet. The LEDs are soldered and they work - just missing one driver chip. The circuit checks out well so far - powered up with no smoke. Here is a picture of the circuit card as it stands now.
Notes: - the CPU is under the display to save space:
- the bluetooth module is visible below the display
- the unpopulated connector above the right side of the display is for the heartbeat sensor which will be located underneath the circular card
Here is a short video showing the circuit board in operation.
Here is a short video showing the Heart Reactor counting on the display, similar to the breadboard video in update 10.
The next step is to see if I can get the Bluetooth module working.
Then I will try connecting the heartbeat sensor and writing software to calculate heart rate.
Update 14 - Preliminary Bluetooth tests
The following video demonstrates that Bluetooth is now functional and under program control:
I forgot to turn on my video lights, but the camera still managed to capture a reasonable video.
This is a big milestone - all the critical electronics are fully functional and properly interfaced and under computer control. The circuit card has worked flawlessly as designed with no modifications. There is still a ton of other work to be done on packaging and of course the android app, but now the only really significant hurdle is to write the code to acquire heart pulses and extract the heart rate. I am okay with software signal processing algorithms, but the C programming language is still far from my comfort zone.
I would like to get a rudimentary heart rate displayed before the Crown Tools pcb arrives as the head injury side of the project requires a lot more work.
Update 15 - First fully functional Heart Reactor heart rate system tests
The last milestone was big, but this one is huge. I have the complete hardware and software Heart Reactor system working. After studying some EKG signals on my oscilloscope I figured out a relatively simple algorithm to robustly detect heartbeats from all the "noise" on the signal. My first attempt at a heartbeat detection algorithm worked great. I'm pretty used to my circuit boards working first time (not because I am any kind of infallible designer - it is simply because I cannot afford re-spin mistakes and I design accordingly), but I never expected the software to go that smooth. And inevitably it didn't. After I decided to clean up my original code and add a few features and make it a little more robust, suddenly it didn't work and the resulting painstaking troubleshooting took about 8 times longer than the original code. I was wearing electrodes the whole time which is not the most pleasant development scenario, but the electrodes don't stick well if re-applied and I don't have enough electrodes to replace them on every trial - that would have taken scores of electrodes. I switched from the Analog Devices evaluation card to a much smaller card with the same AD8232 chip on it. The signal wasn't quite as good, but that may have been due to my electrode arrangement; however the new card is much smaller and it has a 4 pin audio jack to make connection to the electrodes easier.
I also added a bit of functionality to the Bluetooth software although this video doesn't show Bluetooth operation.
There is still quite a bit of fiddly work to complete the packaging and connect the battery, but that should be pretty low risk.
I may have time to tackle the android app before the Crown Tools PCB arrives. It is going to have to go pretty smoothly from here on to get through both development projects before the deadline.
Update 16 - Android app tests of the Heart Reactor android app
This update is my first one showing my Heart Reactor android app. I figured I better document the fact that it is working before I clean things up because changes have a nasty habit of making things worse before they get better. (maybe it is just my programming style. ... or lack thereof) The app is programmed in MIT's App Inventor. All the code "blocks" fit on one screen - there are only about 30 blocks which would translate into about 19 lines of code - so It is pretty high level programming - a lot going on behind the scenes. The main issue is understanding the App Inventor block connectivity paradigm. I am moving around quite a bit during the video and you can see that my raw heartbeat detection algorithm occasionally cannot distinguish erroneous signals from heart signals. There are still lots of techniques I can apply to clean up the errors, but one step at a time....
This weekend involved a big push to get the Heart Reactor system working so I can start focusing more on the Crown Tools - from Friday to Tuesday I spent over 40 hours on it (and I still found time to play a baseball game on Sunday). Fortunately Monday was a holiday here and things went well enough to reach several key milestones, culminating in fully functional packaging, fully functional hardware, fully functional firmware and fully functional android app - basically full system functionality. There are still dozens of hours left to polish the system up, but it is all low risk activity.
Update 17 - Crown Tools Preliminary Mechanical Design
This update covers preliminary mechanical design of the base used to mount the flat circuit card to the curved helmet.
Apologies for the weird audio - this is my first attempt at using MS Expression Encoder4 and my microphone setup is not great.
The circuit card is "in the mail" as is my 3D printer, so for now the Crown Tools work is all just virtual design.
Update 18 - Heart Reactor Operating Off Li-Po Battery
Since the last update I have started working on the Crown Tools firmware, but just basic configuration and drivers so far. Currently I am a bit blocked from making major progress on the hardware side because I am waiting for parts delivery, actually several different shipments - the big one being the Crown Tools PCB which has been "in the mail" for weeks.
However it is necessary to press on, so I took the opportunity to connect up the battery and charging circuit to the Heart Reactor. In the picture below the blue PCB to the left is a Li-Po battery charging module that works from USB voltages - it will not be part of the wearable system - only plugged in for charging. The battery wrapped in Kapton tape is a 4.2V Li-Po battery. I'm not sure how conductive the surface of the battery is, but best to avoid potential problems by insulating it. The heartbeat sensor circuit on the red circuit card at 1 o-clock is also now wired in instead of connected via breadboard. both of these will be folded underneath the circular card in their own cavity in the finished module. This image was taken with the system running off the battery. (The blue light on the charger indicates the battery is charged)
Hopefully my 3D printer arrives soon so I can print the back plate with appropriate cavities soon.
I also expect the Crown Tools PCB to arrive soon, so I can move that aspect of the project ahead more quickly.
Update 19 - Crown Tools Bare PCB
Well, the Crown Tools circuit board came in, but it must be built in layers and I don't have all the components needed to assemble it, so assembly is stalled until parts arrive. The parts were ordered in January - hopefully they will arrive soon. Here is what the card looks like anyway - with the display just sitting on it:
I'm still working on my head trauma notes - I'll probably post them soon.
Update 20 - Crown Tools PCB Assembly
A large shipment of parts came in from element 14 today, so I can build up the Crown Tools PCB, but there are still a couple of chips missing.
Firmware development is now in full swing as the Crown Tools PCB is assembled enough to run firmware. The Bluetooth antenna is visible on the left and the red CPU module is visible on the right. Hopefully something will be running by the weekend.
Update 21 - Crown Tools Display Working Under Program Control
Next I will print the base holder/adapter that mounts this card to a hockey helmet.
Update 22 - Helmet Bracket
This is the 3D print of the design from update 17, showing roughly how the Crown Tools system will fit together.
Update 23 - Wireless Charging
This short video demonstrates the Qi wireless charging system for the Crown Tools helmet impact recording system.
Update 24 - Crown Tools Tri-Axial Accelerometer First Hookup
I have to keep progressing even though I don't have the FRAM chip yet, I may have to design the software to work without it.
In this video the Crown Tools has the Analog Devices ADXL377 tri-axial accelerometer hooked up and reading data (but not calibrated). I can't really hit it too hard because the LCD is not soldered on - it is just a snug fit in the through-holes (because it must be removed to solder on the FRAM chip)
Update 25 - Measurement of Head Trauma
This update is posted in a separate blog entitled Measurement of Head Trauma - because it is a fairly long discussion of how to measure head trauma by mounting accelerometers on a helmet. Hopefully it will help others tackle this difficult design challenge. Click on the title to read it...
Update 26 - Functional Impact Event Capture & Bluetooth Download
Below is a demonstration of the Crown Tools helmet impact recording electronics and firmware. It is designed to record up to 50 impact events, capturing the time of impact, the peak acceleration and the impact energy of each event. The peak acceleration is the peak of the resultant magnitude calculated using vector addition of the 3 individual axes of acceleration. The impact counter will continue to count events beyond 50 and the display will always display the latest impact event data, but there is not enough memory to save more than 50 events. I may increase this if I have time, but 50 events should be enough for any reasonable activity.
It is near the end of the original March deadline for this challenge and both the Crown Tools and the Heart Reactor have fully functional electronics and firmware and both can talk to Bluetooth devices, so although the deadline has been extended, this project could have been completed on the original schedule. There were the usual development issues and delivery problems and I was pretty sick for a while and did slow down for a few weeks, but it looks like things are coming together quite well, barring any catastrophic failures or external events.
Update 27 - Assembled Crown Tools - Operating
This demo shows the Crown Tools assembled and operating in its 3D printed case. Making everything fit was a little fiddly as I was trying to make the case conform better to the helmet. I have come up with a better solution, but the case still bears the scars from the effort.
Hopefully I will be able to run some tests this weekend with the Crown Tools mounted on a helmet.
Update 28 - Crown Tools Mounted On a Helmet and Initial Drop Tests
In this update the Crown Tools has been mounted on a helmet and initial drop tests are under way.
The gluing job is pretty ugly, but black silicone is very difficult to work with in this type of application.
Note the inner helmet padding has been removed for these drop tests. The drop is arrested by a strong cable instead of an impact pad to prevent the helmet from bouncing off and rolling away.
In that last test, I should have said 95 m/s/s instead of 9.5 m/s/s.
So far the system is working quite well - no technical issues, just some issues getting the drop tests to be consistent.
Controlling the deceleration to accurately reflect a real impact scenario with this apparatus is problematic, but I mainly want to get the velocity to be roughly correct, and this arrangement allows the velocity to be independently calculated simply from measuring the drop height.
The Crown Tools design and build is now essentially complete - just tweaking firmware and calibration.
This test helmet doesn't actually fit me , so I will likely need to remount the Crown Tools on my normal helmet to try it in a game.
I'm not sure it is clear from the video, but the whole system is glued to black duct tape stuck on the helmet - hopefully It can be removed.
I also still have a little work to do on the Heart Reactor LEDs and final assembly will be a somewhat tricky - it needs a harness.
Update 29 - Heart Reactor Base
There are only 4 weeks left in this design challenge, so it is time to clean up the packaging and put everything together. This update shows how the mechanical base of the Heart Reactor is designed. The part was designed using 123D Design as were all the 3D printed parts for this project and all were printed with a Cell Robox printer.
I had an almost catastrophic computer meltdown last week and had to spend some time getting everything working again, but I took the opportunity to improve my microphone - so hopefully the audio in the video is better. So far I have not had to redo any of the 3D prints or PCBs, which is fortunate because there is plenty of work to do without having to redo subsystems.
This video shows the Heart Reactor base design being rotated in 123D:
Here is what the Circuit card assembly looks like mounted in the base with the bezel removed over on the left:
Here is what the Heart Reactor looks like assembled - the black base is not very noticeable:
Update 30 - Reactor Ring LEDs
This is what the Heart Reactor outer ring of LEDs look like when illuminated.
In this picture they are running at a small fraction of their maximum brightness.
Update 31 - Heart Reactor Final Demo
This final demo starts with my heart rate already elevated because I was on and off the exercise bike several times as I tweaked the firmware. The "spectators" in the video are just there to provide something interesting to look at instead of me. The plastic boxes on the shelves are all electronic projects in various stages of development. I have a bunch more up in my computer room, so I think there is only one element 14 project on these shelves. Some day I'll get up the nerve to show what my electronics lab looks like at the other end of the exercise bike room, it might be worth a chuckle to see how much stuff can be crammed into a small space, and it might make everyone else feel good about being able to keep their clutter at lower levels.
Now to wrap up the Crown Tools...
Update 32 - Playing hockey with the Crown Tools installed and operating
I transplanted the Crown Tools to my real hockey helmet for a test in an actual hockey game.
It recorded 11 events during the game with peak accelerations ranging from 2.2 g up to 4.8 g, which means the system is nicely sensitive to small impacts.
The 4.8 g events correspond to falling on the ice without hitting my helmet on the ice - more like whiplash than solid impact, but still anything over 3 g was a pretty good jolt.
Here is an image of the data as displayed on my android tablet back at my house after the game:
Note: I first connected to my Henrietta Project (GPS clock) before remembering which Bluetooth device was the Crown Tools.
The first column is the event number, the second number on each line is the elapsed time in seconds, the 3rd number is the peak acceleration (divide by 10 to get g's - I do this to avoid using decimal points) The last number on each line is the area under the acceleration curve - or equivalent drop velocity in mm/s if it is divided by 2.
The "0" event occurred 6 seconds after power up - I slapped the helmet before putting it on to check that it was recording properly.
This picture shows the Crown tools installed on my helmet and displaying the initial event. Note that the adhesive had not fully cured at game time so I added some black duct tape to make sure it stayed in place. I did not notice the extra weight of the Crown Tools once the helmet was on.
The "1" event occurred at 418 seconds, which was before we got on the ice - my goalie came up to me and whacked me on the helmet with his stick to see what it would do. If I did not have a helmet on, that hit would have injured me, but the helmet did its job and the Crown Tools duly recorded the 19.9 g event.
Here is a picture and short video of me warming up shooting at the net - hopefully it will help recognize me in subsequent videos:
Here is a short video of a scoring chance:
This is a clip of me losing my footing during a shot and going down - which created one of the 11 "events" during the game:
Incidentally we won the game 6-0 ( I got the game winning first goal and 2 assists).
Now that I have demonstrated both the Heart Reactor and the Crown Tools in action in their intended applications my project is mostly concluded.
I expect to clean up the documentation by listing the Bluetooth commands for each device and writing a brief project summary, so update 34 should be the final installment.
Update 33 - Second Hockey Game
I played a second hockey game last night with a different team (I play on 2 hockey teams). My videographer was not available, so no video, but the Crown Tools worked fine. As this data shows there were only 4 "hits" excluding my initial helmet slap (event 0) to verify system operation.
That first hit at 6.2 g's was pretty significant, perhaps not for concussion, but 6.2 g's recorded is the whiplash acceleration - there was no impact to the helmet, making my head feel like 6 times its weight to my neck. My neck is bordering on being sore today, so 6 g's is about the limit for me for onset of whiplash. These kinds of facts are kind of useful to know. I have to play softball today, which always results in many more injuries than hockey, partly because we don't wear as much protective gear. However I won't be wearing my Crown Tools helmet for softball. I guess update 34 won't be my last after all - I still have a few things to document.
Update 34 - Installation of Crown Tools
The curvature of the Crown Tools was designed to fit a particular helmet, but every helmet is different and I had to install it on two different helmets.
Originally I was going to use 3M VHB double-sided tape to hold the Crown Tools on a helmet, but this tape is very difficult to remove, so I ended up using black duct tape and silicone. First I covered the installation area with black duct tape stuck directly to the helmet so everything could be removed simply by peeling off the tape. Next I coated the underside of the Crown Tools with GE Silicone II (black) with enough silicone to fill in any gaps between the curvature of the Helmet and the curvature of the Crown Tools, plus I spread a thin layer of silicone on the duct tape. Then the Crown Tools was squeezed in place and the silicone was allowed to cure. Note that it is critical for the area under the accelerometer to have full silicone coverage. The silicone does not form a great bond with the duct tape, so I also tape the mounted device to the helmet. Also note the sticky side of the duct tape will not stick to silicone, so some of the tape should be stuck to the PLA plastic of the Crown Tools case.
Update 35 - Rigging the Heart Reactor
The Heart Reactor has mounting holes for metal "buttons" that would connect to a harness that has corresponding button holes. I bought the metal buttons and then decided it would take less space to use a string harness on the back of the Heart Reactor. I used a simple neck strap made from a skate lace to hold the device in place. I had a chest strap as well, but it was not needed. I used an old T-shirt to cover the strap and poked holes in it for the neck strap and the electrode cable.
This image shows the rough locations and colour coding of the 3 electrodes which would be on the skin under the shirt:
Red - Right Arm
Green - Left Arm
Yellow - Right Leg
Also the little square USB-powered charger module (located under the red electrode) is plugged in showing the location of its connector on the Heart Reactor. It has a blue LED illuminated in the above picture signifying the battery is fully charged.
The charger module started as a very low cost circuit card. I 3D printed the translucent case using clear PLA.
The picture below shows the charger with a red LED illuminated - signifying that the battery is still charging:
Update 36 - Bluetooth Commands
This update is just to document the various Bluetooth commands for both the Heart Reactor and the Crown Tools. The Bluetooth pairing code in both cases is "1234" All commands are initiated with a single ASCII character usually the lower case and upper case character map to the same command.
Heart Reactor Commands:
|Command Character||Alternate Character||Command Description|
|h||H||Send heat rate in beats per minute|
|t||T||Send temperature in degrees C|
|b||B||Send battery voltage in millivolts|
|l||L||Send light level in percent|
|o||O||Toggle ring LEDs on or off|
|a||A||Toggle LCD backlight on or off|
The ring LED command is implemented and working, but the 28 V supply needed for the LEDs is not currently inside the package so they won't illuminate.
These commands may be typed into any Bluetooth terminal emulator or the Heart Reactor android app may be run to continuously monitor heart rate on a smart phone.
One operational note - the muscle activity at the electrodes must be calm for 5 seconds after power up because it is assessing baseline body voltages to provide a more accurate reference for the heartbeat waveform.
Crown Tools Commands:
|Command Character||Alternate Character||Command Description|
|0||Send event 0 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|1||Send event 1 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|2||Send event 2 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|3||Send event 3 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|4||Send event 4 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|5||Send event 5 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|6||Send event 6 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|7||Send event 7 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|8||Send event 8 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|9||Send event 9 acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|e||E||Send last event acceleration peak in g's x 10 and equivalent velocity in mm / second (x2)|
|d||D||List all events, 1 event/line: event #, time stamp (ET in seconds), peak resultant acceleration, velocity|
|x||X||Send Current X acceleration reading in g's x 10|
|y||Y||Send Current Y acceleration reading in g's x 10|
|z||Z||Send Current Z acceleration reading in g's x 10|
|b||B||Send battery voltage in millivolts|
|a||A||Toggle LCD backlight on or off|
These commands may by typed into any Bluetooth terminal emulator.
One operational note - the device must be held stationary for 3 seconds after power up because it is assessing the "zero" acceleration condition to provide a baseline for accurate event thresholds to be set.
Update 37 - Budgetary Costs in Canadian dollars
Here are some rough costs of building these devices:
PCB - $5
AD8232 module - $31.60 (the bare AD8232 signal conditioning chip is $4.35)
HC-05 Bluetooth module - $3.38
PSoC 4200 Protoyping Kit (CY8CKIT-049-42xx) - $4
Nokia 5100 LCD - $2.77
chips, LEDs, resistors, capacitors - $4
connectors & switches - $3
3D printed parts - $5
fasteners - $1
battery & charger - $7
neck strap - $2
3 conductive adhesive electrodes - $1.46
Total - $70.21
PCB - $2.20
EVAL-ADXL377Z - $41.77 (the ADXL377 sensor chip by itself is $10.22)
HC-05 Bluetooth module - $3.38
PSoC 4200 Protoyping Kit (CY8CKIT-049-42xx) - $4
Nokia 5100 LCD - $2.77
chips, LEDs, transistors, resistors, capacitors - $4
connectors & switches - $3
3D printed parts - $5
fasteners - $1
battery - $5
Qi receiver - $3.44
Qi charger - $3.24
duct tape - $1
silicone - $1
Total - $80.80
These costs can be reduced significantly if the chips are purchased and soldered to a custom PCB, rather than purchased as pre-fab modules. In both cases the sensor module was about 50% of the total cost.
Update 38 - Project Summary
I received notification that I was a finalist in the Sudden Impact Design Challenge on December 1, 2014.
The project kit arrived around February 19, 2015. Given the original March deadline for project completion and the size of the project, I had to proceed with design in December and had already received Heart Reactor PCBs before the project kit arrived in February, and the Crown Tools PCB design was also complete by that time. Unfortunately this timing resulted in my use of PSOC4 CPUs instead of the Analog Devices Cortex M3 CPU. With the deadline extension and blog requirements change somewhere around week 13 or 14, I had already completed about 16 "weekly" blogs. There are also 19 videos in the blog. The update total may reach 40 blog updates if GITHUB code postings are included, although the number of weeks for the project is now 22 and the number of required blogs has been reduced to 6.
An easy way to summarize the project is to list the update titles:
1 - Crown Tools and Heart Reactor Project Introduction
2 - Heart Reactor System Design & Mechanical Drawings
3 - 3D printing tests and preliminary electronics design
4 - Heart Reactor preliminary 3D printed parts and painting
5 - Heart Reactor 3D printed parts with inner bezel
6 - Heart Reactor electronic design and PCB layout
7 - Heart Reactor firmware development system and preliminary test firmware (video 1)
8 - Ordering parts and mechanical fabrication
9 - Heart Reactor progress report - heavily into detailed design
10 - Unboxing the Project Kit
11 - Preliminary documentation and first test of the heartbeat sensor (video 2)
12 - design of the Crown Tools circuit and PCB layout
13 - Assembly of the Heart Reactor circuit card and initial circuit tests of the CCA (circuit card assembly) (Videos 3 & 4)
14 - Preliminary Bluetooth tests (video 5)
15 - First fully functional Heart Reactor heart rate system tests (video 6)
16 - Android app tests of the Heart Reactor android app (video 7)
17 - Crown Tools Preliminary Mechanical Design (video 8)
18 - Heart Reactor Operating Off Li-Po Battery
19 - Crown Tools Bare PCB
20 - Crown Tools PCB Assembly
21 - Crown Tools Display Working Under Program Control
22 - Helmet Bracket (video 9)
23 - Wireless Charging (video 10)
24 - Crown Tools Tri-Axial Accelerometer First Hookup (video 11)
26 - Functional Impact Event Capture & Bluetooth Download (video 12)
27 - Assembled Crown Tools - Operating (video 13)
28 - Crown Tools Mounted On a Helmet and Initial Drop Tests (video 14)
29 - Heart Reactor Base (video 15)
30 - Reactor Ring LEDs
31 - Heart Reactor Final Demo (video 16)
32 - Playing hockey with the Crown Tools installed and operating (videos 17, 18 & 19)
33 - Second Hockey Game
34 - Installation of Crown Tools
35 - Rigging the Heart Reactor
36 - Bluetooth Commands
37 - Budgetary Costs in Canadian dollars
38 - Project Summary
This Design Challenge involved a wide range of disciplines and difficult objectives, but the satisfaction of achieving hard objectives has been proportional to the great effort expended and I learned a lot along the journey. Given the ambitious scope of the project, it was very fortunate and most gratifying that virtually everything I designed was workable on the first build attempt.
The Crown Tools generated a lot of interest from the guys I play hockey with, even to the point that opposition players would skate up to me to ask about it during stoppages in play (although some initially thought it might be a helmetcam). In my sports circles there is universal awareness of head injury risks, and over the years several players I play with have suffered significant concussions, so their interest is genuine. Most of the guys seem to think the Crown Tools should be productized. Designing an LCD into the Crown Tools has proven to be very useful because nobody has their cell phone with them during a hockey game, and with the display I can read off the latest event between shifts or have one of my teammates read off the severity of the last violent event.
The prototype has now survived transplantation between helmets twice and has survived over 100 drop tests and impact tests and it has recorded 45 real impact events in real hockey games. The only issue is that layers of silicone are starting to build up from each transplant.
The Heart Reactor was a lot of fun to develop as it included the most ambitious 3D design and printing I have done so far. Although heart rate monitors are pretty common these days, the Heart Reactor is definitely unique. The software could use some more development work and it turned out to be a bit of a production to get all wired up for a proper test run while exercising. However it seems robust enough to be used during exercise. The main issues hindering further development are that it uses a lot of electrodes (I have only a limited supply) and it is problematic for a lone developer to be developing software and monitoring heart beat waveforms while trying to exercise and generate signal anomalies.
The only significant drawback for me in this project was that the extension of the project limited other projects I could have been doing. For example, I would have loved to try to get involved in the PSOC5 Roadtest currently under way, but by the time I looked up, the entry deadline had passed.
Element 14, Analog Devices and Tektronix have presented a great challenge and supplied a great kit which will continue to provide many hours of enjoyment on future projects. I am sure this project will provide me with many great memories for years to come.
If anyone wants more details about the project, feel free to ask for them in the comments section below.
Update 39 - Firmware, Schematics and 3D Print Files
In this update I am attaching the following design files:
- the Heart Reactor android app
- the Heart Reactor firmware source (PSoC Creator)
- the Heart Reactor schematic and PCB layout files (Eagle)
- the Heart Reactor 3D print files
- the Crown Tools firmware source (PSoC Creator)
- the Crown Tools schematic and PCB layout files (Eagle)
- the Crown Tools 3D print files
If you need other files, let me know.