Shortly after the Raspberry Pi 3 was released, Element14 announced a new road test entitled RoadTest Review a Raspberry Pi 3 Model B ! I was instantly excited. I had followed the Raspberry Pi project for several years and from all the specifications, this looked to be a fantastic new member of the RPI family. So, I went to work crafting a project idea to use the capabilities of the RPi 3 to the fullest. I had recently lost my home and half of it's contents to a flood and most of what I didn't lose was in storage while my family and I lived with my mother in law. So, doing a full-on electronics hardware project was out of the question. I eventually came up with what I thought was the perfect project considering the circumstances; one which was almost totally software work. This would be an excellent way to keep my mind occupied while I waited for my house to be rebuilt.
I had been following the Numenta Hierachical Temporal Memory (HTM) project for several years. I originally read about it in an issue of the IEEE Spectrum. I knew the project was based upon a open source code base which aimed to simulate how the brains works. I also knew that the code was successfully learning patterns of data, predicting the next data point in a series, and flagging anomalies in a data set. What I didn't know at the time was how exactly the code went about learning patterns or what it's limitations were. Nevertheless, I went forward to describe a project with what I would eventually come to realize were very aggressive goals. I proposed to build a raspberry pi based computer which would recognize speech and trigger actions based upon that speech pattern.
In a short amount of time, I learned that I had been selected to road test the RPi 3 and a few days after that I received the Pi. I jumped in with both feet, ordered a USB sound adapter, microphone, case, power supply, and SD card, then started working on the software. Porting the Numenta project to run on the Pi was slow work, but I found the user group on Github to be friendly and willing to advise me on getting it to build and run. After two or three weeks the project was ported, built, and running on the Pi. From that point I spent a couple more weeks getting the project updates for building on RPi up to the project standards for inclusion in the main line code. While not strictly necessary, I figured this was the least I could do considering how helpful the group had been to me.
From this point, I jumped into the examples online to look for a starting point from which to build my project. I found examples of predicting the energy usage in a gym and similar sets of data which were long arrays of fairly simple data (i.e. a watt-hour reading for energy usage taken every hour for several weeks). However, what I didn't find was examples of processing dense, complex data such as a person's voice. Eventually, I came to the realization that the project goals that I had given myself were more appropriate for a PhD student doing original research for a doctoral thesis than for an engineer tinkering with the software on his off hours. I was seriously disheartened.
If you find yourself in a similar circumstance, here's what you should do. First notify the road test manager of your problem. Seriously, these people are friendly and understanding and they want to see you succeed. Second consider how you could refocus the project in order to make it successful. Talk it over with the road test manager and get their input. Post a message on the road test area and get feedback from the other road testers. Perhaps there's an alternative way of looking at the problem that could get you going. Third, if you are totally up against a brick wall, you may have to abandon the original project and come up with an alternative. Again the road test manager can be extremely helpful. Just because your original project proposal is not achievable doesn't mean that you can't complete a perfectly acceptable review of the product. In the end, the goal is a review of the product which is insightful and helpful to others considering using the product in one of their projects. Finally, blog about your failure. The experience you learned in failure may be extremely valuable to others considering similar projects.
I hope my humbling story will encourage you to not simply give up but make the most of your situation. Happy road testing!
Top Comments