Home

Awesome

How to learn modern Embedded Systems

A guide to the adventurer

Description

This is a guide to learn embedded systems, with updated resources that I think are relevant and modern. <br> In this repository there are resources for 3 areas: <br>

Engineering a project from idea to final product

This example is beautifully explained in 15 minutes with clarity and simplicity. With access to all the files (Open Hardware). A really good and simple project of IoT to learn from. Study it and see also the other videos from the same Youtuber, because Sayanee Basu is a really good educator in embedded development. A nice video to start this guide. <br>

  1. Initial idea
  2. Market study. Search for other products in the market and open projects.
  3. Concept development
  4. Circuit design
  5. Procurement of components
  6. PCB design with a microcontroller
  7. Logistics to send the board to factory
  8. Construction, soldering the components on the board
  9. Boot loader flashing
  10. Firmware development in Arduino-CLI
  11. PC Web development configuration control over USB.
  12. Publishing of all files of the project on the Web
  13. Demo of the project and the project development steps on a Youtube video

Programming

C programming

C++ programming

Python programming

Rust programming

Embedded Rust

Embedded Rust with STM32 BluePill - STM32F103

Embedded Rust with Raspberry Pi Pico - 4 dollars board

Rust on or for the Raspberry Pi

There are two modes of using Rust with the Raspberry Pi. <br> The first one is installing Rust development tools on the Raspberry Pi itself, and the second one is installing on the PC and making cross-compilation to generate a executable that runs on the Raspberry Pi. <br>

Developing on the Raspberry Pi and running Rust programs on the Raspberry Pi

Developing on the PC and cross-compiling to run Rust programs on the Raspberry Pi

Algorithms

Microcontrollers

Arduino

Arduino-CLI

This is the best way and the more professional way of working with Arduino. With your own editor, with your own make file, with all your tools in place, really the best way. All this is beautifully explained in simple terms and in a show how to do it way in the following video play list from Sayanee Basu. <br>

AVR

STM32

ESP32 and ESP32-S2

FreeRTOS - Real time operating system

Fixed Point Math

Microcontrollers for less than 1 dollar

Linux

Learn Embedded Linux

Command line

Computer systems, Operating systems and Drivers

RaspberryPi

FPGA's

Verilog

VHDL

FPGA Open source Tools

Others

Electronics

PCB - KiCAD

DSP

GCC and GDB

Git

Code editors

All my other guides

Have fun!

Best regards, <br> Joao Nuno Carvalho