Welcome to the New Web Presence of Palo Alto Coding!

Palo Alto Coding is a group of experienced STEM instructors that help young learners to make their first steps into the wonderful world of electronics and programming!

We offer Raspberry Pi, Arduino, and basic electronic classes – learn more about us & our offerings!

News 4/2021: We just moved to this new domain & server and finally finished migrating our pages and content. Please note that we have deprecated the content of “Class 0”; however, the slides and content are still available on request.

Why Raspberry Pi (RPi)?

Simply put – because it’s amazing. In the early 1980s, the BBC Micro and similar home computers were responsible for turning a whole generation of youngsters into digital natives: bedroom programmers, engineers, STEM educators, scientists! The term digital natives was coined by Eben Upton, the creator of the Raspberry Pi.

These early home computers had to be programmed in order to do something useful with them, at least rudimentary (using BASIC to load games from floppy disk). The immediate availability of BASIC a second after the machine powered up, and given that BASIC provided the operating system, meant that they were inviting programming and tinkering rather than preventing it, unlike the later machines that followed, where the focus was on end-user usability, graphical interfaces, applications, and games.

Eben Upton had seen a decline in the number and quality of the Computer Science applicants in the first decade of the new millennium while working at the office of admissions at the University of Cambridge / UK, and decided to better the situation by making sure that young learners would get a similar exposure to the fundamentals of computing and programming as his generation. The RPi was created to alleviate the situation, and ensure that generations to come would be digital natives again.

These days, the RPi is a powerhouse in education, and the number of books, magazines, projects, etc. is staggering. The Raspberry Pi Foundation has done an amazing jobs over the last 8 years, since the RPi 1 was released in February 2012. There is even a free monthly magazine, which is great learning resource: the MagPi. A big focus is on community as well. Since then, the RPi has outgrown its creator’s wildest expectations in terms of adoption and sales numbers.

What better platform can there be for getting started? The RPi is powerful enough to even host Web Servers such as this one, using a state-of-the-art WordPress installation. For DIY (Do-it-Yourself) electronics & “Maker” projects, it offers pin headers that can interface and interact with the external, physical world via electronic circuits. It hence enables physical computing. Given the low cost of a RPi, parents don’t need to worry if an experiment goes haywire and ends up damaging the Raspberry Pi (besides, that happens extremely rarely!): unlike a Macintosh or Windows computer, the cost of a new RPi 3 is in the 40 $ range. Hence, no anxiety barrier stands between the students and their desire to tinker, learn, and experiment. They can do so without remorse!

Students will be advised on what RPi equipment to purchase for the class (usually, we do a group order). Check the Class 1 description for more details.

Why Arduino?

In terms of compute power, the (basic) Arduino cannot keep up with Raspberry Pi. The RPi is a full-blown desktop computer that ALSO allows physical computing given its general purpose input output (GPIO) pin headers. The complexity of a full-fledged computer comes at a price – a standard RPi 3 takes about 30 seconds to start up (to “boot”, as we say). For many applications that require real-time control over the physical world this is unacceptable. For building more professional “smart” electronic devices and gadgets, a Microcontroller (MCU) such as the Arduino is used to program the firmware of the device. A microcontroller does not have an operating system or firmware yet – you have to write it yourself! The benefit is that you are in full control of every aspect of the device, and that it operates much faster than an RPi running a Python program. A MCU hence operates on much lower, much more bare metal level than the RPi. You will learn much more about electronics and the internals of computing systems.

Programming microcontrollers such as the Arduino is best done in the C programming language. We are using the Arduino IDE. The C programming language is harder to master for young learners. We hence advise this class to be taken by learners that have some prior experience in programming. The projects are also more advanced and go deeper into digital electronics. Specifically, we are using I2C and SPI devices, learn how to use the UART, etc. Curious what these acronyms means? Take our class!

As for the RPi, there is no learner’s anxiety, given that an Arduino is even cheaper than a Raspberry Pi. Burn one, break one, get another one! Break stuff often! The student is required to bring a laptop. Even an RPi will do for Arduino programming.

Students will be advised on what learning materials to purchase for the class (usually, we do a group order).

We are currently reworking the content of Class 2; please stay tuned.

Let us help you turn your student into a digital native as well!