Component choice for Moment-Rec
We talked about why I am making an acoustic time machine called Moment-Rec. Next, we defined all system, hardware and software requirements to cover the four main use cases for Moment-Rec. In this post we will have a look at the component choice for Moment-Rec.
First, let’s rehearse what Moment-Rec is and what its four main use cases are. Moment-Rec works like an acoustic time machine that will let you capture any sound you heard in the past 60s.
- Language learning – We can record and play back concise audio snippets with interesting vocabulary and sentence structures.
- Traveling – Ever had trouble understanding an announcement? No problem we can press the record button to record the past 60s audio and play it back to hear it again.
- Meetings – Writing meeting minutes sucks because it’s hard to remember key facts. We use Moment-Rec to capture concise audio snippets of 60s with the most important information during the meeting.
- Animal voices – We can capture an animal voice after we heard it by pressing the record button at anytime.
The first part of every hardware design is the component choice. A big part of evaluating parts is meeting the end price the product will cost while at the same time ensuring the product complies to all requirements. I will do a crowdfunding later this year to measure the general interest in the product. Another reason for doing crowdfunding as an indie product developer is to raise money for expensive certification like CE, FCC, etc. The maximum price that just the components can cost is between 10-20$. However, the price that we will offer it on crowdfunding will be 3-5 times higher to include all additional costs (taxes, packaging, storage, etc.). If you doubt the factor of 3-5 times then please watch this video by EEVblog. It’s awesome and explains why 3-5 times is actually not a rip off but the minimum you need to have a successful product.
The components that will drive the cost up in the hardware design are: microcontroller, Bluetooth module and the battery. In the beginning I wanted to keep the microcontroller and BLE module separate. However, most BLE modules feature an ARM cortex m4 processor, which is a pretty powerful embedded processor. I figured that if I anyway have to pay for an ARM cortex m4, I should also use it as a main processing unit. In the following sections, I will explain why we made certain design decision in terms of component choice.
BLE module – u-blox – NINA-B112
My goal for Moment-Rec is to ultimately sell it worldwide. Therefore, we have to pass various certifications tests such as CE, FCC and many more. Electromagnetic compatibility is part of these tests and will usually have to be performed by external test laboratories. Performing EMC tests for a non-radiating device is expensive. However, getting a BLE device to pass without any pre-certification will usually drive the costs for these tests up by an order of magnitude. Therefore, the most important requirement for a BLE module is that it is pre-certified in the countries we plan to sell Moment-Rec. Other factors we have to consider include the price per unit, package size and development tools. I have to admit, I’ve never done much with BLE yet. Therefore, it was important to chose a module that comes with a solid manufacturer library and tutorial/example code.
I chose NINA-B112 from u-blox because it is a very good trade-off between price, world-wide certification and developer tools. It’s definitely not the cheapest, nor smallest module. However, it is pre-certified in FCC (America), IC (Canada), Japan, Taiwan, South Korea, Brazil, Australia, New Zealand and South Africa. Additionally, the module is also Bluetooth certified, which we need in order to add the name Bluetooth as a feature in the product description. At 6.42 Euros for a bulk order of at least 250 pieces the NINA-B112 is definitely one of the most expensive components in the design. However, there are not many other modules that provide the same features and ease of development at this price.
Battery – Varta – LPP 523450 S
A battery is always a trade off between the three factors battery life, weight and costs. We do have quite a limited budget for Moment-Rec. Still, the battery should hold as long as possible. Additionally, there is not much space left in the casing. I decided to go with a reputable brand like Varta because I felt like we should put safety first. Lithium Ion batteries can be very dangerous and lead to terrible accidents (e.g. Samsung, Apple). Varta’s batteries also comply with various certifications (UN38.3, IEC62133 and UL1642) which also helps to pass international certifications easier and cheaper. At the time writing this post, I haven’t looked into how much the battery will cost. However, I estimate it will be between 5-10$ for a reasonable bulk order of 500 pieces. Finally, I pretty much chose the battery based on the factors mentioned above and then chose Varta’s most powerful battery, which still fits the casing.
Another major part in terms of safety is choosing a good charger chip. I decided to go for a charger chip by Texas Instruments as they are a very reputable brand. We are using the chip BQ24040DSQR which comes with all sorts of safety features (overvoltage, temperature, short-circuit, safety timer, etc.). It’s also fairly cheap with 0.543$ for a 1k bulk order.
Memory – ISSI – IS25LP256D-JLLE
Usually, choosing the correct memory type isn’t really much of a concern for an embedded system. However, choosing a memory for the Moment-Rec gave me quite some headache. The requirements we have to comply with are high storage capacity, low-power, cheap price. Complying with all three aspects turned out to be really hard. Traditional SDRAM has a high storage capacity and is also relatively cheap. Unfortunately, most BLE modules don’t come with a hard IP interface for SDRAMs and additionally I was not sure about how low-power SDRAMs are. I also looked at SRAM which would be great for low power consumption. However, the problem with SRAM lies in its low storage capacity and high price. Usually SRAMs are used for high speed cache memory and are not suited for high storage capacity applications. Finally, I decided to go with flash memory, even though this technology also comes with many draw backs. Let’s compare the positive and negative sides of flash memory used for Moment-Rec:
- High storage capacity
- SPI interface – most BLE modules feature an SPI interface
- limited write cycles
- High peak current consumption
We mitigate the first disadvantage by buffering audio data in the BLE module internal RAM before writing it to flash. Additionally, I decided to use a bigger flash memory than is necessary to store 60s audio data, which will allow us to implement a wear leveling algorithm. Finally, we can lower the impact of the second disadvantage by using bigger decoupling capacitors and trying to dampen the current spikes when writing to flash. However, this will not improve the average power consumption.
Component choice is always a compromise
Evaluating different components for a new design, means estimating which component mix might achieve the best performance. It will always be a compromise and we can’t expect to find an ideal solution where everything just falls in place. However, I think we found a really good mix for Moment-Rec. We will see how good the component choices actually are when we complete the first prototype.