Skip to content
This repository was archived by the owner on Feb 20, 2021. It is now read-only.

Commit 5ccde3c

Browse files
committed
First commit!
0 parents  commit 5ccde3c

File tree

4 files changed

+171
-0
lines changed

4 files changed

+171
-0
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Arduino @ Google Summer of Code
2+
3+
Arduino is applying as a mentoring organization for GSoC 2020. This repository stores the relevant information.
4+
5+
[Arduino](https://arduino.cc) is an open source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects. Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide community of makers - tens of millions of students, hobbyists, artists, programmers, and professionals - has gathered around this open-source platform, their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike.
6+
7+
[Google Summer of Code](https://summerofcode.withgoogle.com/) is an annual open source internship program sponsored by Google. For general information about the program, including this year's application timeline and key phases involved, please see the [GSoC website](https://summerofcode.withgoogle.com/how-it-works/).
8+
9+
## Why should I work with Arduino?
10+
11+
Arduino is fully committed to creating open source hardware and software. The Arduino community is one of the largest tech communities in the world, and our collaborative efforts have a big impact on democratizing electronics. Working with us is a great opportunity to work on code that is used daily by millions of people. The quality of the Arduino hardware as well as the Arduino software and libraries is what glued this community: will you work with us to improve all this?
12+
13+
## How can I apply?
14+
15+
Read [this document](how-to-apply.md) to learn how to apply for the GSoC program with Arduino. Please also check out our [ideas list](ideas.md).
16+
17+
For any questions, please open an issue in our [issue tracker](https://github.com/arduino/summer-of-code/issues) or send an e-mail to [[email protected]](mailto:[email protected]).
18+

how-to-apply.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# GSoC @ Arduino: Application Instructions
2+
3+
## Before you apply
4+
5+
If you are a student interested in submitting a proposal to CC, start by checking out our [Project Ideas](ideas.md) page to find an idea that you would like to write a proposal to work on during GSoC.
6+
7+
Take a look at the [Arduino website](https://arduino.cc) to learn more about what we do. Also look at our GitHub organizations ([arduino](https://github.com/arduino) and [arduino-libraries](https://github.com/arduino-libraries)) and our [forum](https://forum.arduino.cc) to get a sense of the code and projects we work on. Making a successful contribution to one of our projects will help us get a sense of your work and is highly recommended.
8+
9+
## Expectations
10+
11+
### During the application phase
12+
13+
_These tips can help your application! They are not strictly required._
14+
15+
* Read the official [GSoC student guide](https://google.github.io/gsocguides/student/) and the [GSoC FAQ](https://developers.google.com/open-source/gsoc/faq).
16+
* Review our [ideas list](ideas.md) and ask questions about projects you're potentially interested in on the [issue tracker](https://github.com/arduino/summer-of-code/issues)
17+
* Once you've decided on a project, follow these Application Instructions to write a draft proposal.
18+
* Experience shows that the best thing to help your application is to contact the organization you want to work with early. For this you can introduce yourself on our [GSoC issue tracker](https://github.com/arduino/summer-of-code/issues), and perhaps fix a small bug in our of our repositories and link it in your introductive post.
19+
* Get feedback from us before you submit a final application.
20+
* If you're proposing a project that's not on our official ideas list, please talk to us to see if there is any mentor interested in mentoring that project before you put any work into the proposal.
21+
22+
### During the community bonding period
23+
24+
* Continue to plan your project with your mentor and the community.
25+
* Get an Arduino (an original one!) and familiarize with it so that you know what you're working for.
26+
27+
### During the summer
28+
29+
* Write a short report for us every second week in a public forum topic.
30+
* Work 30-40 hours per week (or agree on a different plan with your mentor ahead of time).
31+
* Commit early and commit often! Push to a public GitHub repository so that we can see and review your work.
32+
* Actively work on our project timeline and communicate with us during the community bonding period.
33+
* Be available on Slack whenever you are working and post at least once a (work) day to talk about what you're working on that day.
34+
* If there is a reason why you can't work or can't contact us on a regular basis please make us aware of this in advance.
35+
* If you don't communicate with us regularly, we will fail you.
36+
* Set a realistic goal for all evaluation deadlines. If you fail to meet your own goal we are more likely to fail you in the evaluations.
37+
* Be proactive about asking for help, especially when you're stuck.
38+
39+
## Applying
40+
41+
### How to write a great proposal
42+
43+
Your proposal must be submitted through the Google Summer of Code website. It is a good idea to submit drafts and get feedback from CC mentors before you submit your final proposal.
44+
45+
Please read and follow the [GSoC student guide on writing proposals](https://google.github.io/gsocguides/student/writing-a-proposal). Also:
46+
47+
* Don't be afraid to give us lots of detail about how you would approach the project.
48+
* Our application should make us believe that you are capable of completing the project and delivering the functionality to our users. If you aren't sure about anything, get in touch with us, we're happy to advise you.
49+
50+
You can use our [base template](proposal-template.md) to draft your application in Markdown format. If you don't know what Markdown is, we recommend you familiarize with it anyway ;-)
51+
52+
Your final proposal must be submitted to GSoC as a PDF file, so you can use Pandoc to generate one from your Markdown file:
53+
54+
```
55+
$ pandoc -f markdown -t pdf your-name.md
56+
```

ideas.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# GSoC @ Arduino: Ideas List
2+
3+
## Write examples for official libraries
4+
5+
[Libraries](https://www.arduino.cc/en/reference/libraries) are a fundamental component of Arduino. They allow users to enrich their applications with advanced functionality or to support shields, sensors, actuators connected to their Arduino board.
6+
We now have more than 70 [official libraries](https://github.com/arduino-libraries), in addition to 2,400+ contributed libraries.
7+
Many of those official libraries need more examples in order to help users understand how they can be used. Examples are located in the same repository as the library itself.
8+
9+
* *Languages:* C++
10+
* *Difficulty:* Easy/Medium (according to the libraries complexity)
11+
* *Note:* your application should contain a list of libraries which need examples and which you would like to work on.
12+
13+
## Write MicroPython examples and tools for Portenta
14+
15+
The new [Portenta](https://www.arduino.cc/pro/hardware/product/portenta-h7) board supports [MicroPython](https://micropython.org) in addition to Arduino code. This combination opens up many new opportunities. This task is about writing examples about using MicroPython on a Portenta board.
16+
17+
* *Languages:* Python, C++
18+
* *Difficulty:* Medium/Advanced
19+
* *Note:* accepted students will be sent a free Portenta board.
20+
21+
## Write JerryScript (JavaScript) examples and tools for Portenta
22+
23+
The new [Portenta](https://www.arduino.cc/pro/hardware/product/portenta-h7) board supports [JerryScript](https://jerryscript.net) in addition to Arduino code. This combination opens up many new opportunities. This task is about writing examples about using MicroPython on a Portenta board.
24+
25+
* *Languages:* JavaScript, C++
26+
* *Difficulty:* Medium/Advanced
27+
* *Note:* accepted students will be sent a free Portenta board.
28+
29+
## Add network discovery support to arduino-cli
30+
31+
[arduino-cli](https://github.com/arduino/arduino-cli) is a command line tool for programming Arduino boards. This task is about implementing a functionality for discovering boards over network in addition to USB.
32+
See more details in https://github.com/arduino/arduino-cli/issues/344
33+
34+
* *Languages:* Go
35+
* *Difficulty:* Advanced
36+

proposal-template.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Title
2+
3+
## Abstract
4+
5+
Short description of your project. Max 10 sentences. This **SHOULD NOT** be a
6+
copy of the project idea text.
7+
8+
## Technical Details
9+
10+
Long description of the project. **Must** include all technical details of the
11+
projects, like libraries involved.
12+
13+
Here you can show relevant pieces of code that you want to change. You can
14+
link to literature you used during the research.
15+
16+
## Schedule of Deliverables
17+
18+
Here should come a list of your milestones. This list is a start based on the
19+
difference phases of GSoC. Use it as a start. You can/should add more details
20+
for each phase by breaking it down into weeks or set specific targets for each
21+
phase. Each target should be split into sub task with a time estimate, [work
22+
breakdown structures](https://en.wikipedia.org/wiki/Work_breakdown_structure) are helpful here.
23+
24+
### **Community Bonding Period**
25+
26+
What will you do during the community bonding period?
27+
28+
### **Phase 1**
29+
30+
Deliverables
31+
32+
### **Phase 2**
33+
34+
Deliverables
35+
36+
### **Final Week**
37+
38+
At this stage you should finish up your project. At this stage you should make
39+
sure that you have code submitted to your organization. Our criteria to mark
40+
your project as a success is to submit code before the end of GSoC.
41+
42+
## Development Experience
43+
44+
Do you have code on GitHub? Can you show previous contributions to other projects?
45+
Did you do other code related projects or university courses?
46+
47+
Do you have experience with Arduino?
48+
49+
## Other Experiences
50+
51+
...
52+
53+
54+
## Why this project?
55+
56+
Why you want to do this project?
57+
58+
## Do you have any other commitments during the GSoC period?
59+
60+
Provide dates, such as holidays, when you will not be available.
61+

0 commit comments

Comments
 (0)