top | item 34315533

Tomu – A family of devices which fit inside your USB port

353 points| tildef | 3 years ago |tomu.im

74 comments

order
[+] thrwawy74|3 years ago|reply
I'm silly. So many 'convertible' laptops cannot be used as tablet substitutes because they don't have volume or mute buttons at the edge of the enclosure when in tablet mode. I'd use one of these for volume up/down, mute, blanking the screen, locking the device, and authenticating. A bunch of "press this 3 times", etc. functions
[+] sally_glance|3 years ago|reply
3 free beers if you manage to make this work with even a single specific machine

Edit: This was a bad way of saying "Possible, but not easy - anybody got something?"

[+] metadat|3 years ago|reply
Blanking the screen? The only use I can imagine is as a boss key [0]. A dedicated device stuck in the side of the laptop or keyboard is conspicuous and therefore antithetical to the goal.

Might AutoHotKey be a universally superior solution?

[0] https://en.wikipedia.org/wiki/Boss_key

[+] mithro|3 years ago|reply
The Tomu family also has;

- The Fomu (FPGA Tomu) - https://fomu.im/ and https://workshop.fomu.im/

- The Qomu (ARM+eFPGA Tomu) - https://tomu.im/qomu.html

- The Somu (Secure Tomu) - https://www.crowdsupply.com/solokeys/somu

The Fomu is also a great RISC-V MCU prototyping platform.

[+] mithro|3 years ago|reply
I also have a general offer to send people who contribute to the open source FPGA tooling and ecosystem free Fomu boards.
[+] tildef|3 years ago|reply
I stumbled upon the Tomu (and hence submitted this story) specifically because I wanted to get my hands on a small/cheap FPGA via the Fomu. Probably picking up the Somu as a Yubikey replacement too. Keep up the awesome work!
[+] Orangeair|3 years ago|reply
I looked pretty thoroughly through the site and the product pages, but I still cannot find any discussion of use cases for the Fomu. Is it just education, ie. learning how to program an FPGA? I'm having trouble telling if it even has any dedicated I/O or if you can exclusively interact with it through USB.
[+] MrOwnPut|3 years ago|reply
> I looked pretty thoroughly through the site and the product pages

> trouble telling if it even has any dedicated I/O or if you can exclusively interact with it through USB.

All the product pages say: "I have four contact pads that can easily be used to make two buttons. And I have an RGB LED, because everyone loves blinky things!"

[+] bartvk|3 years ago|reply
I hope to see such devices available for USB-C one day. It doesn't need to sit flush with the outside casing, a PCB with a vertically mounted USB-C connector would already be awesome.
[+] marcosscriven|3 years ago|reply
The YubiKey 5C Nano is a good example of this.
[+] zitterbewegung|3 years ago|reply
You could buy an adaptor from A to C and it wouldn’t be flush . Honestly I have one of these and bought a small adaptor for that purpose . I really don’t want to mess up a USB port and easy removability is a win for me. Also I don’t think these will get fast speeds anytime soon so an adaptor is probably the best solution by far.
[+] smoldesu|3 years ago|reply
I mean, theoretically you could nest one of these in a USB-C adapter and have it that way. But yeah, this project mostly seems to leverage the novelty of USB-B's size.
[+] dheera|3 years ago|reply
Can we PLEASE have one with an IMU (accelerometer, gyroscope, magnetometer) in it? Even better if it can include a ambient temperature and barometer sensor as well.

Just have it constantly output data at max rate over a /dev/ttyACMx device in some specified format, no fancy drivers needed.

[+] sweetjuly|3 years ago|reply
I'm curious what your use case is for such a specific combo of sensors. Most of these devices are meant for use on standard consumer laptops (as in most other situations a regular mini microcontroller dev board is more than suitable), but I can't imagine wanting to shake my laptop and know the temperature ;)
[+] moloch-hai|3 years ago|reply
Be the change you seek in the world.
[+] pbalau|3 years ago|reply
I think is time to get a different class of this kind of devices. In the software world we have packages/libraries for pretty much everything. In the hardware world, in the hobby prototyping part, we have these "monstrosities" that can do everything, but not that great. I want a barebone arduino: a connector for power (let me deal with providing clean 5v), a connector for programming the mcu, a connector for external clock and a built in resonator/quartz. Make this in a easily breadbord-able package and off I go.

Obviously I could "build" the barebone arduino on a breadboard, but that means I have to redo the same thing every time I need to add a new mcu to my prototype. Or I could design and build the thing myself. I did this in the past, I've spent quite a few evening designing the thing, then ordered parts from China, then spent even more time soldering the things together. Just to piss off my cat that took a very long wee in the box I was storing the boards.

[+] rollcat|3 years ago|reply
I think the success of Arduino in the hardware world can be explained in a similar way, as the relative success of "command line app frameworks" like Click[1], or even much lighter-weight libraries like argparse[2]. You absolutely can get away with using just getopt[3] (and people experienced with it will likely strongly prefer it). However certain factors such as a more declarative API, a nice logo, the existence of an ecosystem (even if you're not actively drawing from it), an official "branded" forum, etc can all play into picking a more complex solution, with more baggage you don't need, certain oddities that may throw users off, etc.

[1]: https://click.palletsprojects.com/

[2]: https://docs.python.org/3/library/argparse.html

[3]: https://man.openbsd.org/getopt.3, https://linux.die.net/man/3/getopt

[+] titzer|3 years ago|reply
Relatedly, I would really like to have the opposite: a tiny x86 board that fits in a USB port (for my M1 Mac). It turns out that despite Rosetta 2, full-system emulation of x86 on M1 is still quite crappy, and it'd be great to have a full-blown Linux machine at hand.

I experimented with an x86-based ZenPhone...works OK, but that particular CPU was missing some SSE features that I need for my testing.

Anyone know of a something in this vein for x86?

[+] bigiain|3 years ago|reply
Heh. Everything that goes around comes around…

I used to have a Mac6100 DOS Compatible, which was a regular PowerPC Mac, with a daughter board that had a complete 486DX2/66 system on it capable of running DOS/Win3.1/Win95.

(These days, I have an Intel NUC on my network to run everything that works better on x86 or Docker…)

[+] nl|3 years ago|reply
Why does it need to fit in the USB instead of being accessible via network?

But if you really want this, I think the toybrick-rk1808 machine learning stick does this, although it is ARM not x86 Linux.

"It is equipped with Rockchip RK1808 Neural Processing Unit (NPU) features an accelerator delivering up to 3.0 TOPS and is coupled with two low-power Arm Cortex-A35 cores allowing it to run Linux."

https://core-electronics.com.au/toybrick-rk1808-ai-usb-compu...

And in the manual look for the documentation about "master mode":

> RK1808 AI compute stick with fedora operation system, Users can log in the fedora system for development and debugging via ssh. Root user’s and normal user’s password both are “toybrick”.

https://core-electronics.com.au/attachments/localcontent/RK1...

[+] coupdejarnac|3 years ago|reply
There are mini stick PCs that are complete computers that go into a USB port for around $150.
[+] lostmsu|3 years ago|reply
Is there no hardware-assisted virtualization software on M1 capable of running Linux? O-o
[+] ajsnigrutin|3 years ago|reply
What is the usecase of this? I get it.. they're tiny, but why? They're too small to handle properly (how do you pull it out if you have fat fingers?), they're too small to properly solder on wires to connect whatever else, and when there are 4 wires soldered on, they're not tiny anymore,... The only way I'd use them is for some kind of "hacking" situation, when an emulated keyboard is needed, and one of these can be installed and stay hidden in someone elses computer.

Otherwise, i'd use something like this (not afiliated):

https://www.aliexpress.com/item/1005003668483454.html

Enough pins are accessible, led is visible, headers can be soldered on and development can be done with dupont wires, the led is visible, and they're not that large still.

If you need more (and wifi), you even have stuff like this: https://www.aliexpress.com/item/1005004860003638.html (again, not afiliated)

[+] chadaustin|3 years ago|reply
I wanted to make a permanent wake-from-sleep capacitive touch button for a PC that doesn't always have a keyboard attached. I tried to use the Tomu for that. Unfortunately, I never was able to wrangle its built-in USB functionality to stay awake when the PC slept.

They're not that hard to pull out. I did find it hard to find good examples for how to program the micro's capabilities, however.

[+] matthijs_hofman|3 years ago|reply
This seems like an interesting way for hacking whatever has a USB port. It is affordable, easy to use. I think this might interest any kid that wants to be remembered forever by hacking his school or university.
[+] brink|3 years ago|reply
> I think this might interest any kid that wants to be remembered forever by hacking his school or university.

To any kids who want to be remembered forever reading this: be careful, the school may vindictively press felony hacking charges if they find out it's you. Source: This happened to me. Thankfully the charges were dropped by the judge.

[+] lucideer|3 years ago|reply
Not quite as affordable, but the o.mg cable is an existing option for this that's likely a lot easier to use.
[+] makeitdouble|3 years ago|reply
The wireless/bluetooth ones could be interesting as static appliances sitting inside a USB charger. I’m thinking room beacons for instance, or canary plugs to track which plugs are powered at any time, etc.
[+] dang|3 years ago|reply
Related:

Tomu – An ARM microprocessor which fits in your USB port - https://news.ycombinator.com/item?id=28395169 - Sept 2021 (53 comments)

Tomu, a tiny ARM microprocessor which fits in your USB port - https://news.ycombinator.com/item?id=17719848 - Aug 2018 (86 comments)

Tomu: An ARM board which fits inside your USB connector - https://news.ycombinator.com/item?id=16114778 - Jan 2018 (4 comments)

[+] tildef|3 years ago|reply
Thank you Dang, as always! However, I wonder if it's worth keeping the "family of devices" title from the website still. I'm personally not that interested in the ARM part of Tomu, and the reason I submitted the link was for non-ARM reasons (specifically because I think the Fomu is really cool). It seems like Tomu/Fomu is more of a series of microcomputers fitting into the USB form-factor at this point. I'm sure a Tomu expert can correct me if it's still primarily an ARM project.
[+] causi|3 years ago|reply
Interesting. My laptop doesn't have auto-brightness adjustment. Could I use one of these and an SMD light sensor to add that functionality?
[+] squokko|3 years ago|reply
What is the... purpose of something so small? I can't imagine getting any real I/O onto the edge of this board.