Looking for a ultra tiny development board? Tomu is an ARM Cortex M0+ device that fits inside your USB port. We’ve seen these in person, and they’re tiny.
There’s a few commercial devices in this form factor on the market. For example, the Yubikey Nano emulates a keyboard to provide codes for two-factor authentication. The Yubikey’s tiny hardware does this job well, but the closed-source device isn’t something you can modify.
Tomu is a new device for your USB port. It sports a Silicon Labs EFM32 microcontroller, two buttons, and two LEDs. This particular microcontroller is well suited to the task. It can talk USB without a crystal for timing, and has an internal regulator to generate the core voltage from a 5 V USB supply. Since it supports DFU firmware updates, it can be reprogrammed without any special tools.
Unfortunately, the EFM32 device lacks secure storage options, so the Tomu might not be the best device to keep your secrets on. That being said, it will be interesting to see what applications people come up with. The creators have suggested using the device for media buttons, sleeping and waking a computer, and as a U2F key.
The project is currently available on CrowdSupply, and all design files and source is available on their Github. If you like soldering tiny things, the twelve-part bill of materials should be fairly easy to assemble at home.
46 thoughts on “Tomu: A Microcontroller For Your USB Port”
> Unfortunately, the EFM32 device lacks secure storage options, so the Tomu might not be the best device to keep your secrets on.
64kb flash – thats a lot of passwords…. (even with a keyboard emu)
I think you might have missed just one important word between “device lacks” and “storage options”.
It’s not the size of the memory that matters here.
Although honestly, the dongle is small enough to keep on your key chain. And if you lose your physical keys, you’re hosed, because they’re not encrypted. So you might as well double down, right? :)
Seriously — I keep all my passwords on a device that has them unencrypted in eeprom. I’m just not worried about the attack scenario where a technically sophisticated criminal comes into my office with an eeprom reader.
It shouldn’t be too hard to at least teach it to speak eeprom. They come in fairly large sizes these days.
Maybe even use the usb and store something on what ever device it’s plugged into.
It’s too expensive, this ic cost is 1$, pcb at oshpark 1.1$ for 3, few leds, resistors, i know there are production costs, but 20$/piece production costs? Doubt it.
Oh you know, one could help pay for all the development hours that have already gone into this and help fun future development, which undoubtably is worth more than just the BOM cost.
I know that they should earn for they work, but it’s like 5$ BOM and 25$ earn for them, not so great ratio, don’t you think?
You must have a really hard time paying for software, songs, movies, legal and financial advice, ebooks…. All of those have a BOM to price ratio of zero
You compare books where time spent on them is like few months to this where you can do it in one week max?
Then roll your own and sell it. If you think they can make a profit at a lower price point, then you can too, and take all of the customer base because you’ve undercut their price point. What’s stopping you?
But if the chip is sold for $1 then the manufacturer already is out of the picture and this $25+ ‘development cost’ is for what and whom exactly? Even the PCB is probably based on the manufacturers sample circuit and is already designed.
Right, that chip is silicon, which is just sand, as is half the pcb, and then the packaging is just plastic, which is really a couple of drops of oil, then the traces are a tiny amount of copper, and maybe some more oil for the energy required to make the whole thing.
So basically a spoonful of sand, oil and copper ore, for $20? Sheeesh.
Not everyone can be STmicro, subsidizing development on their chips with $15 dev boards containing $10 in the chip alone.
Try to make such a device more cheaply. To help you here is a list of all microcontrollers in stock at digikey that have USB build in: https://www.digikey.com/short/q8wztr
You are welcome…
Scoffing at twenty bucks for a little computer that fits in the negative space INSIDE a USB port? Not a dongle mind you, but totally inside the socket. Do you have any idea what kind of dumbass things you’ve spent twenty bucks on in your life? Be honest now.
Now you’ll spend ten minutes longer each time you sit at a computer, looking for key loggers (:
Not for many things, for me 20$ is like 4 times more than for you (other currency).
And what exactly is so great about being able to stick it completely inside the USB port? We’ve had wireless mouse plugs almost that small already for years, and the real reason they have the head is to be able to remove it from the USB port and have the antenna out so it can actually communicate.
Unless you are making the mentioned keylogger or other such device, this is pretty much a really dumb thing to waste money on. And i agree, it costs over 10 times of what i’d pay for one.
But hey, it’s your money. Come tell us what useful thing you made with one and prove me wrong.
having it flush with the laptop housing makes me a lot less nervous about packing it away in a hurry. I’ve got the Logitech universal receiver in a tough book and it’s annoying as it has to come off before it goes in it’s pelican case. Even though it only sticks out 5mm, it’s enough.
In qty >2, price drops to $15, >= 5 it is $10-ish. I think it is fairly reasonable if you compare it to other U2F dongles on the market.
Get a grouped order started with friend, you’ll save in logistics and shipping ;)
The lower volume of production requires a higher price to keep the developer in coffee. They are up to $27000 that is half of when an engineer can expect to earn in a year, and a good one can get more. Also possible they are not manufacturing them. If they are paying someone else to make them for ( a guess) $10 each then $30 is the norm, 3x the production costs. Allows a margin for re sellers to also make some money as well as other added costs. Adafruit did a long set of videos on the subject. They lay it all out in the open, if you’re going to look at doing something like this, this is a MUST watch. Will also give you some insight why things cost what they do.
Also, the files are on github, so go make it yourself!
if it cost them $10 to make they should find something else to do
If it’s popular wait for China Clones
Like most things, it’s being sold at a profit. The idea is that if it’s functions are worth the price, you’re glad to buy it. You could make your own, if your own effort is worth less than the price.
That said, I can’t think why I’d need 2 tiny buttons sticking out of a USB port.
They want to use a 3D printed USB enclosure to substitute for a metal USB encosure, that just won’t work. It would simply break apart inside the USB connector. Pull it out at a slight angle and the enclosure will split. Unless the enclosure is made from metal, this thing will be a once use only thing.
And that sort of blanket statement is usually categorically wrong. I’ve printed plenty of thin parts and they don’t ‘simply break apart’. ABS is flexible. Use the right materials and a decent printer, and don’t just claim that “3d printed parts are shit”.
Also, even when it does wear out, you can just print another one.
I’ve seen plastic thumb drives before, (the actual port was made of plastic) they seem to hold up ok, I know nothing about 3d printers. I’d imagine there must be some cheap way of doing it safely.
SanDisk Cruzer Blade. Have three on my desk right now. 100% plastic, works great.
You are mistaking extruded plastic (solid) with layered one in 3d print.
PS. Either it was my luck, or something – but my USB devices with plastic shell did not live long, or were not working reliably. Not sure if it was EMI, static discharge (and if you live in cold climate, in winter it is VERY big problem) or overheating.
I’ve seen this device in person. “that just won’t work” is incorrect.
If a 3D printed part will work or not depends a lot on it the print itself. It could work. But looking at the numbers already ordered, 3D printing isn’t the proper solution. A few k of the same prints of the same quality, that’s generally not going to work.
two buttons? inside the usb port.
They are clearly touch buttons on the end of the PCB (left side of the photo above).
I don’t think they’re touch-sensitive, I think it’s like the buttons on a watch. The middle contact would have a strip of springy metal attached to it. Pushing the metal against the outer 2 contacts makes the buttons.
Where’s the USB connector on the bloody thing?
the PCB is the connector. Look on the bottom side
If these had wireless connectivity, you could jam one into a usb charger socket and you’d have a tiny tiny server that nobody would notice if you left plugged in somewhere. Could be interesting.
The closes you can get right now is something called a Zsun. It’s a “Wifi Card Reader” meant for smartphone use. But it’s self contained and can have OpenWRT installed. It doesn’t fit in a port but it doesn’t look much like a complete device.
Look at cnlohrs espusb pcb :)
“The Yubikey’s tiny hardware does this job well, but the closed-source device isn’t something you can modify.”
Isn’t that kind of the point?
For the yubi, yes. But the intent here isn’t just to be another yubi – it’s to let the end user decide on the purpose. I can think of a ton of fun things to do with this.
Would work well as a hard-to-notice USB Rubber Ducky…
Wonder if it could be possible to do some cutting and sanding. Put it over or in place of the usb connector on a usb pen drive.
If you’re going to make a keylogger or deployment of something thing, I’d at least be tempted to put a tiny bit of neodymium magnet in the eyelet. Super fast covert removal. It looks a little fiddly to hook out with a trusty paperclip.
CNLohr made a USB HID keyboard with WiFi that fits inside a USB port.
I’ve contacted 6 different makerspaces (including Seeed) to ask if someone can actually manufacture one for me, but so far I’ve had no luck.
Please can someone guide me as to how to do manufacturing? The KiCAD design files are already on CNLohr’s github, I just need someone to build it for me.
I got one of these at the last eevblog meetup, unfortunately it lasted about 5 insertions into a USB port before becoming unresponsive. Was really keen to have a play with it (as Tomu gave me one), and give feedback.
I found the size was just a little too small and was easy to twist during insertion possibly shorting the pins.
Tomu had some other very impressive hardware on show as well.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)