Arduino Bootcamp: Key Differences

Arduino Bootcamp Basic: A Different Approach – For beginners and intermediate Arduino users

See also: Arduino Boot Camp Pitch Slides


 

These things set this bootcamp apart from other basic Arduino workshops I know. By the way, this bootcamp does not include basic code optimization. That discussion is reserved for a second workshop.

1.  Ditching the delay(), Be “Multi-tasking Ready”!

– Most who program with Arduino use delay() to control timing because it is simple and straightforward. But during a delay call you can’t do anything else, it monopolizes the processor.This becomes a problem if you move on bigger projects with more functionalities. Because Arduino is a very simple processor with no operating system, it can only run one program at a time. This doesn’t mean you won’t be able to manage multiple tasks with it. We just need a different approach to control timing.

2. A Taste of Basic Object-Oriented Programming

– Most who program with Arduino think in functions and procedures which is intuitive because you just tell the Arduino what to do step-by-step. But what if we use another programming paradigm that allows for more complex behavior with less code? With an object-oriented approach you can, and it also makes it easier to reuse and recycle code you have written before in other projects. We have a lot of projects that use buttons (leds, potentiometers, and relays etcetera), why do we have to write pinMode(pin, INPUT_PULLUP), and digitalWrite(pin, HIGH) each time? What if a button.New(pin), led.On() would suffice? As early as the very first session, participants write their own library of reusable objects.

3. Emphasis on Clean Readable Code

– Have you ever looked at code you have written a few months ago and realize you don’t understand it anymore, let alone what it is supposed to do? Poorly-written messy code can function but, as your code gets bigger, it becomes it become really hard expand and also to fix when something goes wrong. Poorly-written messy code almost always go hand-in-hand with lower productivity, lower motivation and higher number of bugs in your project.

4. Copy-Pasting Sample Code is Discouraged

– Learners are encouraged to type each of the exercises manually. Copy-pasting reduces effectiveness of the lessons. By copying the sample code exactly the participants train their brains to focus on the details of what they are doing.

5. Open-Source

– Everyone should start learning Arduno this way even if they can’t afford to pay (or even if they live far far away) so everything is published on github for you to download. If you like what you see, please consider sponsoring a student to attend this workshop so that we can keep making free content for everyone. We accept bitcoins! 🙂


See also: Arduino Boot Camp Pitch Slides


OTHER THINGS

This bootcamp is inspired by the following:
This article can be found in the following places:
Other ways to start your Arduino Journey:

Advertisements