# Microcontrollers

## Introduction

Microcontrollers are small but powerful computers for many purposes, one of which is powering our projects. They are compressed into Integrated Circuit (IC) packages, so it is easier to design a small project. What is neat about them is that they are a functioning computer in one package. A processor, RAM, and flash memory are all compressed into one chip. All that's needed is power, some code, and a clock. So, in theory, it can do a lot of things.

Many microcontrollers from different brands feature different specifications, sizes, and even different communication methods. It can be very hard to choose one for a project sometimes, so don't be overwhelmed while searching for a microcontroller. There are many popular choices to choose from for different needs. Below are some good starting points to use for those still searching.

## Arduino

The Arduino ecosystem is undoubtedly one of the easiest introductions into the world of microcontrollers. They are very simple machines but they can do many things given the code, tools, and expertise. Arduino-based microcontrollers were designed to be easy to use. And paired with the helpful and thoughtful Arduino community, it is very possible to do almost any task on Arduino microcontrollers.

There are many places online to purchase kits that come with an Arduino microcontroller and even some cool things to plug into it. Things like LEDs, buzzers, sensors, buttons, you name it, are in a kit. Good kits on Amazon can go for under $100 USD, and are a great place to start for beginners.

Here is a great link from the creators of Arduino on how and why Arduino works the way it does.

{% embed url="<https://docs.arduino.cc/learn/starting-guide/whats-arduino>" %}

Here is also a video from GreatScott!, a popular and very helpful YouTuber that specializes in electronics.

{% embed url="<https://youtu.be/BtLwoNJ6klE>" %}
(Source: GreatScott! @ YouTube.com)
{% endembed %}

And if you're really considering it, here is a page on how you can program your own Arduino.

{% content-ref url="/pages/7GciJ5g6PogLcC4F6txm" %}
[Software Development Tools](/resource-library/software-and-electronics/software-dev.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.k9rockettech.com/resource-library/software-and-electronics/microcontrollers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
