Arduino Programming, from novice to ninja

Brought by: edX

Overview

Arduino uno is a small computer used to connect the physical world to the digital world. Introduced in the early 2000s as a tool for design students who had no experience in electronics programming, it has become the most popular electronics prototyping tool, especially for IoT product development, a sector which companies are estimated to spend more than $300 billion a year on by 2020.

With several million users and counting, Arduino gives anyone the power to innovate -  from designing a connected object for their own home to launching a prototype of a product for their own business.

This course is ideal for students in design or electronics. It's also highly applicable for engineers, designers, or developers who want to strengthen their skills in interactive electronics. It suits those who are either completely new to Arduino or want to practice their skills with concrete coding challenges.

You will learn about electronics and programming, starting from the very basics and building up to mastery of the Arduino platform. You will learn how to use sensors to detect external events, such as light or sound, and how to perform an action linked to these events.

The course also provides a natural introduction to the world of FabLabs, an international network of over a thousand spaces where people can access digital manufacturing machines and practice using Arduino alongside other makers.

The course also provides recommendations of where learners can easily purchase an arduino starter kit to get the right hardware to set themselves up or online simulators which work well as alternatives if they aren't quite ready to invest in the material yet.

Want to get creative? You’ll see that everyone can become a maker! Join us!

This course has received financial support from the Patrick and Lina Drahi Foundation.

Taught by

Baptiste Gaultier, Vaibhav Chhabra, Arthur Baude, John Lejeune and Sam Roots

Arduino Programming, from novice to ninja
Go to course

Arduino Programming, from novice to ninja

Brought by: edX

  • edX
  • Free
  • English
  • Certificate Not Available
  • Certain days
  • beginner
  • English
8.1.2PHP Version275msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (174ms)
    • Application (100ms)
    • 1 x Booting (63.34%)
      174.16ms
      1 x Application (36.42%)
      100.14ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed5.18ms
      • select * from `courses` where `slug_en` = 'arduino-programming,-from-novice-to-ninja' limit 1
        3.89ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. arduino-programming,-from-novice-to-ninja
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-02-22 14:49:46' where `id` = 674
        320μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-02-22 14:49:46
        • 1. 674
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (14)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (57) and `institutions`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 668 limit 1
        240μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 668
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        4cTJ4rBloSOyj0tVhB2aIpOQru2yNsRt9I5eBzqI
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/arduino-programming,-from-novice-to-ninja...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/arduino-programming,-from-novice-to-ninja
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "18.217.134.107" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "18.217.134.107" ] "cf-ray" => array:1 [ 0 => "915fc8df2a4f6195-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "18.217.134.107" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "18.217.134.107" "HTTP_CF_RAY" => "915fc8df2a4f6195-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "48414" "REMOTE_ADDR" => "172.69.6.189" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/arduino-programming,-from-novice-to-ninja" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1740235786.3585 "REQUEST_TIME" => 1740235786 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 22 Feb 2025 14:49:46 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IktCSjZqWmc2RlhUeDlYN0YxY1ZLb1E9PSIsInZhbHVlIjoiRjg5Znc3OXpoQ09HdXNrUzYzUkx0dStLc1ZjYzd0MjZPb29uZnRDRlpJUTd4ODZyMXIwYVZMOHRIKzl6d2ZGR1N5TGt2N2RBOGI2Z1dzNkdydnVHSExUdzg5OWIyUFNtcDNsa2toSEI1L1lnWEFxNzBHWVZQSUoybXBBNTkwS24iLCJtYWMiOiJkZjM4N2UwM2I0MzA1YTRiOTEyOTU5NzRlMDM0ZGFjZmJmN2M2YmI2YTgzMWY3Y2M3MThiYjdmMmFjMmNkYmIyIiwidGFnIjoiIn0%3D; expires=Sat, 22 Feb 2025 16:49:46 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IktCSjZqWmc2RlhUeDlYN0YxY1ZLb1E9PSIsInZhbHVlIjoiRjg5Znc3OXpoQ09HdXNrUzYzUkx0dStLc1ZjYzd0MjZPb29uZnRDRlpJUTd4ODZyMXIwYVZMOHRIKzl6d2ZGR1N5TGt2N" 1 => "laravel_session=eyJpdiI6IjRvVTNWUmZIVXRDL3VrbENuR0lqZGc9PSIsInZhbHVlIjoiZXRqTnZDNTFSdnhFMG1hMHVBTm9HWmZUYUZRMC9Od0N5dE5RL2M0TGZzY1IxeUIrZlYvM0RFUHIzeDBFNDZHSmtiRHdUaHU0NnRURFFmVXlPWmhJSm1CTmpEK2FIajRFYllKUlpNbWQ5eFpQVDMzWGpNVFhmaGlRLzQ5dkIwVUMiLCJtYWMiOiJmYTQxODMzYWJiYTllMDMzNTczYzQxNjE5NGVjOGUyOWZkNjdiZjNmMmEwNjJiMTI5ZmJlMDNmM2M3NjliNzNlIiwidGFnIjoiIn0%3D; expires=Sat, 22 Feb 2025 16:49:46 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjRvVTNWUmZIVXRDL3VrbENuR0lqZGc9PSIsInZhbHVlIjoiZXRqTnZDNTFSdnhFMG1hMHVBTm9HWmZUYUZRMC9Od0N5dE5RL2M0TGZzY1IxeUIrZlYvM0RFUHIzeDBFNDZHSmti" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IktCSjZqWmc2RlhUeDlYN0YxY1ZLb1E9PSIsInZhbHVlIjoiRjg5Znc3OXpoQ09HdXNrUzYzUkx0dStLc1ZjYzd0MjZPb29uZnRDRlpJUTd4ODZyMXIwYVZMOHRIKzl6d2ZGR1N5TGt2N2RBOGI2Z1dzNkdydnVHSExUdzg5OWIyUFNtcDNsa2toSEI1L1lnWEFxNzBHWVZQSUoybXBBNTkwS24iLCJtYWMiOiJkZjM4N2UwM2I0MzA1YTRiOTEyOTU5NzRlMDM0ZGFjZmJmN2M2YmI2YTgzMWY3Y2M3MThiYjdmMmFjMmNkYmIyIiwidGFnIjoiIn0%3D; expires=Sat, 22-Feb-2025 16:49:46 GMT; path=/XSRF-TOKEN=eyJpdiI6IktCSjZqWmc2RlhUeDlYN0YxY1ZLb1E9PSIsInZhbHVlIjoiRjg5Znc3OXpoQ09HdXNrUzYzUkx0dStLc1ZjYzd0MjZPb29uZnRDRlpJUTd4ODZyMXIwYVZMOHRIKzl6d2ZGR1N5TGt2N" 1 => "laravel_session=eyJpdiI6IjRvVTNWUmZIVXRDL3VrbENuR0lqZGc9PSIsInZhbHVlIjoiZXRqTnZDNTFSdnhFMG1hMHVBTm9HWmZUYUZRMC9Od0N5dE5RL2M0TGZzY1IxeUIrZlYvM0RFUHIzeDBFNDZHSmtiRHdUaHU0NnRURFFmVXlPWmhJSm1CTmpEK2FIajRFYllKUlpNbWQ5eFpQVDMzWGpNVFhmaGlRLzQ5dkIwVUMiLCJtYWMiOiJmYTQxODMzYWJiYTllMDMzNTczYzQxNjE5NGVjOGUyOWZkNjdiZjNmMmEwNjJiMTI5ZmJlMDNmM2M3NjliNzNlIiwidGFnIjoiIn0%3D; expires=Sat, 22-Feb-2025 16:49:46 GMT; path=/; httponlylaravel_session=eyJpdiI6IjRvVTNWUmZIVXRDL3VrbENuR0lqZGc9PSIsInZhbHVlIjoiZXRqTnZDNTFSdnhFMG1hMHVBTm9HWmZUYUZRMC9Od0N5dE5RL2M0TGZzY1IxeUIrZlYvM0RFUHIzeDBFNDZHSmti" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "4cTJ4rBloSOyj0tVhB2aIpOQru2yNsRt9I5eBzqI" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/arduino-programming,-from-novice-to-ninja" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]