WEBVTT

00:00.000 --> 00:10.000
Okay, everyone, thanks for coming to this talk.

00:10.000 --> 00:18.000
My name is Daniel, and I will present you our Sapphire OpenSource smartwatch.

00:18.000 --> 00:26.000
So let's quickly go to the agenda.

00:26.000 --> 00:29.000
First, I will introduce myself.

00:29.000 --> 00:35.000
Then we step over to the idea behind the project.

00:35.000 --> 00:39.000
And how everything is getting started.

00:39.000 --> 00:43.000
Then we talk about the current hardware and the software.

00:43.000 --> 00:51.000
Then I will show you a quick dive into a small application for the smartwatch.

00:51.000 --> 00:54.000
The next idea is for the future.

00:54.000 --> 00:59.000
And maybe if we have time, I can show you a quick demo on my PC.

00:59.000 --> 01:02.000
So let's start.

01:02.000 --> 01:04.000
So my name is Daniel.

01:04.000 --> 01:06.000
You can call me a company.

01:06.000 --> 01:10.000
I'm German native speaker from Nürnberg.

01:10.000 --> 01:13.000
Currently I'm 35 years old.

01:13.000 --> 01:17.000
And then I'm a personal electronics engineer.

01:17.000 --> 01:21.000
Currently working at Ethel's Sensorik in Nürnberg.

01:21.000 --> 01:26.000
It's a huge automotive supplier.

01:26.000 --> 01:34.000
And I joined the smartwatch project in August 2023.

01:34.000 --> 01:37.000
When my wife was pregnant.

01:37.000 --> 01:43.000
And it was basically my first project with the suppliers.

01:43.000 --> 01:51.000
So I'm quite new to this project.

01:51.000 --> 01:55.000
So what is this project?

01:55.000 --> 02:03.000
As I mentioned before, this project is an open source smartwatch based on the SFIOS.

02:03.000 --> 02:10.000
And the project was initially founded by Jacob Kranz,

02:10.000 --> 02:14.000
which is in software engineer at U-blocks.

02:14.000 --> 02:18.000
And the idea behind this project is everything is open source.

02:18.000 --> 02:22.000
So the software, the hardware, the housing,

02:22.000 --> 02:26.000
even basically with the tools you have to use.

02:26.000 --> 02:32.000
And so you can play around with every part of this watch.

02:32.000 --> 02:36.000
You can modify it, you can change it, you can replace it as you want.

02:36.000 --> 02:42.000
So you can basically do everything that you want to do with it.

02:42.000 --> 02:51.000
And the goal for this smartwatch is everyone should be able to build it up.

02:51.000 --> 02:56.000
And everyone should be able to modify it.

02:56.000 --> 03:01.000
And it should also look really nice or not clunky or ugly.

03:01.000 --> 03:07.000
So you have a modern state of the smartwatch,

03:07.000 --> 03:10.000
but as an open source variant.

03:10.000 --> 03:17.000
You can see the part basically with complete smartwatch,

03:17.000 --> 03:23.000
the PCBs and programming device and the other components

03:23.000 --> 03:29.000
in the smartwatch on the outside of the slide.

03:29.000 --> 03:39.000
And thanks to summer, we got some 3D rendering which doesn't work.

03:39.000 --> 03:43.000
Let me check it.

03:43.000 --> 03:55.000
It's basically an issue of a presentation mode.

03:55.000 --> 03:58.000
Sorry for that.

03:59.000 --> 04:09.000
We do it in this way.

04:09.000 --> 04:14.000
Never export Google presentation to PowerPoint.

04:14.000 --> 04:23.000
So summer has created a nice rendering with Blender to show you the setup of the watch

04:23.000 --> 04:25.000
and the hardware basically.

04:25.000 --> 04:36.000
So you'll get a nice overview of what component are inside and how the watch looks like.

04:36.000 --> 04:54.000
So let's talk a bit about the hardware.

04:54.000 --> 05:02.000
So the whole electronic is done with the keyboard.

05:02.000 --> 05:07.000
So we use the latest keypad version, version 8.

05:07.000 --> 05:17.000
And on top of keypad, we added some CICD to generate output files and to basically generate

05:17.000 --> 05:21.000
the manufacturer in data.

05:21.000 --> 05:27.000
Currently the automation includes documentation about the PCB.

05:28.000 --> 05:36.000
There are files, pick and place data schematics as we demodel a PCB when they're in a bomb.

05:36.000 --> 05:42.000
And the PCB specifications or you can grab everything from the CICD pipeline.

05:42.000 --> 05:50.000
Put it to an electronic manufacturer you like and he can produce it.

05:50.000 --> 05:58.000
And it's a really nice way to do it on every release.

05:58.000 --> 06:08.000
So you have the output data always in the same form and the same layout.

06:08.000 --> 06:13.000
The watch PCB can also be used as a sickly and device.

06:13.000 --> 06:21.000
So if you want to replace the mainboards of the watch with a newer version, you can use

06:21.000 --> 06:27.000
the older version and add some zippy code to it and use it for example for your homer system.

06:27.000 --> 06:32.000
Automation as an environment sensor for your room or something like that.

06:32.000 --> 06:42.000
So it's a nice bonus where you can reuse the electronics without throwing it away.

06:43.000 --> 06:47.000
And the PCB is mostly single sided assembly.

06:47.000 --> 07:04.000
So this is one of our requirements because we want our one of the initial gold boss that the people should be able to manufacture the PCB at the home lab.

07:05.000 --> 07:18.000
And for this a single side PCB is better than a double sided assembly PCB because it makes everything a bit easier for the people.

07:18.000 --> 07:33.000
So here you can see the mainboards basically we have an NF503 processor system on module as a key component on.

07:33.000 --> 07:46.000
On the PCB with some additional flash memory basically for all the images and UI elements because they need a bunch of storage.

07:46.000 --> 07:58.000
Then we have a nice NPM 1300p mic up there for all the power supply for the display sensors and MCU and battery charging and fuel torch.

07:58.000 --> 08:00.000
You'll see.

08:00.000 --> 08:11.000
Then a lot of sensors like an IMU pressure sensor, light sensor, temperature sensor, and a magnetometer.

08:11.000 --> 08:19.000
The latest version also has a baser and a microphone for some audio input and output.

08:19.000 --> 08:27.000
So you can record some voice for example transfer via bluetooth and do some AI stuff on your mobile phone.

08:27.000 --> 08:36.000
If you want to or you can play back some sound for some inputs and so on.

08:36.000 --> 08:45.000
And of course we have a display connector with touch and an RTC for all the clock and the alarm stuff.

08:45.000 --> 08:57.000
So and the latest version as you can see on the white side has also a haptic motor attached on the PCB.

08:57.000 --> 09:01.000
So this is currently the latest design we are working on.

09:01.000 --> 09:10.000
To remove the need for soldering the motor on the PCB and do it all on the board.

09:10.000 --> 09:17.000
And down there you can see the reduced PCB that can, for example, used for home automation.

09:17.000 --> 09:25.000
So you basically only have the sensors left on the board and all the other stuff is removed.

09:25.000 --> 09:36.000
For programming we watch the use customised programming device which is basically a Sega, a Sega's jailing.

09:36.000 --> 09:40.000
Close to the NFF503.

09:40.000 --> 09:46.000
So it's nicely from the Sega that we got some licenses to do it.

09:46.000 --> 09:49.000
So as this program has everything on board you need.

09:49.000 --> 09:57.000
You can charge with a board you can use the USB firmware watch and you can program and debug it.

09:57.000 --> 10:03.000
All with a standard Sega workflow.

10:03.000 --> 10:11.000
And this program is also available in different configurations.

10:11.000 --> 10:22.000
So you also can remove the Sega license and attach your own FWD debugger onto the board and use it basically as an adapter board.

10:22.000 --> 10:32.000
So this is maybe useful for the people who don't want to use a proprietary library license from Sega and use it there.

10:32.000 --> 10:38.000
And use their own open source debugger or something like that.

10:38.000 --> 10:47.000
So the software is located around Zefire as mentioned before.

10:47.000 --> 10:56.000
We use Nordic where the NCS, the NFF Connect SDK from Nordic.

10:56.000 --> 11:13.000
As our main software infrastructure and we add a bunch of event handling sensor drivers and managers on top to build up the watch OS.

11:13.000 --> 11:24.000
And so you have apps support, you can use the sensor data in your apps, you can access Bluetooth and other peripherals in the watch.

11:24.000 --> 11:41.000
And you also have access to the battery and advanced sensor stuff like sensor fusion and gesture control and so on.

11:41.000 --> 11:52.000
With software users, the software is using the latest features of of Zefire.

11:52.000 --> 11:56.000
So we have different device trees for different hardware versions.

11:56.000 --> 12:10.000
So if we decide to publish a new and new hardware version, we simply add a new device tree to all the necessary changes in this device tree and the software will stay the same.

12:10.000 --> 12:39.000
This has been a benefit that we only have one main application software and all the different stuff between the different revisions are done with the Zefire device trees and on top of this we added some CACD pipelines to automatically test every revision, build it and figure out box.

12:39.000 --> 13:00.000
So we can make higher usage of CACD pipelines and the latest versions we also add some crash dump handling applications.

13:00.000 --> 13:12.000
So because we figured out that varying this watch during the day often needs to crashes in the application and we don't know why.

13:12.000 --> 13:25.000
So now the watch is saving a crash dump on every crash and you can attach USB or SWD and download the crash dump and debug it at home.

13:25.000 --> 13:37.000
And this highly improves the software quality and software testing doing the day and besides the CACD pipeline.

13:37.000 --> 13:47.000
Then we found a nice ESP watch face repository on GitHub from Felix Biergo.

13:47.000 --> 13:57.000
He had the idea to modify the watch faces for some ESP based smartwatches.

13:57.000 --> 14:21.000
I'm not sure which one and we decided to focus the repository change it together with Felix to support our smartwatch and now we have different watch faces available on the smartwatch so you can slide on the smartwatch to change the watch face.

14:21.000 --> 14:31.000
And also we have added post-experts to the project to develop software on our PC.

14:31.000 --> 14:38.000
For example to build up the UI and so on tested and if everything is going well you can test it on hardware.

14:38.000 --> 14:45.000
So this should speed up the development process a bit.

14:45.000 --> 15:00.000
How does an app look like so here you can see a very very very basic example of a smartwatch app so basically an app needs for function.

15:00.000 --> 15:17.000
To describe an app start stop and close and add function and in this four functions you build up the UI as you see here and oh I'm over my time.

15:17.000 --> 15:26.000
Sorry.

15:26.000 --> 15:40.000
So if you want to support us feel free to visit our GitHub or talk with me directly.

