Slide 1

Slide 1 text

GDG DevFest Western Kenya 2017 November 25, 2017 Citam Hall Kisumu

Slide 2

Slide 2 text

Ngesa N. Marvin IoT Champion for GDGs, SSA +Ngesa Marvin @Ngesa254

Slide 3

Slide 3 text

ISP @Ngesa254 https://medium.com/iot-5g-extreme-ideas-lab Background Interests Hometown

Slide 4

Slide 4 text

Give Me Community Or Give Me Death!

Slide 5

Slide 5 text

GDG

Slide 6

Slide 6 text

Open Source Community PEOPLE HATE SHAIRING

Slide 7

Slide 7 text

Open Source Community SHAIRING = BAD BUSINESS

Slide 8

Slide 8 text

Fortune & Glory PATENTS + COPYRIGHTS

Slide 9

Slide 9 text

AND YET…

Slide 10

Slide 10 text

Richard

Slide 11

Slide 11 text

RoboFinger

Slide 12

Slide 12 text

Makerbot

Slide 13

Slide 13 text

ThingiVerse

Slide 14

Slide 14 text

Liam

Slide 15

Slide 15 text

Dylan

Slide 16

Slide 16 text

Dave

Slide 17

Slide 17 text

Junior

Slide 18

Slide 18 text

Esethu

Slide 19

Slide 19 text

Angel. Thomas.

Slide 20

Slide 20 text

ThingiVerse

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Open Source Hardware Provide the Plans Allow for Modification Be able to be sold

Slide 23

Slide 23 text

Open Source Hardware Provide the Plans Allow for Modification Be able to be sold Propagate the license

Slide 24

Slide 24 text

If your idea is unique, easily copied and can be sold for profit in a local market, it will be.

Slide 25

Slide 25 text

If your idea is unique, easily copied and can be sold for profit in a local market, it will be.

Slide 26

Slide 26 text

If your idea is unique, easily copied and can be sold for profit in a local market, it will be.

Slide 27

Slide 27 text

If your idea is unique, easily copied and can be sold for profit in a local market, it will be.

Slide 28

Slide 28 text

Shenzhen is Making Hardware like Silicon Valley Makes Apps

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

• Share • Software & Hardware become Open source • Patents and Copyrights are not important in Shenzhen. • But, they make something new, Shanzai makes Innovation Shanzhai (山寨) is not about Copying, it is a spirit

Slide 31

Slide 31 text

Maker Movement in Asia Faces behind the Movement

Slide 32

Slide 32 text

David Li SZOIL is a space and platform for worldwide makers to communicate and cooperate Xinchejian is the first hackerspace in China.

Slide 33

Slide 33 text

“Bunnie” Andrew Huang • Famous Hacker & Maker • PhD in Electrical Engineering from MIT • Famous Projects: • Novena Open Source Laptop • Reverse Engineering blog: https://www.bunniestudios.com • Wired Future Cities Documentary on Shenzhen

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

• Founder & CEO Seeed Studio • Electronic Engineer • Forbes 30 Under 30 • Worked at Intel as a Designer • Organizer Shenzhen Maker Faire Eric Pan Eric Pan

Slide 36

Slide 36 text

Shenzhen: An ecosystem of living and shairng ideas [ Photo ] Huagiangbei market

Slide 37

Slide 37 text

• Community • Learn • Better Engineer • Focus • Innovate Why I Love Open Source Hardware:

Slide 38

Slide 38 text

Lei Jun Founder, Xioami From Copy to China to To Copy China?

Slide 39

Slide 39 text

The Internet of Things The Internet of Things

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Ideal for powerful, intelligent devices on the edge that need to be secure.

Slide 42

Slide 42 text

Android SDK Android Studio Play Services Firebase Cloud Platform

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

Display support optional

Slide 45

Slide 45 text

Connectivity Options

Slide 46

Slide 46 text

Debugging and Profiling Tools

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

AndroidThings Console • Manage your Android Things IoT Product • Download and install the latest Android things system image • Build factory images that contain OEM applications along with the system image • Push over-the-air (OTA ) updates

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

Google Play Services Leverage built-in support on Android

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

Firebase Firebase

Slide 60

Slide 60 text

Google Cloud IoT

Slide 61

Slide 61 text

Google Cloud IoT

Slide 62

Slide 62 text

Firebase Google Assistant

Slide 63

Slide 63 text

Actions on Google +

Slide 64

Slide 64 text

TensorFlow Add Intelligence to your product with on device processing

Slide 65

Slide 65 text

TensorFlow

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

Electricity Monitor @riggaroo Rebecca Franks Firebase

Slide 68

Slide 68 text

AI Candy Dispenser @alvaroviebrantz Alvaro Viebrantz

Slide 69

Slide 69 text

Edison Candle @devunwired Dave Smith

Slide 70

Slide 70 text

hackster.io/google Add your project to

Slide 71

Slide 71 text

Android Things Candle

Slide 72

Slide 72 text

Hardware is Hard

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

SoM Architecture Google Managed BSP

Slide 75

Slide 75 text

From Prototype to Production

Slide 76

Slide 76 text

Simplified Certification and Testing

Slide 77

Slide 77 text

Interchengeable Available Supported

Slide 78

Slide 78 text

Building Your Designs

Slide 79

Slide 79 text

Determining the Need The application of the PCB, such as medical or automotive, will often determine the materials in the PCB

Slide 80

Slide 80 text

Critical Component Selection

Slide 81

Slide 81 text

Ohms Law

Slide 82

Slide 82 text

Sensors and Actuators

Slide 83

Slide 83 text

Groove Starter Kit Starter Kits

Slide 84

Slide 84 text

Starter Kits

Slide 85

Slide 85 text

Pico Maker Kit

Slide 86

Slide 86 text

No content

Slide 87

Slide 87 text

Schematics

Slide 88

Slide 88 text

PCB Layout

Slide 89

Slide 89 text

Fabricating the PCB Fabrication Assembly

Slide 90

Slide 90 text

Shematic Layout Gerbers BOM XYRS

Slide 91

Slide 91 text

OSH Park CircuitHub MacroFab Fabrication Assembly

Slide 92

Slide 92 text

Hands Soldering for novices

Slide 93

Slide 93 text

• Circuit • Tweezers • Soldering Gun • Components • Soldering Station (Iron) What you need:

Slide 94

Slide 94 text

No content

Slide 95

Slide 95 text

Evaluate, Debug, Repeat

Slide 96

Slide 96 text

Microcontroller Programming

Slide 97

Slide 97 text

Displays are Optional Consider Alternate UI

Slide 98

Slide 98 text

No content

Slide 99

Slide 99 text

No content

Slide 100

Slide 100 text

No content

Slide 101

Slide 101 text

Creating Android Things Project

Slide 102

Slide 102 text

GPIO PMW I2C SPI UART I2S Peripheral I/O – Low Level Access Hardware Intergration

Slide 103

Slide 103 text

GPIO PMW I2C SPI UART I2S Peripheral I/O – Low Level Access Hardware Intergration Button GPS RGB LED Strip PWM Servo Temperature Sensor Capacitive Touch Buttons Peripheral Driver Library - GitHub + many more…

Slide 104

Slide 104 text

No content

Slide 105

Slide 105 text

No content

Slide 106

Slide 106 text

dependencies { provided 'com.google.android.things:androidthings:...' } ... Home Activity

Slide 107

Slide 107 text

IoT Launcher System Boot Home Activity … … …

Slide 108

Slide 108 text

GPIO PWM I2C I2S SPI Peripheral I/O UART

Slide 109

Slide 109 text

// Open a peripheral connection PeripheralManagerService service = new PeripheralManagerService(); Gpio button = service.openGpio(GPIO_PIN_NAME); // Configure the peripheral button.setDirection(Gpio.DIRECTION_IN); button.setEdgeTriggerType(Gpio.EDGE_FALLING); // Attach callback for input events button.registerGpioCallback(new GpioCallback() { @Override public boolean onGpioEdge(Gpio gpio) { Log.i(TAG, "GPIO changed"); // Return true to continue listening to events return true; } }); Simple Peripheral I/O

Slide 110

Slide 110 text

GPIO PWM I2C I2S SPI Audio Input Sensors Peripheral I/O User Drivers GPS UART

Slide 111

Slide 111 text

private GpioCallback callback = new GpioCallback() { @Override public boolean onGpioEdge(Gpio gpio) { int keyAction = gpio.getValue() ? KeyEvent.ACTION_DOWN : KeyEvent.ACTION_UP; inputDriver.emit(new KeyEvent[]{ new KeyEvent(keyAction, KeyEvent.KEYCODE_SPACE)}); return true; } }; Button User Driver InputDriver driver = new InputDriver.Builder(InputDevice.SOURCE_CLASS_BUTTON) .setName(DRIVER_NAME) .setVersion(DRIVER_VERSION) .setKeys(new int[]{KeyEvent.KEYCODE_SPACE}) .build(); UserDriverManager.getManager().registerInputDriver(driver);

Slide 112

Slide 112 text

GPIO PWM I2C I2S SPI Audio Input Sensors Peripheral Driver Library Peripheral I/O User Drivers GPS UART

Slide 113

Slide 113 text

dependencies { compile 'com.google.android.things.contrib:driver-button:...' } ButtonInputDriver inputDriver = new ButtonInputDriver( GPIO_PIN_NAME, Button.LogicState.PRESSED_WHEN_LOW , KeyEvent.KEYCODE_SPACE ); inputDriver.register(); Button Library Driver

Slide 114

Slide 114 text

No content

Slide 115

Slide 115 text

More Examples On GitHub

Slide 116

Slide 116 text

Encloseure Developemt

Slide 117

Slide 117 text

Jony Ive Senior Vice President Design, Apple

Slide 118

Slide 118 text

The Power of Android Automatic and Secure Managed by Google Why Android Things?

Slide 119

Slide 119 text

Google's IoT Developers Community https://g.co/iotdev Android Things SDK https://developer.android.com/things Hackster.io Community https://hackster.io/google What’s Next? Ngesa N. Marvin IoT Champion for GDGs, SSA +Ngesa Marvin @Ngesa254 #DevFestWesternKE17