Code Monkey home page Code Monkey logo

tomu-hardware's Introduction

Tomu Hardware

I'm Tomu a tiny ARM microprocessor which fits in your USB port. I have two buttons and two LEDs.

Tomu Front Render Tomu Back Render

Contact

We're available on mailing lists and IRC:

About the PCB

Built out of a 3D printed part + 2 layer "thin" PCB. LCA2018 and Crowd Supply boards are 0.6mm.

Designs and documentation are available in:

  • pcb/: KiCad design files
  • docs/: PDF schematics, pin-out diagrams, and 3D renders

The board requirements are very lo-fi:

  • 6mil traces
  • 6mil clearance
  • 0.3mm drill / 0.6mm vias

The primary MCU is a Silicon Labs EFM32HG309 (datasheet, reference manual).

The important features are:

These make something which is almost hand solder-able fit into the tiny size.

BOM

All parts are available from Digikey, and are readily available from other suppliers.

Individual Parts

  • Resistors
    • 2 x 0402 - 15 Ohm - Digikey
    • 2 x 0402 - ~50 Ohm (Depends on LED choice)
  • Capacitors - Digikey Capacitors 0402, >1uF
    • 2 x Capacitor 1uF 0402
    • 1 x Capacitor 4.7uF 0402
  • 2 x LED 0402
  • 1 x EFM32HG309 or EMF32HG308

Case

The PCB is thinner than a USB socket, and has exposed contacts on the reverse side, so it needs a case in order to make proper contact with the USB pins, and to not short on the shield of the USB port.

Early prototypes used a business card that had been folded over, however the crowd funding campaign made enough to cut steel and make a case.

Designs are available in the case/ directory. Cases for earlier board versions tend to require higher tolerance on 3D printers.

FAQ

Why did you create this?

The aim was to prove that a device which fits in your USB port could be created by hobbyists in small quantities extremely cheaply.

Where does the name Tomu come from?

TOMU comes from the abbreviation "Tim's Open Micro USB".

What can I use this for?

What ever you want! If you do create something, please send me the info!

License

The contents of this repository excluding third_party directory is released under your choice of the following two licences:

tomu-hardware's People

Contributors

ferdymercury avatar flummer avatar kasbah avatar kennethlimcp avatar kitlith avatar luaks avatar micolous avatar mithro avatar phlipped avatar shenki avatar xobs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tomu-hardware's Issues

Test the ARM SWD

Test that the CPU can be debugged via the ARM SWD pins using OpenOCD and GDB.

Reset pin not connected

The /RESET pin (pin 7 of the MCU) is not made available. This is an issue when working on the bootloader.

Ordinarily, the system relies on being able to send a JTAG reset. This is fine if the MCU isn't locked up. However, if the MCU crashes then it is impossible to reattach gdb without a reset.

In order to develop on the bootloader itself, /RESET should be brought out to a pad.

Schematics image, but with a photo/diagram of the physical layout

I was having a look to see what is brought out from the EFM32HG309 on the back of the board, and so my first port of call was /docs/tomu.pdf. But this shows the logical layout. There's also no indication about which version of the board it applies to.

What would help is if there were pictures/diagrams of the actual, physical layout of the board, pointing to what each pad corresponds to on the EFM32HG309.

This would help people who are less skilled with electronics to know what they're wiring on to.

I think what it is:

  • The 4 pads on the top labelled with "D" and "C" are the debug interface, and, from left to right:
    1. 3.3v
    2. SWDIO
    3. SWDCLK
    4. Ground (square)
  • The 4 pads on the bottom, labelled with "T" and "R" are the (Low Energy) UART interface, and, from left to right:
    1. 3.3v
    2. PB13 / LEU0_TX
    3. PB14 / LEU0_RX
    4. Ground (square)
  • The four contacts on the left edge are the touch-sensitive pins, not sure what is connected to what there, but could also be repurposed for analogue or digital I/O.

ROHS compliance

I see that all of the components listed here are ROHS compliant (awesome!), but is the solder you use ROHS compliant as well? Also, are there plans to get tomu ROHS-certified? Keep up the good work!

U1 pin 1 marker is confusing

The "pin 1" marker for U1 is very subtle, and multiple assembly shops have had trouble identifying it.

"pin 1" should be changed to use the more traditional "pin 1 dot", rather than the current arrangement of a broken box.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.