Project management is the planning and organization of a company's resources to move a specific task, event, or duty toward completion.
Generally speaking, the project management process includes the following stages: planning, initiation,
execution, monitoring, and closing.
This process is at times very bulky as one records every detail from start to completion but with the ever changing technology, now we have a tool in the form of a Version Control System known as
Git and Github that are designed to allow collaboration between multiple people on the same project while at the same time recording all progress on a project.
During my time at Gearbox, I was exposed to these Version Control Systems
through the recording of all my activities and projects on Github in the form of a website and code files that I would send to or update using Git and Github.
Now that we understand the general overview, what is Git and Github, what
are thier differences and how do they work together.
GitHub is a cloud-based platform where you can work together with others to write code. In simple terms we can say it is in the form of a website or app or whatever platform that you use to collaborate.
Git is a version control system that intelligently tracks changes in files from an individual or many people collaborating on the same project.In simple terms we can say it is the brain that allows gitub to function.
The two work together in that GitHub acts as the interface to the user while Git is the actual version controller working beneath the interface. Most of the time we use GitHub from our local machines through an integrated Development Environment
such as VScode. To make this possible,we use commands on the terminal to tell Git what to do with our code or files. Let's Explore some of these commands and terms used on our Terminal:
Defination - An embedded system is a combination of computer hardware and software designed to perform a specific function.The software part of it refers to the device's firmware and inputed programmes that are a set ofinstructions
on what the device is to do and the hardware refers to the physical aspect of the device such as sensors, processors and actuators.
Embedded Systems usually have a microprocessor chip or a microcontroller(a microprocessor with other
peripherals such as storage) that facilitate processing of code.
The maincharacteristics of Embedded Systems include :
Gearbox Company provides its learners with kits that allow one to practice on thier embedded systems skills using the various components inside.
The components and their functions are as shown below :
RP2040 - RP2040 is the debut microcontroller from Raspberry Pi. It brings our signature values of high performance, low cost, and ease of use to the microcontroller space.
An integrated development environment (IDE) is a software application that helps programmers develop software code efficiently. It increases developer productivity by combining capabilities such as software editing, building,
testing, and packaging in an easy-to-use application.
A software development kit (SDK) is a set of platform-specific building tools for developers. You require components like debuggers, compilers, and libraries to
create code that runs on a specific platform, operating system, or programming language. SDKs put everything you need to develop and run software in one place. Additionally, they contain resources like documentation, tutorials, and guides
as well as APIs and frameworks for faster application development.e.g. Java Development Kit
Thonny - It is a python IDE that will be used to program the Raspberry Pi Pico using Micropython.
Arduino IDE - It is a C/C++ IDE that will be used to program a very wide variety of boards that support this language such as arduino and ESP32.
Steps to install Thonny IDE:
Here's Micropython code that causes an led to blink:
from machine import sleep
from time import sleep
led=Pin(26,Pin.OUT)
while True:
led.value(1)
sleep(1)
led.value(0)
sleep(1)
Here's the code in C used to blink an led:
int led=26;
void setup() {
// put your setup code here, to run once:
pinMode(led,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}