The Moneo project is an electronic business card replacement. Designed to be worn around the wrist, it will store contact information along with possibly a picture in an onboard MicroSD card. Its built-in accelerometer can detect handshakes by sensing oscillation along the Z-axis. When a handshake event is detected, the Moneo will begin a wireless search routine to locate a nearby Moneo which is also in the search state. This is most likely to be the Moneo worn by the person you shook hands with. Once a brief handshake protocol is completed, the two Moneo’s will begin a bidirectional transfer of contact information to each other. Information received, the Moneo will hash the data to check for duplications and, if it is new contact details, store them onto the SD card for later retrieval.
The expected use of the Moneo is at large conferences where one is quickly meeting new people and doesn’t have time or readily available business cards to hand out. Conferences could even provide the devices at registration to act as badges and have them preloaded with the information that was provided during conference registration.
General Post-Project Feelings
I’m generally satisfied with the outcome given the time constraints and personal funding available. The final product roughly performs all the functions I initially intended, so nothing was greatly sacrificed during the construction period. There were a few bits that I would have liked to look into more, namely getting the range of the transmitters down to about a foot. But I think my own lack of electronics knowledge was a major drawback in this area.
Logistics followed by network protocol programming were by far the biggest problems. Getting parts in and failure to anticipate large delays in shipping almost sank the project. The transmitters were a complete nightmare as they were delayed for about a month longer than the estimated one week shipping time. Combined with the complexity of getting a handshake protocol that was robust to random initiation events, the final result was not as foolproof as I would have preferred. I think if I had another week with the transmitters, I could have made the whole system more stable and reliable overall.
Meeting Initial Goals
As mentioned above, the project met all the initial requirements, more or less. I think the final range was far too high for real world use, but there wasn’t much I could do about that in the final days. Otherwise, all the other major components were there: Handshake detection, Storage, and Communication. The final assembly worked for the most part, even with the difficultly of using standard breakout boards not designed for wearables.
There are two major next steps that I think are the logical path for this project. The first is better understanding of antenna design and restricting the range of the device such that many Moneo’s can be used in the same area. And the second is miniaturization. Designing a single all-in-one PCB to hold all of the major components will go far in making the Moneo easier to wear, cheaper to build, and more reliable under
mechanical stress from taking it on and off.
Determining wire layout was very time consuming, as well as sewing with the wire thread. Due to its ability to hold shape, the thread proved extremely likely to kink and hold in the neoprene, preventing quick assembly. Additionally, since the wire needed to be soldered, no testing could be done until everything was assembled fully, leading to a rather nerve wracking experience.
The first prototype is assembled. For the first time, all the hardware components are together on one circuit. This should make the second band faster to assemble, but who knows.
Running out of time. But still confident that the system will be working (in some state) by the end of the week.
Assembly of the final band is going to happen tomorrow. After that, all that is left will be to combine the various software components I’ve been building into one single program that detects motion, sends the file, and stores the results. Not insignificant, but it should be doable.
Network protocols are hard. Took me 48 hours to get the transmitters wired correctly and communicating a vcard bidirectionally successfully. Then I discover that one of the accelerometers appears to be broken. This has delayed the next stage of the protocol development where I need to implement a discovery protocol when receiving a shake event.
The transmitters, after all the pain getting them here and setup, do in fact work. The wiring is a bit touchy, but I hope that will be fixed once they are more permanently attached. The other good news is that the $10 accelerometers I got have built in high pass filters for shake detection. And it worked pretty well. Granted, the communication is a fair bit more complicated than a simple analog model, but in return I don’t have to implement a potentially complex filter on the microcontroller.
At this point I’m looking at things to prune. I’ve already tossed the range testing stage for lack of time. I may end up tossing the discovery protocol too, if I can’t get new sensors in fast enough or if proves too complicated in the time I have left.
The last and hopefully final shipments are in route from Amazon and Sparkfun. These include the wrist straps (2 models, not sure which is best) and battery connections. Needless to say, these are the critical pieces to finish this project off. They should be in by Thursday so I can assemble everything this weekend and put on the final coding touches. Like it or not, this project is coming down to the wire.
Tested soldering the copper wire thread to components. Seemed to work really well. Didn’t even burn the fabric too much!
Here is a close up of the wiring and solder connections. The wires are really small!
Copper taffeta from LessEMF. Nice stuff and the shipping was faster than I expected.
Close up of the taffeta. The conductivity is good across the surface, so hopefully this will be useful for a variety of tasks.
Both Teensys are plugged into the breadboard with SD-card slots. All we need now is the transmitters and we can get some communication happening.
Screenshot of the VCard loading from SD chip and then the SipHash running on it to generate a 64-bit hash code. Should be strong enough to avoid collision, while being short enough to transmit really fast for identification.
No serious problems apart from waiting for parts.
Hash code went smoother than expected. Discovered SipHash, a fast hash developed to resist collision attacks on hash tables. Not as safe as something like SHA1, but really fast for a micro-controller to perform (350 us!) and certainly suitable for a small scale prototype. Overall I’m quite pleased with it.
Starting to run behind I think, due to the delay on the RF transmitters. But the shielding fabric is in, so when I get them, I can start testing with that immediately.
Hope and pray the transmitters arrive early, so I can figure them out by end of the week. There is a shipping notice, so here’s me hoping.
Completed trial circuit with Teensy and MicroSD card reader. Successfully ran code to list files on card. [Image Forthcoming]
Spun copper wire into a 5-ply copper thread for connecting components [Image Forthcoming]
Still looking good. There has been some delay with a few parts and timing may become tight if I need to order shielding fabrics, but overall I’m happy with the progress. The spun copper wire should solve the potential problem of fuzzy conductive thread shorting out nearby holds on the PCBs. Still need to determine how to wire up the wireless modules.
I’ve decided to use the VCard standard for holding the business cards. Its well supported and small, so it should be fine for storing and transmitting. Next week will see more software development on this end, but it will be difficult to get a good sense of it all until the transmitters arrive.