WEBVTT

00:00.180 --> 00:03.540
This is a bonus, listen, that is a bit different.

00:03.990 --> 00:10.170
I felt it would be interesting to give you some tips and best practices on the process of creating your

00:10.170 --> 00:11.670
own original project.

00:12.180 --> 00:17.610
So this lesson is not technical, but just some general tips from my own experience.

00:18.000 --> 00:23.820
The goal here is to give you some ideas of where to start and what to do for your future projects,

00:24.150 --> 00:28.980
starting also from what we have done in this course and in this final project of the course.

00:29.160 --> 00:32.550
And I would focus on mainly five parts first.

00:32.580 --> 00:35.070
How to get ideas if you don't already have one.

00:35.460 --> 00:42.330
OK, that could be ideas for a hobby project, all, for example, for a startup project and then a

00:42.330 --> 00:43.320
full step process.

00:43.320 --> 00:49.560
I would do for a new Keystone project, which is first to imagine the global architecture for the project,

00:49.980 --> 00:53.920
then to build a proof of concept and then build a project.

00:54.180 --> 00:56.070
In other words, the prototype.

00:56.520 --> 01:00.690
And finally, and this is optional how to go further with your prototype.

01:00.930 --> 01:04.830
Once you have done the project, all right, and let's get started.

01:05.610 --> 01:09.210
So first of all, you will need, of course, a project idea.

01:09.420 --> 01:10.920
So if you already have one?

01:11.100 --> 01:13.920
Well, you can just watch this for more inspiration.

01:14.190 --> 01:16.880
And then we're going to get started with how to build the project.

01:16.890 --> 01:18.360
But if you don't have ideas?

01:18.720 --> 01:24.570
Well, if you're looking for a hobby project, so a hobby project would be something that you do at

01:24.570 --> 01:24.900
home.

01:25.560 --> 01:29.520
Just for the purpose of having fun are also educational purpose.

01:29.530 --> 01:31.320
So if you want to learn more about Arduino.

01:31.650 --> 01:36.720
Well, first of all, and that's kind of obvious, but you can search for art in a project on Google,

01:37.020 --> 01:44.130
and you can see you would have like 20 Project and he 400 Project 50 300, so you can browse all those

01:44.130 --> 01:47.640
ideas and then maybe you will find something that you like.

01:47.970 --> 01:51.750
I'm going to just show you, for example, on the Arduino Project Hope.

01:52.050 --> 01:52.350
OK.

01:53.070 --> 01:55.970
You have many different projects you can browse, OK?

01:55.980 --> 01:58.920
And so for each project, you have a description.

01:58.950 --> 02:00.540
How do you project the code?

02:00.570 --> 02:01.050
Everything.

02:01.050 --> 02:02.460
So you can get started with this.

02:02.880 --> 02:05.840
So you have a step by step way to do project.

02:06.240 --> 02:12.420
If you go on Instructables also and just search for, I don't know here.

02:14.140 --> 02:19.360
Well, you also have many, many marginal projects, okay, so you can for young people in the games

02:19.360 --> 02:26.140
with OCD and all kinds of cool projects, some of them are going to be more hardware related, some

02:26.140 --> 02:28.270
of them more software related.

02:28.660 --> 02:28.930
OK.

02:29.140 --> 02:30.760
You can find many different things.

02:31.060 --> 02:36.760
So if you too to practice more, we just project that's already existing that already have a solution

02:37.030 --> 02:39.290
while not something you can look at.

02:39.320 --> 02:45.640
And then, of course, you can create your own project with your own ideas and maybe post them in those

02:45.640 --> 02:51.550
websites and know well, if you are looking for ideas for a starter project, for example, if you want

02:51.550 --> 02:58.060
to commercialize a product or just help people with a product, then well, the first question is,

02:58.060 --> 03:01.820
of course, what is the real problem you're going to solve here?

03:01.860 --> 03:05.950
OK, what's the real problem they have and how are you going to solve it?

03:06.170 --> 03:07.960
And for this where you can browse projects?

03:07.960 --> 03:13.450
But basically the most important thing is to find what is the real problem and how to solve it.

03:13.460 --> 03:15.550
There is no way around that.

03:16.120 --> 03:22.390
So if you're expecting me to give you a very clear answer on how to find a good project for a startup

03:22.720 --> 03:28.900
while unfortunately I'm not going to give you that because what the real answer here is, it depends.

03:29.070 --> 03:32.890
And every problem will have a different solution.

03:33.130 --> 03:35.980
But then once you know, what is the problem you're trying to solve?

03:35.980 --> 03:40.660
And then once you know that you can make your prototype without, you know, then you have to project

03:40.660 --> 03:40.870
it.

03:41.320 --> 03:45.550
And we can start with the full steps process to build the project.

03:46.480 --> 03:51.910
So first of all, before you even get started with your project, so before you write code, before

03:51.910 --> 03:57.880
you do electronics, before you do anything, you have to imagine what is the global architecture of

03:57.880 --> 03:58.480
your project?

03:58.510 --> 04:01.550
OK, so what kind of components do you need?

04:01.570 --> 04:06.710
How they are going to communicate between each other and what exactly is the technical result?

04:06.730 --> 04:08.530
You need to reach for the project.

04:08.980 --> 04:16.060
So for example, if your project is to measure the temperature in one room of your house and to get

04:16.060 --> 04:22.480
this temperature printed on a different room, well, you can think of components that, OK, I need

04:22.480 --> 04:27.790
a temperature sensor, of course, but then I would need to make this communicate with the other room.

04:28.090 --> 04:31.420
So just using wires is maybe not the best solution.

04:31.690 --> 04:36.700
So in this case, well, you might need a Wi-Fi module or a Bluetooth module.

04:37.030 --> 04:41.470
Well, you might investigate on what is the best communication to do that.

04:41.620 --> 04:41.980
OK.

04:42.430 --> 04:44.330
So we'll find what components you need.

04:44.350 --> 04:49.390
You don't necessarily need the exact components right now, but the kind of components?

04:49.420 --> 04:49.720
OK.

04:50.010 --> 04:55.630
And also what this is the technical result you need because, well, if you start from a problem, well,

04:55.630 --> 04:58.120
there are different ways to solve a given problems.

04:58.420 --> 05:05.050
And if you want to create a technical solution with Arduino now probably different ways and different

05:05.050 --> 05:06.700
technical results you can do.

05:07.000 --> 05:13.900
So here you might think of different technical solutions and how everything is going to work together.

05:14.590 --> 05:17.410
And if you do this well, you don't need to spend days and days.

05:17.410 --> 05:23.550
But if you do this well, you may save some money because while the components are going to buy are,

05:23.560 --> 05:24.910
I'm going to be super expensive.

05:25.210 --> 05:31.330
And you may also save a lot of time because one solution may be much easier than another solution.

05:31.750 --> 05:32.050
All right.

05:32.290 --> 05:37.740
So once you have the global architecture of a project, then starting to build a proof of concept on

05:37.780 --> 05:39.790
what we can also call a book.

05:40.150 --> 05:41.690
And so here what is the goal?

05:41.710 --> 05:44.740
The goal is just to show that the idea works.

05:45.190 --> 05:52.810
OK, so if you want to, for example, make a contractual stencil, talk to an LCD screen using wireless

05:52.810 --> 05:58.090
communication, then you're not going to do the whole project, but you're just going to make it work

05:58.300 --> 05:59.290
on your desktop.

05:59.300 --> 06:02.950
So using a breadboard using cheap and easy to use components.

06:03.370 --> 06:03.700
OK.

06:03.850 --> 06:06.100
You're going to add each component one by one.

06:06.110 --> 06:10.660
So for example, first on your breadboard, you add the temperature sensor, you make sure you can read

06:10.660 --> 06:11.170
the value.

06:11.590 --> 06:16.960
And then once it's done, you go to the next component so you test each component, you make the code

06:16.960 --> 06:17.440
for each.

06:17.800 --> 06:23.860
You make a secret a very basic secret for each and then you make them work together and you test the

06:23.860 --> 06:27.910
overall functionalities and you also iterate more doing that.

06:27.910 --> 06:29.840
So you have this temperature sensor.

06:29.860 --> 06:30.760
You have to see that.

06:31.120 --> 06:36.610
Then you're going to, for example, test the LCD screen on a the same way, but a different one.

06:37.030 --> 06:40.840
And then maybe you will need, for example, to adrenals.

06:41.080 --> 06:45.910
So you're going to make sure that you can communicate between the two other nodes using a Wi-Fi module

06:46.150 --> 06:47.680
or using a Bluetooth module.

06:47.950 --> 06:50.440
So just show that the I.D. works here.

06:50.890 --> 06:58.810
You don't need to make the project work at scale or completely fully integrated in the environment.

06:59.130 --> 07:01.510
OK, you just want to show that it's working.

07:01.720 --> 07:05.020
It's kind of what we did actually with this final project of this course.

07:05.350 --> 07:08.320
OK, we put everything in a breadboard.

07:08.620 --> 07:13.450
So first, we build the circuit step by step with each component that we have tested during the.

07:14.150 --> 07:19.130
And then for the final project, we have separated the different functionalities that we want to test,

07:19.130 --> 07:24.410
and each functionality was added on the previous ones that were already working.

07:24.860 --> 07:30.740
And the result is that we have a complete system, a complete obstacle detection system that is working

07:31.070 --> 07:31.910
on the breadboard.

07:32.150 --> 07:35.060
And so this is actually the proof of concept.

07:35.150 --> 07:42.140
So you might want to stop here, but then well, since they would be to build the prototype.

07:42.500 --> 07:46.380
So here you will integrate your project in the environs.

07:46.400 --> 07:46.730
OK.

07:47.030 --> 07:52.340
Just make it work basically can be a prototype can also be called a MVP.

07:52.610 --> 07:55.940
So MVP is a minimal, viable product.

07:56.010 --> 08:01.410
OK, if you are building something for a startup, you need something that is working in the environment.

08:01.430 --> 08:03.770
We did just the mean on functionalities.

08:03.770 --> 08:05.360
You need to solve the problem.

08:05.480 --> 08:10.610
And so here you will need to assemble the components you need to build something, for example, build

08:10.970 --> 08:17.960
mechanical components with a 3D printer with ACNC machine, etc. also sold some components.

08:18.260 --> 08:20.830
Just so here you might not use a breadboard.

08:21.320 --> 08:24.380
But but all the components in the real enlightenment.

08:24.500 --> 08:28.190
And again, you're going to tell the functionalities one by one chemicals.

08:28.190 --> 08:29.420
Now you already have the code.

08:29.720 --> 08:34.520
The code was done in the previous step, so you're going to test again each functionalities.

08:34.850 --> 08:36.740
And now you know that the code is working.

08:37.220 --> 08:40.560
So if something is not working, then is the hardware.

08:40.580 --> 08:42.560
And so you continued, you continue.

08:42.980 --> 08:44.120
You fix issues.

08:44.120 --> 08:49.160
You iterate until the project is working fine on the environment.

08:49.190 --> 08:49.490
OK.

08:49.700 --> 08:52.250
So step two was to just make sure it works.

08:52.550 --> 08:56.200
Step three is when the project in the environment.

08:56.270 --> 09:01.370
And so, for example, if you want to go further with this obstacle detection project, you can actually

09:01.370 --> 09:08.540
make it to work using not a breadboard, but just using the components in a real situation in a robot,

09:08.540 --> 09:09.110
for example.

09:09.350 --> 09:11.950
And in this case, you will need to still do some stuff.

09:11.960 --> 09:15.980
You will need to correctly place the components and then test everything again.

09:16.190 --> 09:22.460
And then you have your prototype, which is ready, and the next step is actually to go further with

09:22.460 --> 09:23.180
the prototype.

09:23.450 --> 09:30.040
And so if you just have a hobby project, you maybe want to share it online and put it open source so

09:30.050 --> 09:32.900
you might put the code on GitHub, for example.

09:33.140 --> 09:38.450
And this is a good way to get feedback and to improve the way you build your project, because putting

09:38.450 --> 09:41.750
something online, you're going to need to correctly package it.

09:41.750 --> 09:47.960
You need to correct Karakia, write the code, add some comments, maybe, and then just write a good

09:47.960 --> 09:48.590
description.

09:48.600 --> 09:53.900
So that's going to help you introduce your project to other people and maybe better understand your

09:53.900 --> 09:54.350
project.

09:54.710 --> 09:59.090
And also, you can get feedback and some other people may use your project.

09:59.510 --> 10:01.520
So that can be useful for everyone.

10:01.700 --> 10:08.000
And if you want to make it a project for a startup company, for example, well, you have to communicate

10:08.000 --> 10:09.110
about it first.

10:09.140 --> 10:10.100
That's very important.

10:10.400 --> 10:13.220
So again, maybe your project can be Open-Source.

10:13.400 --> 10:16.130
That's one option you may think of.

10:16.460 --> 10:22.160
And so basically here you need to will find communities online and just talk about your project and

10:22.160 --> 10:23.870
see if people are interested.

10:24.170 --> 10:29.690
Then if you need some funding, you can start a, for example, a crowdfunding campaign that's very

10:29.690 --> 10:31.330
common to do.

10:31.370 --> 10:34.670
You can use, for example, Kickstarter or Indiegogo.

10:35.090 --> 10:37.190
Those are two very popular platforms.

10:37.460 --> 10:43.250
And on those platforms, you can actually kind of presale your product so that you're going to have

10:43.250 --> 10:49.370
money for the future development and especially for the scale development of your products.

10:49.370 --> 10:55.460
Because if you have need one product, that's very different from making 100 products when it comes

10:55.460 --> 10:56.030
to hardware.

10:56.420 --> 11:01.400
And also, in the meantime, you may want to learn about hardware production, so I'm not going to go

11:01.670 --> 11:04.970
in details about that as a very completely different topic.

11:05.300 --> 11:07.550
Well, you will need to contact suppliers.

11:07.820 --> 11:14.660
So how do our suppliers, mechanical suppliers, maybe suppliers for different models and also PCB manufacturers?

11:14.660 --> 11:18.630
Because maybe after going with Arduino, you're going to make your own PCB.

11:19.130 --> 11:24.830
OK, so you're going to need to learn about all that and all that cost a lot of money, and that's where

11:24.830 --> 11:27.800
the crowdfunding campaign can be really helpful.

11:28.040 --> 11:29.000
All right, that's the end.

11:29.360 --> 11:35.240
Those tips should help you make some better decisions for your next project so you can be more efficient

11:35.510 --> 11:37.880
in the process of doing the project.

11:38.090 --> 11:41.080
Now, let's go to the conclusion section of the class.
