F*WATCH, making a watch differently! Federico Vaga, Matthieu Cattin FOSDEM, Brussels, 31 January 2015 Federico Vaga, Matthieu Cattin F*WATCH 1/44
What is it? Federico Vaga, Matthieu Cattin F*WATCH 2/44
What is it? Federico Vaga, Matthieu Cattin F*WATCH 2/44
Why a watch? Retirement gift for a timing Hacker Gift Requirement 1 customization of the gift 2 hackable gift 3 free/open source 4 use only FOSS tools Federico Vaga, Matthieu Cattin F*WATCH 3/44
Development organization Federico Vaga, Matthieu Cattin F*WATCH 4/44
The design Components selection criteria Low power consumption Available in small quantity from main suppliers Small size (footprint) Federico Vaga, Matthieu Cattin F*WATCH 5/44
Components selection Micro-controller (EFM32) Silicon Labs 32-bit Cortex-M3 1MB flash 128kB RAM 1.1uA deep sleep Federico Vaga, Matthieu Cattin F*WATCH 6/44
Components selection GPS module Antenova 13 x 9.5 x 1.8mm Integrated antenna Federico Vaga, Matthieu Cattin F*WATCH 7/44
Components selection Altimeter module (pressure sensor) Measurement Specialties 6.4 x 4 x 2.8mm Water-resistant Includes a thermometer Federico Vaga, Matthieu Cattin F*WATCH 8/44
Components selection Memory LCD display Sharp 128 x 128 pixels 1.28 inches Ultra low current Federico Vaga, Matthieu Cattin F*WATCH 9/44
Components selection Battery Adafruit Li-ion 500mAh Big capacity Lightweight Rechargeable Federico Vaga, Matthieu Cattin F*WATCH 10/44
Components selection Other features 3-axis accelerometer + compass Ambient light sensor micro-SD card slot Battery charger + fuel gauge micro-USB connector Buzzer Vibrating motor Foreseen improvements Bluetooth LE Low noise amplifier for the GPS antenna Power management Federico Vaga, Matthieu Cattin F*WATCH 11/44
PCB design CERN is contributing Developers in the team (help, bugfix, feedback) New features making routing easier (e.g push&shove) Script to generate placement pdf Interested in knowing more about KiCad developments? Visit the EDA dev room (AW1.124) tomorrow Federico Vaga, Matthieu Cattin F*WATCH 12/44
PCB design Characteristics 4 x 4 cm 4 layers Components on both sides Licensed under CERN OHL v1.2 Federico Vaga, Matthieu Cattin F*WATCH 13/44
PCB assembly & validation Prototypes assembled by hand Fully working, except two minor bugs Error in a datasheet MCU interrupt scheme → Fixed with few cuts and wires! Federico Vaga, Matthieu Cattin F*WATCH 14/44
Backlight A long story... To read display in the dark No backlight available Federico Vaga, Matthieu Cattin F*WATCH 15/44
Backlight First try: LEDs + opaque Plexiglas Federico Vaga, Matthieu Cattin F*WATCH 16/44
Backlight First try: LEDs + opaque Plexiglas Not good! Federico Vaga, Matthieu Cattin F*WATCH 16/44
Backlight Second try: Recycled smartphone backlight Federico Vaga, Matthieu Cattin F*WATCH 17/44
Backlight Second try: Recycled smartphone backlight Better, but... Federico Vaga, Matthieu Cattin F*WATCH 17/44
Backlight Current try: Custom-made module → Low quantity, cheap ( < 5$/pces) Federico Vaga, Matthieu Cattin F*WATCH 18/44
Backlight Current try: Custom-made module → Low quantity, cheap ( < 5$/pces) The solution Federico Vaga, Matthieu Cattin F*WATCH 18/44
Mechanical design CAD tool selection No mechanical engineer No experience in 3D design/printing Evaluate existing free CAD tools FreeCAD, OpenSCAD, Open CASCADE, ... Federico Vaga, Matthieu Cattin F*WATCH 19/44
Mechanical design CAD tool selection No mechanical engineer No experience in 3D design/printing Evaluate existing free CAD tools FreeCAD, OpenSCAD, Open CASCADE, ... Criteria Documentation, support User-friendliness, learning curve Federico Vaga, Matthieu Cattin F*WATCH 19/44
Mechanical design CAD tool selection No mechanical engineer No experience in 3D design/printing Evaluate existing free CAD tools FreeCAD, OpenSCAD, Open CASCADE, ... Criteria Documentation, support User-friendliness, learning curve Decided to use FreeCAD Federico Vaga, Matthieu Cattin F*WATCH 19/44
Mechanical design Full of new challenges Learn FreeCAD from scratch Design a watch case 3D print it Federico Vaga, Matthieu Cattin F*WATCH 20/44
Mechanical design Full of new challenges Learn FreeCAD from scratch Design a watch case 3D print it It’s time for a live demo! Federico Vaga, Matthieu Cattin F*WATCH 20/44
3D model Making of movie (6 hours summarised in 5 minutes) http://www.ohwr.org/projects/f-watch/wiki/Movies Federico Vaga, Matthieu Cattin F*WATCH 21/44
First 3D print Fused plastic material - Low-cost 3D printer Poor resolution, not good enough Federico Vaga, Matthieu Cattin F*WATCH 22/44
Second 3D print Plastic material (powder) Good resolution, but not smooth, not water-proof Federico Vaga, Matthieu Cattin F*WATCH 23/44
Third 3D print Resin material Smooth, water-proof, but bad fastening Federico Vaga, Matthieu Cattin F*WATCH 24/44
Forth 3D print Resin material Improved case parts fastening Federico Vaga, Matthieu Cattin F*WATCH 25/44
Mechanical design The buttons Federico Vaga, Matthieu Cattin F*WATCH 26/44
Building the watch Buy electronics/mechanical components Download circuit Gerber files and order PCB Assemble the board Download case/button models and order 3D print Buy/build a programmer (bootloader) Optional: Milling machine (Plexiglas) Federico Vaga, Matthieu Cattin F*WATCH 27/44
Building the watch Software Download sources from the GIT repo No binary releases (yet) Compile bootloader and flash it (using a programmer) Compile application sw and flash it (using the bootloader) Modify, re-flash, test, etc... git://ohwr.org/f-watch.git Federico Vaga, Matthieu Cattin F*WATCH 28/44
How much does it costs? Estimated cost for small series (without shipping) Number of watches 1 10 50 Pcb + components 175 C 94 C 81 C Pcb assembly - 118 C 67 C Case + buttons + screws 68 C 67 C 61 C TOTAL per watch 243 C 278 C 209 C TOTAL 243 C 2’784 C 10’455 C 3D print : 60 C Pressure sensor : 19 C PCB : 77 C GPS module : 19 C Display : 17 C Federico Vaga, Matthieu Cattin F*WATCH 29/44
MCU SDK free and open source software A lot of integration examples Well documented Federico Vaga, Matthieu Cattin F*WATCH 30/44
Bootloader free bootloader provided by SiliconLab support for IAR, Keil uVision migrate to gcc toolchain (don’t use gcc optimization!) Federico Vaga, Matthieu Cattin F*WATCH 31/44
Operating System FreeRTOS uC/OS-III RTX TNKernel License Mod. GPL restrictive BSD BSD EFM32 yes yes yes no USB no yes no yes FAT no yes no yes Federico Vaga, Matthieu Cattin F*WATCH 32/44
Operating System FreeRTOS Keil RTX nice documentation nice documentation community? big community a lot of examples few examples Federico Vaga, Matthieu Cattin F*WATCH 33/44
Graphic tiny 2D graphic library adapt the library to our screen Features write text draw simple geometry and icons event management Federico Vaga, Matthieu Cattin F*WATCH 34/44
Applications Federico Vaga, Matthieu Cattin F*WATCH 35/44
Interface Federico Vaga, Matthieu Cattin F*WATCH 36/44
Demo Applications demonstration video Federico Vaga, Matthieu Cattin F*WATCH 37/44
Documentation www.ohwr.org/projects/f-watch/wiki how to configure your machine how to write applications details about the project Federico Vaga, Matthieu Cattin F*WATCH 38/44
Development Summary free PCB design free mechanic design free software free tools free time Federico Vaga, Matthieu Cattin F*WATCH 39/44
Development Summary free PCB design free mechanic design free development for free software free products free tools free time Federico Vaga, Matthieu Cattin F*WATCH 39/44
Free Development Needs Free Tools Federico Vaga, Matthieu Cattin F*WATCH 40/44
Free Development Needs Free Tools Federico Vaga, Matthieu Cattin F*WATCH 40/44
Easy to Make How difficult can it be? Competitive free tools Specialized company in 3D printing Specialized company in PCB manufacturing Easy to ship everywhere Federico Vaga, Matthieu Cattin F*WATCH 41/44
Next Generation Free-Open Source Free products are real cars, robots, watches, bikes, houses, phones, ... 3D Metal printers Federico Vaga, Matthieu Cattin F*WATCH 42/44
What can it be? Federico Vaga, Matthieu Cattin F*WATCH 43/44
Join Us Not a real product Make it a good example Join the project Federico Vaga, Matthieu Cattin F*WATCH 44/44
Recommend
More recommend