Image
Mark Ochieng

This is what I learnt at Gearbox Academy

Embedded Systems Course

This are all the modules learnt within the course period.

Module 1 – Introduction to Embedded Systems

The programming language used with pico is Micropython.
MicroPython is a full implementation of the Python 3 programming language that runs directly on embedded hardware like Raspberry Pi Pico. You get an interactive prompt (the REPL) to execute commands immediately via USB Serial, and a built-in filesystem. The Pico port of MicroPython includes modules for accessing low-level chip-specific hardware.Pico is programmed by connecting it to a computer via USB, then dragging and dropping a file onto it and adding a downloadable UF2 file to install MicroPython more easily. The UF2 file is suitable for flashing microcontrollers over MSC (Mass Storage Class; aka removable flash drive).
An embedded system is a microprocessor-based computer hardware system with software that is designed to perform a dedicated function, either as an independent system or as a part of a large system. At the core is an integrated circuit designed to carry out computation for real-time operations.
I was taught about project management and documentation as it was mandatory for all the students to document everything learnt by the end of the course
I was also introduced to the Raspberry Pi Pico and two IDEs(Thonny and Arduino),how to install the IDEs and using the IDEs together with the Pico in blinking LEDs and even making Traffic Lights.
I was also taught on how to use Git and Github, the installation, seutup and the related github codes.
Here below is the raspberry pi pico pinout👇

img

And the Pico itself👇

img

Module 2 – Embedded Systems II

I was first provided with a kit with many components.
With the infomation learnt in Module 1, here I was made to understand the electrical components which are in the kit provided.
In the kit there are many components such as: PIR sensor, Ultrasonic Distance Sensor, RFID, remote Control module...e.t.c.
I was taught how to interface the internal & external LEDs, pushbuttons and switches using Pico.
I was also introduced to sensors and actuators and also learnt how to configure the Servo Motor, Ultrasonic Distance Sensor and PIR.
Here is a picture of a servo motor which is included in the kit,
connected to a Pico👇

img

Module 3 – Embedded Systems III

This is the shortest module in the course.
This is where I was introduced to the ESP-32 and ESP-32cam and its IDE(Arduino).
I was taught how to programme the ESP-32 with Arduino, which also involved building simple LED projects Using ESP-32.
Point to note is that Arduino uses a variant of the C++ programming language. The code is written in C++ with an addition of special methods and functions.
This is the ESP-32👇

img

With a section of arduino code👇


logo

Module 4 – Microcontroller Programming And Access Control Systems I

This is where I learnt the Communication Protocols!
The protocols are many in number but here we learn only 3.
The protocols are:

  • SPI - Serial Peripheral Interface
  • I2C - Inter Integrated Circuit
  • UART - Universal Asynchronous Receiver/Transmitter

With these, I was taught on how to interface all of them with the RPI Pico and ESP-32 in depth.
There are even modes of serial communication which are:
  • Simplex - This uses one line whereby the sender first sends the desired output but the receiver cannot reply.
  • Half Duplex - This uses one line whereby the sender first sends the dsired output and the receiver replies but cannot do so at the same time. This is mainly used in Walkie Talkies
  • Full Duplex - This uses 2 lines whereby the sender and receiver are able to communicate at the same time.

The communication protocols are used to control devices such as the OLED screen - SPI, AHT10(Temperature and Humidity Sensor) - I2C and many others.
Here we have the oled to emphasize 👇

img

Module 5 – Microcontroller Programming And Access Control Systems II

This module mainly emphasizes the use of a Relay. The relay is used as a link between two devices with different voltage requirements such as the Raspberry Pi Pico and any other device connected to the mains electricity as the pico requires 5volts while the mains had 240 volts.
In this module I learnt how to use the two locks(electric and magnetic)with pico and this was after being taught the basics and the workings of the locks.
I was eventually taught how to use the RFID with the locks.This RFID(Radio Frequency Identification)is a device which uses radio waves so as to give an output which is received by a card or a keytab with a module and feedback is sent to give the go ahead or reject access.
After this module one can easily make a fully automated door lock controlled autonomously with a keycard rather than the old fashioned keys.
Here we have the remote control and RFID Module👇


image
image

Module 6 – Student's Project

My Student Project - Simple Irrigation System.
Skeleton of my project👇

irrigation system

Gearbox Academy

This is just a detailed summary of all the things I've managed to do at gearbox, courtesy of my tutors.