Code

Must-read: 5 fresh articles about microcontrollers

Must-read: 5 fresh articles about microcontrollers

Free Python Course ➞ Mini-course for beginners and experienced coders. 4 cool projects in the portfolio, live communication with the speaker. Click and find out what you can learn in the course.

Learn more

Every week we select relevant materials for you from the English-speaking internet. In this issue, we present the most interesting news and articles about microcontrollers. Stay with us to stay up to date with the latest trends and innovations in the world of microcontrollers.

How to choose your first microcontroller

Reading is essential to making the right choice and avoiding unnecessary doubts when faced with a variety of offers.

You can read on the Medium platform. This resource provides access to a variety of articles, blogs, and research on various topics. Medium offers a user-friendly interface and the ability to interact with the author, which makes reading more engaging. Here you'll find materials from both professional and amateur writers, offering unique perspectives on current issues.

A microcontroller is a compact computer capable of controlling various devices, such as telephones, washing machines, and fuel injection systems. If you're planning to create your own electronic device, a microcontroller will become your indispensable assistant. It contains all the necessary components: a processor, RAM, I/O ports, and other elements that allow it to effectively perform control tasks. Using microcontrollers opens up wide possibilities for implementing various projects in the fields of electronics and automation.

When choosing a microcontroller, it's important to consider the availability of all the necessary features for your project. This is especially true if you plan to build a mechanical keyboard. Pay attention to key parameters such as the number of inputs and outputs, support for interfaces such as I2C or SPI, and the amount of memory for storing firmware and data. It's also worth considering the microcontroller's power efficiency and performance to ensure stable operation of the device in the long term. Make sure the selected microcontroller supports programming in a language convenient for you and has good documentation to simplify the project.

  • sufficient number of ports;
  • USB support;
  • I2C and SPI support;
  • QMK and ZMK support.

All microcontrollers have similar characteristics, but the key selection criteria remain availability, compatibility with the necessary software, and ease of soldering at home. When choosing a microcontroller, it's important to consider its availability to ensure ease of acquisition. Compatibility with your software also plays a significant role, as it affects the functionality of the device. The ease of soldering at home eliminates additional equipment costs and simplifies the development process. Here are three reliable brands to start with: Microchip — the most popular microcontrollers. There are tons of tutorials online about them. They're a good start, but a bit pricey for their somewhat limited specifications. STM — this brand has models for every taste, and their specifications are much more impressive than Microchip's. However, they can only be programmed in C and C++. Whether that's a good or a bad thing is up to you. Nordic — excellent, powerful chips that are especially good for Bluetooth. You'll also need to write C for them. However, Nordic has a major drawback: you can't handle them with a simple soldering iron; you need an advanced station.

MicroPython on Raspberry Pi Pico

Reading this article will help you learn how to quickly and effectively master microcontroller programming, especially if you already have experience with Python. We'll cover the basic approaches and best practices that will simplify this process and allow you to quickly immerse yourself in the world of embedded systems. This helpful guide will be especially relevant for those who want to use their Python experience to create applications on microcontrollers.

You can read more on the MakeUseOf website. Here you'll find many useful articles and guides on technology, programming, and other relevant topics. Dive into a world of interesting content and expand your knowledge. MakeUseOf offers up-to-date tips and tricks to help you effectively use a variety of tools and resources. If microcontroller programming intimidates you and you're unsure where to start, this guide will be your go-to resource. It covers working with the Raspberry Pi Pico board, a new microcontroller released this year. It's programmed using MicroPython, a simplified version of Python adapted for microcontrollers and with a familiar syntax. If you're already familiar with Python, the transition to microcontroller programming will be easy and natural. This guide will give you all the knowledge and skills you need to successfully work with the Raspberry Pi Pico and help you develop your microcontroller programming skills.

This guide covers the basic steps for installing MicroPython, choosing the right development environment, and important nuances to consider. For more experienced users, several advanced examples are also included, including measuring temperature, playing music, and working with Morse code. This will help deepen your knowledge and skills with MicroPython and expand the platform's potential for use in a variety of projects.

Machine Learning and Microcontrollers

Reading about machine learning on microcontrollers allows you to gain a deeper understanding of its unique features and applications. This knowledge opens new horizons in the development of intelligent systems that can operate in challenging environments, such as low power consumption and limited computing resources. Understanding machine learning principles in the context of microcontrollers helps developers create more efficient and adaptive solutions for a variety of tasks, from automation to signal processing. This also facilitates the wider adoption of IoT technologies, where machine learning plays a key role.

Read more on Analytics Vidhya's blog.

If you're familiar with the basics, this guide will be useful for you. We'll discuss how to apply machine learning on microcontrollers, specifically the Raspberry Pi Pico board. Although the Pico has limited resources and memory, and doesn't support key machine learning libraries in MicroPython, this doesn't stop us. We'll learn how to develop our own algorithms and implement artificial intelligence from scratch, adapting it to the capabilities of this platform.

The author offers a step-by-step recipe for creating a kNN (k-nearest neighbors) algorithm that can independently determine whether a refrigerator door has been open too long. While machine learning isn't required to solve this problem, the example is illustrative and interesting. The kNN algorithm enables effective data classification and can be used in a variety of practical applications, including monitoring the health of home appliances.

How to Write Arduino Programs in Go and Ruby

Reading this information will help you understand how a computer can effectively interact with your microcontroller. You will learn about the various ways a computer can support and improve the operation of a microcontroller, as well as development and programming techniques that optimize this process. Understanding these principles will allow you to maximize the potential of your microcontroller and improve the performance of your projects.

Read on the Medium platform.

Arduino uses its own programming language based on C/C++. The official website mentions that it is based on the Wiring language. The size of an Arduino program download is limited by memory and can range from 16 to 256 KB. This size is usually sufficient for most projects, but sometimes more complex and large-scale solutions are needed.

In such situations, Firmata technology, which will be discussed in this article, comes to the rescue. Firmata allows you to integrate a microcontroller with a computer, while the program runs on the PC, which provides more resources compared to the limited capabilities of Arduino. One significant advantage of this technology is the lack of language restrictions. You can use programming languages ​​such as Ruby, Go, and JavaScript, depending on your chosen framework. This makes Firmata a universal solution for developing projects using microcontrollers.

Everything you need to know about microcontrollers

Reading about microcontrollers allows you to gain a deeper understanding of their operation and internal design. This knowledge will help you better understand the operating principles of microcontrollers, their architecture, and capabilities. Understanding the mechanics of these devices opens new horizons for the development and optimization of projects related to electronics and programming. In addition, this knowledge can be useful in solving complex problems and creating innovative solutions in the field of automation and control.

You can read on the Medium platform.

Kasper Lund is the co-founder of the V8 engine, the Dart language, and the Toit platform, designed for working with the Internet of Things. In his article, he shares his experience developing for microcontrollers, explains the differences between virtual machines, operating systems, and programming languages. This information will be useful for those who want to start working with smart boards and understand the basics of developing for them.