1 of 46

I'm Tomu

https://tomu.im

~100 @ 33C3

Hacking Session

Meet RIAT Crypto Lab

2016/12/30 14:00

(Tomorrow!)

Send pull request,

get device!

(Otherwise €10 EUR)

  • 25MHz ARM Cortex-M0+
  • 8kb^ RAM
  • 64kb^ Flash
  • USB 2.0

  • 2 different color LEDs
  • 2 touch buttons

  • Literally 12 Parts
  • ~$10 USD from Digikey�In individual quantities�
  • Hand solderable

^kilobytes

2 of 46

I'm Tomu

tomu.im

Fitting an ARM microprocessor in your USB port...

V Final - 28th Dec 2016

3 of 46

I'm Tim

I have too many projects!

http://j.mp/timtoomany

Software developer by trade

Not a security person!

I believe in FOSS

I'm okay with hardware

I have lots of ideas, but many take a long time.

IE Current primary project;

  • TimVideos.us
  • HDMI2USB.tv

Started ~2011, still going…

That can be hard……

4 of 46

Now our story starts…

How we got here…

5 of 46

2 factor authentication hardware

6 of 46

YubiKey Nano - 2nd factor authentication key

7 of 46

My family, they have computers…

8 of 46

They should have one!

Hand them out like candy…

9 of 46

Anyone notice something wrong?

10 of 46

Anyone notice something wrong?

11 of 46

$50 USD!

Expensive candy…

€?? EUR!

12 of 46

I'm Tim

I have too many projects!

http://j.mp/timtoomany

I believe in FOSS

I'm okay with hardware

I have lots of ideas, but many take a long time.

IE Current primary project;

  • TimVideos.us
  • HDMI2USB.tv

Started ~2011, still going…

That can be hard……

13 of 46

Literally has minimal parts

Probably a little (physically) ARM processor

Literally has <$10 USD in parts

14 of 46

Silicon Labs - Happy Gecko

  • 25MHz ARM Cortex-M0+
  • 8kb^ RAM
  • 64kb^ Flash
  • USB 2.0
  • Inbuilt power supply

  • ~$2.15 USD on Digikey�In individual quantities

^kilobytes

15 of 46

Let's prove a hobbyist can create one!

But, will they be able to solder it?

16 of 46

Created a schematic

17 of 46

Created PCB

18 of 46

Put one together by hand!

19 of 46

Put more together by hand!

20 of 46

The hardware works!

21 of 46

So, I got 100 made! (I got tired :-)

22 of 46

I'm Tomu

  • 25MHz ARM Cortex-M0+
  • 8kb^ RAM
  • 64kb^ Flash
  • USB 2.0

  • 2 different color LEDs
  • 2 touch buttons

  • Literally 12 Parts
  • ~$10 USD from Digikey�In individual quantities
  • Hand solderable

^kilobytes

23 of 46

I'm Tomu

http://tomu.im

Open Hardware Certified

AU000001

24 of 46

Get Tomu

http://tomu.im

I have here at 33C3;

  • ~100 preconstructed boards
  • ~10 "construction" kits
  • Bunch of spare parts�

You can have one if you;

  • Give me ~€10 EUR�(or ~$10 USD, or $10 AUD)�
  • Send a pull request
  • Give me a good reason

25 of 46

Get Tomu

http://tomu.im

PCB is;

  • 6mil traces, 6mil clearance
  • 0.3mm drill / 0.6mm vias
  • 0.8mm PCB (or less)

Can be made by;

  • Hackvana - Tested
  • DirtyPCB - In testing
  • SeedStudios - In testing
  • OSH Park - Testing soon

Gerbers

http://j.mp/tomu-v2-gerbers

Someone panelize?

26 of 46

What about the software?

Umm, need your help there….

27 of 46

FAQ

28 of 46

FAQ

Is this device secure?

...

29 of 46

Is this secure?

Maybe?

  • You control the software
  • You built it yourself
  • Bootloader is user code
  • Debugging can be disabled
  • Epoxy it together

30 of 46

FAQ

Is this device secure?

Maybe?

31 of 46

FAQ

Can I use it now?

Not yet…

32 of 46

FAQ

What else could

I use it for?

USB Blinker, USB button, Keyboard pranker, anything...

33 of 46

FAQ

What else could

I use it for?

It's a little computer!

34 of 46

FAQ

How can I help?

Help write the software!�Suggest improvements!

35 of 46

FAQ

How much in larger groups?

In thousand units (~1k)

could be as cheap as $5 USD

36 of 46

More!

37 of 46

I'm Tomu+

http://tomu.im

  • 48MHz ARM Cortex-M0+
  • 32kb^ RAM
  • 256kb^ Flash
  • Bootloader in ROM

  • 2 different color LEDs
  • 2 touch buttons
  • USB 2.0
  • Hardware crypto chip
  • Literally 14 parts

  • ~$15 USD from Digikey�In individual quantities
  • Hand solderable

^kilobytes

38 of 46

FAQ

Does this device really have

*only* 12 parts?

Yes, let's do a count

39 of 46

I'm Tomu

http://tomu.im

1

40 of 46

I'm Tomu

http://tomu.im

3

41 of 46

I'm Tomu

http://tomu.im

5

42 of 46

I'm Tomu

http://tomu.im

7

43 of 46

I'm Tomu

http://tomu.im

9

44 of 46

I'm Tomu

http://tomu.im

10

45 of 46

11

46 of 46

12