Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'v0.4-2'
Signed-off-by: Sean Cross <sean@xobs.io>
  • Loading branch information
xobs committed Jan 16, 2018
2 parents 529d66d + 1eb3baa commit 1c0450e
Show file tree
Hide file tree
Showing 21 changed files with 1,510 additions and 1,302 deletions.
120 changes: 61 additions & 59 deletions README.md
@@ -1,98 +1,100 @@
Tomu HArdware
====================

# [Tomu, I'm](tomu.im)

[I'm Tomu](tomu.im) a tiny ARM microprocessor which fits in your USB port.
[I'm Tomu](tomu.im) a tiny ARM microprocessor which fits in your USB port.
I have two buttons and two LEDs.

![Tomu Front Render](img/tomu-front.png)
![Tomu Back Render](img/tomu-back.png)

## Contact

* [Announcement mailing list](https://groups.google.com/forum/#!forum/tomu-announce/join) - Low traffic list for announcements.
* [Discussion mailing list](https://groups.google.com/forum/#!forum/tomu-discuss/join) - List for discussing development / new features / etc.
* [IRC Channel - irc://irc.freenode.net/#tomu](https://webchat.freenode.net/?channels=#tomu) - IRC channel for discussing anything related to the project.
Contact
--------

## WARNING: Prototypes have been constructed but software is currently still being developed.
We're available on mailing lists and IRC:

Built out of a 3d printed part + 2 layer "thin" PCB (should be 0.4mm or 0.6mm thickness preferred, but 0.8mm and 1.0mm should work).
* [IRC Channel - irc://irc.freenode.net/#tomu](https://webchat.freenode.net/?channels=#tomu) - IRC channel for discussing anything related to the project.
* [Announcement mailing list](https://groups.google.com/forum/#!forum/tomu-announce/join) - Low traffic list for announcements.
* [Discussion mailing list](https://groups.google.com/forum/#!forum/tomu-discuss/join) - List for discussing development / new features / etc.

The board has;
* 6mil traces
* 6mil clearance
* 0.3mm drill / 0.6mm vias
About the PCB
-------------

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

Uses a Silicon Labs EFM32HG309 ([datasheet](https://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32HG309.pdf), [reference manual](https://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32HG-RM.pdf)).
The board requirements are very lo-fi:

The important features are;
* [~$2.15 USD on Digikey](http://www.digikey.com/product-detail/en/silicon-labs/EFM32HG309F64G-A-QFN24/336-3207-ND/5142721)
* QFN24 - 5mm x 5mm package
* Inbuilt 5V to 3V3 regulator.
* Crystal-less USB
* 6mil traces
* 6mil clearance
* 0.3mm drill / 0.6mm vias

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

## BOM
The primary MCU is a Silicon Labs EFM32HG309 ([datasheet](https://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32HG309.pdf), [reference manual](https://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32HG-RM.pdf)).

The important features are:

All parts are ordered from Digikey but could easily be ordered from somewhere else.
* [Available on Digikey](http://www.digikey.com/product-detail/en/silicon-labs/EFM32HG309F64G-A-QFN24/336-3207-ND/5142721)
* QFN24 - 5mm x 5mm package
* Inbuilt 5V to 3V3 regulator.
* Crystal-less USB

* [Digikey BOM in CSV format](bom-digikey.csv)
* [Digikey Shared Cart](http://www.digikey.com.au/short/39z1zv)
These make something which is almost hand solder-able fit into the tiny size.

Individual parts;
BOM
--------

* Resistors
- 2 x 0402 - 15 Ohm - [Digikey](https://www.digikey.com.au/short/3m8rz5)
- 2 x 0402 - ~50 Ohm (Depends on LED choice)
All parts are available from Digikey, and are readily available from other suppliers.

* Capacitors - [Digikey Capacitors 0402, >1uF](https://www.digikey.com.au/short/3m8r4z)
- 2 x Capacitor 1uF 0402
- 1 x Capacitor >10uF 0402
* [Digikey BOM in CSV format](bom-digikey.csv)
* [Digikey Shared Cart](http://www.digikey.com.au/short/39z1zv)

* 2 x LED 0402
- You choice of two different colors (might require adjustment of R1/R2).
- 5mA LEDs are better choice.
- Get highest millicandela rating you can.
- [Digikey Search of LEDs in 0402 package](https://www.digikey.com.au/short/3m8rz0)
### Individual Parts ###

* 1 x EFM32HG309 or EMF32HG308
* Resistors
* 2 x 0402 - 15 Ohm - [Digikey](https://www.digikey.com.au/short/3m8rz5)
* 2 x 0402 - ~50 Ohm (Depends on LED choice)
* Capacitors - [Digikey Capacitors 0402, >1uF](https://www.digikey.com.au/short/3m8r4z)
* 2 x Capacitor 1uF 0402
* 1 x Capacitor >10uF 0402
* 2 x LED 0402
* You choice of two different colors (might require adjustment of R1/R2).
* 5mA LEDs are better choice.
* Get highest millicandela rating you can.
* [Digikey Search of LEDs in 0402 package](https://www.digikey.com.au/short/3m8rz0)
* 1 x EFM32HG309 or EMF32HG308

Case
----

## TODO
The PCB is slightly narrower than a USB slot, and is significantly flatter. Tomu is designed to be sandwiched in the USB port alongside a case of some sort. 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.

* Create the device
* Create the 3d print model.
* Write the firmware for the device.
Designs are available in the "case/" directory. Cases for earlier versions tend to require higher tolerance on 3D printers.

## FAQ
FAQ
----

##### Why did you create this?
### Why did you create this?

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

##### Where does the name Tomu come from?
### Where does the name Tomu come from?

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

##### What can I use this for?
### What can I use this for?

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

## License
License
-------

The contents of this repository excluding [`third_party` folder](./third_party)
is released under your choice of the following two licences:

* the "Creative Commons Attribution-ShareAlike 4.0 International License"
(CC BY-SA 4.0) full text of this license is included in the
[LICENSE.CC-BY-SA-4.0](LICENSE.CC-BY-SA-4.0) file and a copy can also be
found at http://creativecommons.org/licenses/by-sa/4.0/

* the "TAPR Open Hardware License" full text of this license is included
in the [LICENSE.TAPR](LICENSE.TAPR) file and a copy can also be found at
http://www.tapr.org/OHL

* the "Creative Commons Attribution-ShareAlike 4.0 International License"
(CC BY-SA 4.0) full text of this license is included in the
[LICENSE.CC-BY-SA-4.0](LICENSE.CC-BY-SA-4.0) file and a copy can also be
found at http://creativecommons.org/licenses/by-sa/4.0/
* the "TAPR Open Hardware License" full text of this license is included
in the [LICENSE.TAPR](LICENSE.TAPR) file and a copy can also be found at
http://www.tapr.org/OHL
Binary file modified case/tomu_0.3_case.FCStd
Binary file not shown.
Binary file modified case/tomu_0.3_case.stl
Binary file not shown.
Binary file added case/tomu_0.4_case.FCStd
Binary file not shown.
160 changes: 101 additions & 59 deletions tomu-cache.lib
Expand Up @@ -6,62 +6,80 @@ EESchema-LIBRARY Version 2.3
DEF +3V3 #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "+3V3" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
ALIAS +3.3V
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# CONN_01X04
# C_Small
#
DEF CONN_01X04 P 0 40 Y N 1 F N
F0 "P" 0 250 50 H V C CNN
F1 "CONN_01X04" 100 0 50 V V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DEF C_Small C 0 10 N N 1 F N
F0 "C" 10 70 50 H V L CNN
F1 "C_Small" 10 -80 50 H V L CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Pin_Header_Straight_1X04
Pin_Header_Angled_1X04
Socket_Strip_Straight_1X04
Socket_Strip_Angled_1X04
C_*
$ENDFPLIST
DRAW
S -50 -145 10 -155 0 1 0 N
S -50 -45 10 -55 0 1 0 N
S -50 55 10 45 0 1 0 N
S -50 155 10 145 0 1 0 N
S -50 200 50 -200 0 1 0 N
X P1 1 -200 150 150 R 50 50 1 1 P
X P2 2 -200 50 150 R 50 50 1 1 P
X P3 3 -200 -50 150 R 50 50 1 1 P
X P4 4 -200 -150 150 R 50 50 1 1 P
P 2 0 1 13 -60 -20 60 -20 N
P 2 0 1 12 -60 20 60 20 N
X ~ 1 0 100 80 D 50 50 1 1 P
X ~ 2 0 -100 80 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# C_Small
# Conn_01x01
#
DEF C_Small C 0 10 N N 1 F N
F0 "C" 10 70 50 H V L CNN
F1 "C_Small" 10 -80 50 H V L CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DEF Conn_01x01 J 0 40 Y N 1 F N
F0 "J" 0 100 50 H V C CNN
F1 "Conn_01x01" 0 -100 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
C?
C_????_*
C_????
SMD*_c
Capacitor*
Connector*:*_??x*mm*
Connector*:*1x??x*mm*
Pin?Header?Straight?1X*
Pin?Header?Angled?1X*
Socket?Strip?Straight?1X*
Socket?Strip?Angled?1X*
$ENDFPLIST
DRAW
P 2 0 1 13 -60 -20 60 -20 N
P 2 0 1 12 -60 20 60 20 N
X ~ 1 0 100 75 D 40 40 1 1 P
X ~ 2 0 -100 80 U 40 40 1 1 P
S -50 5 0 -5 1 1 6 N
S -50 50 50 -50 1 1 10 f
X Pin_1 1 -200 0 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Conn_01x03
#
DEF Conn_01x03 J 0 40 Y N 1 F N
F0 "J" 0 200 50 H V C CNN
F1 "Conn_01x03" 0 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_??x*mm*
Connector*:*1x??x*mm*
Pin?Header?Straight?1X*
Pin?Header?Angled?1X*
Socket?Strip?Straight?1X*
Socket?Strip?Angled?1X*
$ENDFPLIST
DRAW
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 150 50 -150 1 1 10 f
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 -200 0 150 R 50 50 1 1 P
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
Expand All @@ -73,8 +91,8 @@ F1 "EFM32HG309" 650 675 39 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
T 900 450 375 60 0 0 0 Power Normal 0 C C
T 900 475 975 60 0 0 0 USB Normal 0 C C
T 900 450 375 60 0 0 0 Power Normal 0 C C
T 900 475 975 60 0 0 0 USB Normal 0 C C
S 0 100 400 0 0 0 0 N
S 0 525 400 350 0 0 0 N
S 0 700 400 525 0 0 0 N
Expand Down Expand Up @@ -116,19 +134,19 @@ ENDDEF
DEF GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# LED
# LED-RESCUE-tomu
#
DEF LED D 0 40 Y N 1 F N
DEF LED-RESCUE-tomu D 0 40 Y N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "LED" 0 -100 50 H V C CNN
F1 "LED-RESCUE-tomu" 0 -100 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Expand All @@ -141,38 +159,62 @@ $FPLIST
LEDV
$ENDFPLIST
DRAW
P 2 0 1 0 -50 50 -50 -50 N
P 3 0 1 0 -80 -25 -125 -65 -120 -40 N
P 3 0 1 0 -65 -40 -110 -80 -105 -55 N
P 3 0 1 0 50 50 -50 0 50 -50 F
P 2 0 1 0 -50 50 -50 -50 N
P 3 0 1 0 -80 -25 -125 -65 -120 -40 N
P 3 0 1 0 -65 -40 -110 -80 -105 -55 N
P 3 0 1 0 50 50 -50 0 50 -50 F
X K 1 -200 0 150 R 40 40 1 1 P
X A 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# Note
#
DEF Note XX 0 40 N Y 1 F N
F0 "XX" 0 0 60 H V C CNN
F1 "Note" 0 -100 60 H V C CNN
F2 "" 0 0 60 H I C CNN
F3 "" 0 0 60 H I C CNN
DRAW
S -100 250 100 50 0 1 0 f
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 75 50 H I C CNN
F1 "PWR_FLAG" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
X pwr 1 0 0 0 U 50 50 0 0 w
P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N
ENDDRAW
ENDDEF
#
# R_Small
#
DEF R_Small R 0 10 N N 1 F N
F0 "R" 30 20 50 H V L CNN
F1 "R_Small" 30 -40 50 H V L CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Resistor_*
R_*
$ENDFPLIST
DRAW
S -30 70 30 -70 0 1 8 N
X ~ 1 0 100 30 D 40 40 1 1 P
X ~ 2 0 -100 30 U 40 40 1 1 P
X ~ 1 0 100 30 D 50 50 1 1 P
X ~ 2 0 -100 30 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# TEST
# TEST-RESCUE-tomu
#
DEF TEST W 0 30 N N 1 F N
DEF TEST-RESCUE-tomu W 0 30 N N 1 F N
F0 "W" 0 60 50 H V C CNN
F1 "TEST" 0 -70 50 H V C CNN
F1 "TEST-RESCUE-tomu" 0 -70 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
Expand Down

0 comments on commit 1c0450e

Please sign in to comment.