Okay, everyone, thanks for coming to this talk.
My name is Daniel, and I will present you our Sapphire OpenSource smartwatch.
So let's quickly go to the agenda.
First, I will introduce myself.
Then we step over to the idea behind the project.
And how everything is getting started.
Then we talk about the current hardware and the software.
Then I will show you a quick dive into a small application for the smartwatch.
The next idea is for the future.
And maybe if we have time, I can show you a quick demo on my PC.
So let's start.
So my name is Daniel.
You can call me a company.
I'm German native speaker from Nürnberg.
Currently I'm 35 years old.
And then I'm a personal electronics engineer.
Currently working at Ethel's Sensorik in Nürnberg.
It's a huge automotive supplier.
And I joined the smartwatch project in August 2023.
When my wife was pregnant.
And it was basically my first project with the suppliers.
So I'm quite new to this project.
So what is this project?
As I mentioned before, this project is an open source smartwatch based on the SFIOS.
And the project was initially founded by Jacob Kranz,
which is in software engineer at U-blocks.
And the idea behind this project is everything is open source.
So the software, the hardware, the housing,
even basically with the tools you have to use.
And so you can play around with every part of this watch.
You can modify it, you can change it, you can replace it as you want.
So you can basically do everything that you want to do with it.
And the goal for this smartwatch is everyone should be able to build it up.
And everyone should be able to modify it.
And it should also look really nice or not clunky or ugly.
So you have a modern state of the smartwatch,
but as an open source variant.
You can see the part basically with complete smartwatch,
the PCBs and programming device and the other components
in the smartwatch on the outside of the slide.
And thanks to summer, we got some 3D rendering which doesn't work.
Let me check it.
It's basically an issue of a presentation mode.
Sorry for that.
We do it in this way.
Never export Google presentation to PowerPoint.
So summer has created a nice rendering with Blender to show you the setup of the watch
and the hardware basically.
So you'll get a nice overview of what component are inside and how the watch looks like.
So let's talk a bit about the hardware.
So the whole electronic is done with the keyboard.
So we use the latest keypad version, version 8.
And on top of keypad, we added some CICD to generate output files and to basically generate
the manufacturer in data.
Currently the automation includes documentation about the PCB.
There are files, pick and place data schematics as we demodel a PCB when they're in a bomb.
And the PCB specifications or you can grab everything from the CICD pipeline.
Put it to an electronic manufacturer you like and he can produce it.
And it's a really nice way to do it on every release.
So you have the output data always in the same form and the same layout.
The watch PCB can also be used as a sickly and device.
So if you want to replace the mainboards of the watch with a newer version, you can use
the older version and add some zippy code to it and use it for example for your homer system.
Automation as an environment sensor for your room or something like that.
So it's a nice bonus where you can reuse the electronics without throwing it away.
And the PCB is mostly single sided assembly.
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.
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.
So here you can see the mainboards basically we have an NF503 processor system on module as a key component on.
On the PCB with some additional flash memory basically for all the images and UI elements because they need a bunch of storage.
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.
You'll see.
Then a lot of sensors like an IMU pressure sensor, light sensor, temperature sensor, and a magnetometer.
The latest version also has a baser and a microphone for some audio input and output.
So you can record some voice for example transfer via bluetooth and do some AI stuff on your mobile phone.
If you want to or you can play back some sound for some inputs and so on.
And of course we have a display connector with touch and an RTC for all the clock and the alarm stuff.
So and the latest version as you can see on the white side has also a haptic motor attached on the PCB.
So this is currently the latest design we are working on.
To remove the need for soldering the motor on the PCB and do it all on the board.
And down there you can see the reduced PCB that can, for example, used for home automation.
So you basically only have the sensors left on the board and all the other stuff is removed.
For programming we watch the use customised programming device which is basically a Sega, a Sega's jailing.
Close to the NFF503.
So it's nicely from the Sega that we got some licenses to do it.
So as this program has everything on board you need.
You can charge with a board you can use the USB firmware watch and you can program and debug it.
All with a standard Sega workflow.
And this program is also available in different configurations.
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.
So this is maybe useful for the people who don't want to use a proprietary library license from Sega and use it there.
And use their own open source debugger or something like that.
So the software is located around Zefire as mentioned before.
We use Nordic where the NCS, the NFF Connect SDK from Nordic.
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.
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.
And you also have access to the battery and advanced sensor stuff like sensor fusion and gesture control and so on.
With software users, the software is using the latest features of of Zefire.
So we have different device trees for different hardware versions.
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.
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.
So we can make higher usage of CACD pipelines and the latest versions we also add some crash dump handling applications.
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.
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.
And this highly improves the software quality and software testing doing the day and besides the CACD pipeline.
Then we found a nice ESP watch face repository on GitHub from Felix Biergo.
He had the idea to modify the watch faces for some ESP based smartwatches.
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.
And also we have added post-experts to the project to develop software on our PC.
For example to build up the UI and so on tested and if everything is going well you can test it on hardware.
So this should speed up the development process a bit.
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.
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.
Sorry.
So if you want to support us feel free to visit our GitHub or talk with me directly.