You might be under the impression that machine learning costs thousands of dollars to work with. That might be true in many cases, but there’s more to machine learning than you might think. For instance, what if you could shower anything with a network of cheap machine-learning-enabled sensors? The 1 dollar TinyML project by [Jon Nordby] allows you to do just that. These tiny boards host an STM32-like MCU, a BLE module, lithium ion power circuitry, and some nice sensor options — an accelerometer, a pair of microphones, and a light sensor.
What could you do with these sensors? [Jon] has talked a bit about a few commercial and non-commercial applications he’s worked on in his ML career, and tells us that the accelerometer alone lets you do human presence detection, sleep tracking, personal activity monitoring, or vibration pattern sensing, for a start. As for the sound input, there’s tasks ranging from gunshot or clapping detection, to coffee roasting process tracking, voice and speech detection, and surely much more. Just a few years ago, we’ve seen machine learning used to comfort a barking dog while its owner is away.
Bottom line is, you ought to get a few of these in your hands and start playing with ML. You still might need a bit of beefier hardware to train your code, but it gets that much easier once you have a network of sensors waiting for your command. Plus, since it’s an open source project, you’ll have a much easier time adding on any additional capabilities your particular application might need.
These boards are pretty cost-optimized, which makes it possible for you to order a couple dozen without breaking the bank. The $1 target is BOM cost, especially if you opt to not include one of the pricier sensors. You can assemble these boards yourself, or get them assembled at a fab of your choice for barely a cost increase. As for software, they will work with the emlearn framework.
Everything is on GitHub — from KiCad sources to Jupyter notebooks. As for Hackaday.io, there are five worklogs of impressive insight — the microphone worklog alone will teach you about microphone amplification in low-power conditions while keeping the cost low. Not as price-constrained and want to try on some image processing tasks? Here’s a beautiful Pi Pico ArduCam board with a camera and a TFT screen.
US$1 in BOM with a STM32 and BLE? hardly believe it. Nevertheless, neat project, might give it a try.
Reminds me of the “one dollar board” scam of some years ago https://www.indiegogo.com/projects/one-dollar-board–5#/
Hmm what was the controversy/scam there? I’ve not been able to find any info
Not STM32, but “STM32-like”. Check the project page, the MCU used (PY32F003) is 0.13 USD @ 1k.
It is an “STM32 like”
The Puya PY32F003 can be obtained for $0.12 in quantities of 5k
For the same quantities, the Holtek BC7161 as well is $0.12, but that is the chip on its own. The best module price I could find is $1 a piece, when ordering 500, so when doing a rough estimate at best it can be found for ~$0.6 in the larger quantities.
The total BoM cost is probaly around $2, but still a decent price if the board works.
Yeah, the BLE module will need to be flattened down in order to get. But since RF is magic, I am waiting until the rest of the board matures before going there. Or maybe it will be left as an exercise for the reader… Boards are currently in development, only a rev0 run with basic board bringup has been done so far. They are decidedly not-ready-for production :)
Instantly reminds me of the USD5 “linux PC” that turned out an advertising scam. Actual price was about 4x that, and they went broke pretty quick.
Whenever I see a project starting boosting with an unbelievable price point, I generally just close the topic and go to another subject. Even attempting to discuss whether there is any realism in their price point claim is free advertisements for them. Even if BOM cost is withing budget, you still have to assemble, test and ship the thing.
Let’s be fair. This is a fully open-source board with no point of sales that I could see; it’s made for either self-assembly or automated assembly. There’s not even a sign of a crowdfunding campaign on the horizon, if there will be, it’ll have had missed an important mark in terms of publicity – you learning about this project and being able to benefit from its work is as far as it gets. The low price stated is to show you how little you can spend on the BOM if you want to make a swarm of these, as opposed to paying money to the board’s creator.
Whatever “advertisement” factor there is, it’s tightly coupled to the project’s technological merit – and, don’t forget that you basically have to play the “advertisement” game if you want people to benefit from everything you’ve put into a design, as opposed to your effort being unnoticed. The hacker behind this one is skilled and eager to share their skill, and while I understand that today’s hardware world can be a predatory one, I wouldn’t rush to conclusions myself.
This is an open-source feasibility study, an exercise, in extreme cost optimization as a creative constraint. The goal is to get the bill of materials (i.e. component costs) below 1 USD, while still doing useful ML tasks. I do not plan to sell these ever, and certainly not for 1 USD!
And as a general point, BOM != sales price.
Those interested in getting into TinyML should buy a ESP32 board with integrated sensors. Much more productive and forgiving environment to be developing in :)
“These tiny boards host an STM32-like MCU”
Puya PY32 to be precise.
Project creator here. Cool to see this featured on Hackaday. Thank you for the nice writeup Arya:) Ask me anything! :)
Of course you did not write this piece. That said, do you think the author stressing the US$1 part of it was the right choice of words?
It looks like the article respected the $1 emphasis as presented by the project creator in the Hackaday.io entry.
“1 dollar TinyML
Can we build Machine Learning enabled sensor for under 1 USD?”
https://hackaday.io/project/194511-1-dollar-tinyml
The title and theme of the project is centered around that, so I think that is to be expected! The 1 USD is a creative constraint and something to aspire to – and not a commercial target, however. Perhaps the piece could emphasize more that this is very much a work-in-progress / prototyping / R&D project – not a ready product (and will probably never be).
Oh absolutely I should’ve emphasized that, my bad!
A serious question for you Jon ….. what’s the advantage of having a large swarm of sensors, all presumably within blue tooth range of some other device, in such a small space? I’m genuinely intrigued.
Hello Mr. Cannibal :) There are several applications where a quite high density of sensor is beneficial. One of them is Condition Monitoring of machinery. A machine room may have 10 or even 100 mechanical components within Bluetooth/Zigbee range. That is actually my dayjob – delivering such solutions for monitoring ventilation systems / HVAC in buildings (at Soundsensing.no). We use vibration sensors that are a bit more powerful than the PY32 shown here, but same principles apply. ML is used to extract health indicators.
Another use-case would be livestock management, for example milk cows. They now can have a collar with accelerometer sensor that track their activity. ML is used to classify the activity. These might be more likely to use LoRa for longer-range than Bluetooth – so that the system can keep track even when the cows are out in the field.
A third use-case is in cold-chain management in food supply. Many types of food must be kept cold (or frozen) at all phases of transport from producer to getting to the shelves. It is becoming feasible to have sensors that travel along with each unit that is shipped – say one per pallet. In a refrigerated truck or storage room there maybe 100 such pallets/sensors. Then one can really document that the food has been kept cold at all times. This is more logging than ML though.
Thanks !!
This is an awesome project! I don’t understand the commotion about the BOM target. The BLE module is probably the most critical cost-variable here, but it is not really needed for data acquisition, training and inference. So it can be removed for many applications to stay comfortably below $1.
TinyML / EdgeML on small microcontrollers deserves more love. There was so much hype around it a few years ago, but it seems to have fizzled out a bit.
There is a great list of projects implemented with emlearn in the documentation:
https://github.com/emlearn/emlearn/?tab=readme-ov-file#made-with-emlearn
The BLE chip in that module is quite cheap (30ct), so if mounted on the main board the production cost of 1$ might be possible.
So I tried to do a Google search for this, and surprisingly didn’t come up with anything at least in the immediate set of results– So I am a little confused; Is TinyML an actual ‘downloadable library’ ? Or more an ‘ideology’ or ‘set of principals’ ?
More of a class of target, as in simple purpose-built devices. Libraries for tinyml have low requirements.
As S O says, TinyML is machine learning a class of devices ML. ML without further qualification tends to imply either cloud or PC (potensially with GPU or similar accelerators). “EdgeML” tends to mean smartphone or embedded PC (say a Raspberry PI) – a bit constrained but still quite powerful. Whereas “TinyML” is on microcontroller class devices. Very constrained in terms of RAM and program space (kilobytes to low megabytes), and very low bandwidth connectivity. Often also battery powered. Typically, running unattended.
There are organizations around https://www.tinyml.org/ and https://tinyml.seas.harvard.edu/
The former has a good YouTube channel – lots of technical presentations on the topic.