As a gift to the participants of 2019 Connect forum, Sigfox has offered a connected button. This button is the first official device based on the ultra-low cost technology detailed in my previous post about $1 Iot. This device is based on a single SoC, a CMT2189C chip from CMOSTEK. This chip usually made for garage door remote controller is offering a low-cost solution ($0,25) with a MCU+Radio solution, compatible with Sigfox.
In this post I’ll detail what are the components of this solution and the real price you can achieve for a such device to verify the low cost promise.
Sigfox published the reference design for this type of IoT devices, including the button elements. Where writing this post, I did not add a chance yet to read the final version of the document and the estimate is based on reverse engineering of a prototype I’ve got a month ago. The reference design can be obtained from build.sigfox.com.
Reference design
The Sigfox reference design is basically similar to the Connect Button. You will need to configure your environment for CMT2189C development.
In the package you will also find circuit schematics and gerber file to make your own devkit. You will also find the source code for the button and the source file for the HMAC génération. As detailed in my post on the ultra low cost IoT technology, the all the frames needs to be pre-computed. This is why you need this.
A detailed pdf also contains the design guidelines and details the source code.
Enjoy that stuff and stay tuned, I’m looking for soon proposing a devkit to simplify your life. You just have to know you can also ack your Connect Button once you get your own device ID and private key.
Circuit description
The circuit is basically based on the CMT2189 circuit:
The difference are related to buttons : only SW2 is on the button, this one has been kept because PA2 is the pin where you can get an interrupt signal and waking up from SLEEP.
On the button we have some extra CMS around quartz but they are R0 and have been placed for debug purpose.
We also have 2 extra capacitor for decoupling. 1 led for user interaction. The antenna matching also add 1 inductance and 1 capacitor.
On the bottom left you can see the programming connector. It is connected to ICSPDAT/ICSCLK signal. You need a specific programming device to use it. You also have PC4 connected to the connector. PC4 controls the radio transmission. The signal is going to the programming port to allow device calibration in production.
Bill of material & assembly
This BOM is based on Mouser public price for components equivalent to the one use by Sigfox to design its button. This is a maximum price as you can have better deal with chip providers.
Ref | Type | Cost x100 | x1.000 | x10.000 |
---|---|---|---|---|
PCB | 0,36 | 0,15 | 0,10 | |
U | CMT2189C | 0,28 | 0,28 | 0,25 |
X | Quartz 26Mhz 10ppm | 0,272 | 0,218 | 0,191 |
C | 2x C 0,1uF 0402 Y5V | 0,012 | 0,010 | 0,006 |
U | CR2032 BAT Holder | 0,209 | 0,164 | 0,140 |
U | CR2032 Battery | 0,1 | 0,09 | 0,05 |
D | LED 0402 Red | 0,104 | 0,081 | 0,063 |
C | C8,2pF 0402 C0G | 0,022 | 0,012 | 0,006 |
C | C9,1pF 0402 C0G | 0,012 | 0,009 | 0,005 |
C | C68pF 0402 C0G | 0,008 | 0,006 | 0,005 |
C | C33pF 0402 C0G | 0,008 | 0,006 | 0,005 |
L | 2x L8,2nH 0603 | 0,031 | 0,025 | 0,017 |
L | L100nH 0603 | 0,034 | 0,029 | 0,019 |
R | 2x R0 0402 | 0,004 | 0,003 | 0,002 |
R | R1K 0402 | 0,004 | 0,003 | 0,003 |
C | antenna matching pF 0402 | 0,023 | 0,012 | 0,006 |
L | antenna matching nH 0402 | 0,035 | 0,026 | 0,016 |
U | Button CMS (aliexpress) | 0,02 | 0,015 | 0,01 |
Assembly cost (seeed pcba ref) | 4,26 | 1,40 | 0,35 | |
Casing | 0,50 | 0,40 | 0,25 | |
TOTAL per device | 6,30€ | 3,13€ | 1,50€ |
Here you also need to add a programming step for your devices and a final test phase. This will represent an extra cost in term of time & machine investment.
Certifications, design, tooling
On top of the production cost you need to have the certification for your product. One zone make sense as this kind of product will not be able to work in different zones. A basic CE certification for a such product is about 3K€. The Sigfox certification on top of this is 1.5K€. You also need to add your design time. I’ve spent about 5 full days making a similar product from scratch eq 5K€. Tooling will requires the same amount of time 5K€ more.
These fix cost will impact the product differently based on volume.
x100 units | x1.000 | x10,000 | x100,000 |
145€ / pces | 14,5€ / pces | 1,45€ / pces | 0,30 € / pces |
I’ve extended the x100.000 prices as I consider for such volume you will need more investment on programming and test machines.
Conclusion
A $1 device is a question of perimeter we are looking at. Taking into consideration the whole perimeter makes it a challenge, even with the new Sigfox solutions.
Low cost devices is at first a question of volume. As you can see, for volume of 10.000 pieces, you can reach about 3€ target pricing. Even if this is not $1, this is a breakthrough in the current IoT costs for a finished product.
Upper to 100.000 pieces, there are a lot of things you can change in terms of price negotiation, production optimization and fixed cost dilution. I assume with a such volume it’s possible to be just a bit higher than the famous $1 target.
So, if you want to propose a $1 device, working with Sigfox, you may target a volume around 500.000 to 1.000.000 pieces in my point of view. And this makes sense !
In any case, that’s really ultra low cost IoT.
Can you say 1 sentence about the programming tool?
Is it this one?
http://www.cmostek.com/design_support/development_tools/usb_programmer/cmostek_usb_programmer_v1/222
I’ll soon be back on that topic. the programming tool I’m using is part of the IDE but this to be improved for production. I’m working on it. Future post will be on this.
Hi Paul.
I attended Sigfox Connect in Singapore and I played around with one of those buttons. I would like to get my hands on one these now. Do you know if and where the device is available? Also, do you think the same circuit design can be modified to send an uplink at regular intervals?
Best regards
Bernie
I make sticktrack based on this technology, it basically do what you describe.