Tomu – An ARM microprocessor which fits in your USB port(tomu.im)
tomu.im
Tomu – An ARM microprocessor which fits in your USB port
https://tomu.im/tomu.html
54 コメント
The Tomu is super cool! It also has a bunch of spinoffs, the most interesting of which IMO is the Fomu (https://tomu.im/fomu.html). It's an ice40up5k FPGA in your USB port, not sure if you can get them anywhere due to the parts shortage but I know I've enjoyed hacking on mine.
Quickly looked into Fomu and ran into this sweet FPGA Tomu Workshop https://workshop.fomu.im/en/latest/. Looks like you can get considerably better hardware (better connected at the very least) for half the price of a Fomu tho in the form of the UPduino (https://tinyvision.ai/products/upduino-v3-0).
I recommend the ICEBreaker if you're starting out as it's meant to be a learning platform.
https://www.crowdsupply.com/1bitsquared/icebreaker-fpga
There's a bunch of FPGA boards that are reasonably cheap and powerful.
https://github.com/kelu124/awesome-latticeFPGAs
The ICE Sugar boards look pretty sweet too.
https://muselab-tech.aliexpress.com/store/5940159
https://www.crowdsupply.com/1bitsquared/icebreaker-fpga
There's a bunch of FPGA boards that are reasonably cheap and powerful.
https://github.com/kelu124/awesome-latticeFPGAs
The ICE Sugar boards look pretty sweet too.
https://muselab-tech.aliexpress.com/store/5940159
In stock at CrowdSupply: https://www.crowdsupply.com/sutajio-kosagi/fomu
This looks like a follow-up to:
O.mg Cable - https://news.ycombinator.com/item?id=28394035 - Sept 2021 (404 comments)
One past related discussion:
Tomu, a tiny ARM microprocessor which fits in your USB port - https://news.ycombinator.com/item?id=17719848 - Aug 2018 (86 comments)
O.mg Cable - https://news.ycombinator.com/item?id=28394035 - Sept 2021 (404 comments)
One past related discussion:
Tomu, a tiny ARM microprocessor which fits in your USB port - https://news.ycombinator.com/item?id=17719848 - Aug 2018 (86 comments)
Any suggestions as to what you'd do with it? Forgive my lack of imagination.
2FA token is the most obvious use case I can imagine. Otherwise you can do some programming practice. You are limited on IO though.
I've been wanting to learn FPGA to build hardware accelerated compression for external storage[1], Would these HW be a good start?
[1] https://needgap.com/problems/102-external-storage-with-hardw... (Disclaimer: My validation platform).
[1] https://needgap.com/problems/102-external-storage-with-hardw... (Disclaimer: My validation platform).
It's an excellent educational device to introduce people to embedded development.
[deleted]
Does the buttons cause wear on the USB port? Are they perpendicular to the plane of the usb port or parallel to it?
The "buttons" are touch-sensitive contacts, not mechanical switches.
How secure memory is implemented? Ordinary SRAM is easy to crack for someone with good tools.
This seems neat!
I wonder if you can fit that into a mechanical keyboard's keycap.
Truly wireless keyboard where every key is connected via bluetooth
Not bluetooth, but every key being wireless is great for ergonomic keyboards. You can tune the layout iteratively without soldering anything. I think there's enough kinetic energy for a short transmit each time the key is pressed, but currently the energy is now dispersed to bounce the key back up. A thick keyboard (like kinesis or dactyl) does have space for a CR1616 battery under each switch though.. That with an NFC/RFID chip for each key might actually enable a truly wireless keyboard.
This is an extremely cursed idea, I love it.
Not Bluetooth, but tempting to give this idea a try using a sub-$1 microcontroller [0] implementing a software-defined radio with a PCB trace antenna which is powered from the kinetic energy when you actually hit the key.
[0] https://jaycarlson.net/microcontrollers/
[0] https://jaycarlson.net/microcontrollers/
Now pairing the A key.
Maybe RFID so you can do power in the wireless, too
Probably, the chip itself is about 4 mm on a side. Not sure though why I would want a 104-core keyboard though.
Keep your fingertips warm in winter.
For that, just replace the LEDs with incandescents.
Put in a mini display to the key, and customise your keycaps! See my other comment about the EspUSB and trying to type other languages.
The ARM core wouldn't be ideal for that though, because it would need a separate WiFi chip. Probably better just to use an ESP (ESP8266, ESP8285, ESP32-C3) that has WiFi (sometimes also BLE) on the silicon.
For an easier challenge, I wish there's a TOMU that sits flush with the USB port, and with functioning push buttons on the side. Then I could add 2 extra keys to my keyboard!
The ARM core wouldn't be ideal for that though, because it would need a separate WiFi chip. Probably better just to use an ESP (ESP8266, ESP8285, ESP32-C3) that has WiFi (sometimes also BLE) on the silicon.
For an easier challenge, I wish there's a TOMU that sits flush with the USB port, and with functioning push buttons on the side. Then I could add 2 extra keys to my keyboard!
Shameless plug but you can try and build a Tomu yourself with help of the Kitspace page.
https://kitspace.org/boards/github.com/im-tomu/tomu-hardware...
https://kitspace.org/boards/github.com/im-tomu/tomu-hardware...
The inspiration for the Somu FIDO key, albeit with a different microcontroller, I think: https://solokeys.com/products/somu-tiny-security-key-two-fac...
I just received my Somu a week ago. Really like the form factor and am mostly happy with it's functionality so far. One thing that bugs me is that the RGB light is always on. While it's position inside the USB socket is deep enough for it not to be bothersome to the eyes, I'm annoyed that the security token quite literally has a bright light on it that potentially draws the attention of bad actors. Luckily I got the "Hacker" version that allows this behavior to be modified. Anyone who gets the standard version will have locked firmware, meaning this behavior cannot be changed. FYI.
Does anyone know of an equivalent OSH projects with type-C rather than type-A?
It's quite easy to change the design to C-type. But the reason that they chose an A-Type is that it's much larger and only needs contacts on one side => you can fit the entire board inside the USB port. With C-type, that won't fit.
These same people sell the Precursor[0], a RISC-V dev board in the form-factor of a feature phone!
[0] https://www.crowdsupply.com/sutajio-kosagi/precursor
[0] https://www.crowdsupply.com/sutajio-kosagi/precursor
Cute but $565, ouch.
Too bad that all smaller ARM microprocessors are rapidly being sold out.
Digikey has about 500 left in stock, and they are no longer being fabricated.
Digikey has about 500 left in stock, and they are no longer being fabricated.
The ESP32 is also ARM and quite small and still actively produced.
Not ARM.
I was shocked when I found out ESP wasn't ARM. It's a weird arch you never heard of. They distribute an ancient Gcc in their SDK, and at least Debian only packages an ancient Gcc for it. Don't know if anybody packages a current-ish compiler. Don't know how big a hassle it is to build one.
They're almost up to date with LLVM: https://github.com/espressif/llvm-project/
There is reasonable GCC support for the ESP Vertex arch, and they seem to be migrating toward RISC-V, so the current ESP32-C3 uses RISC-V arch. But they still have another Vertex part in the works.
Wow, TIL.
We switched from Arduino (which is ARM) to ESP32 and all dependencies compiled and just worked, so I wrongly assumed that it'd be ARM, too. But apparently, their tooling is just really good.
We switched from Arduino (which is ARM) to ESP32 and all dependencies compiled and just worked, so I wrongly assumed that it'd be ARM, too. But apparently, their tooling is just really good.
Arduino is Atmel AVR, not Arm.
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-...
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-...
Also not small.
The EspUSB is small! It fits inside a USB port and can act as a USB keyboard & mouse.
https://www.youtube.com/watch?v=FPBzOaLbWhM
There's an even smaller design on the github that I had custom-manufactured at PCBWay before. Please email espusb@gmail if you want to know more.
https://github.com/cnlohr/espusb/tree/master/hardware/usb_82...
Charles Lohr made the amazing design. I built a little on top, and made a slight modification to the firmware to allow text entry in all languages by sending Unicode codepoints.
So now I can type Chinese (or Japanese, Korean, Russian, Arabic, Thai...) on my phone's keyboard, and have the EspUSB type it into my laptop. Very convenient when the characters aren't printed on the keys.
Pity I never figured out how to do the regulatory compliance for the EspUSB, so couldn't follow through on actually getting it onto a web store (e.g. Tindie, AliExpress, eBay, TradeMe). I looked into it, but the lack of EM shielding is quite difficult to justify, and adding such shielding would make it too big.
https://www.youtube.com/watch?v=FPBzOaLbWhM
There's an even smaller design on the github that I had custom-manufactured at PCBWay before. Please email espusb@gmail if you want to know more.
https://github.com/cnlohr/espusb/tree/master/hardware/usb_82...
Charles Lohr made the amazing design. I built a little on top, and made a slight modification to the firmware to allow text entry in all languages by sending Unicode codepoints.
So now I can type Chinese (or Japanese, Korean, Russian, Arabic, Thai...) on my phone's keyboard, and have the EspUSB type it into my laptop. Very convenient when the characters aren't printed on the keys.
Pity I never figured out how to do the regulatory compliance for the EspUSB, so couldn't follow through on actually getting it onto a web store (e.g. Tindie, AliExpress, eBay, TradeMe). I looked into it, but the lack of EM shielding is quite difficult to justify, and adding such shielding would make it too big.