MicroPython Nedir? Ne İçin Kullanılır? Mikrodenetleyiciler İçin Python
- Ersin Koşar
- MicroPython
- 05 May, 2026
MicroPython, Python 3 dilinin mikrodenetleyiciler ve gömülü sistemler için optimize edilmiş bir uyarlamasıdır. C/C++ ile uğraşmadan, sade ve okunabilir Python söz dizimiyle Arduino-benzeri kartları programlamayı mümkün kılar. Bu yazıda MicroPython’un ne olduğunu, neden popüler olduğunu ve hangi platformlarda çalıştırılabileceğini anlatıyoruz.
MicroPython Nedir?
MicroPython, 2013 yılında Avustralyalı yazılım mühendisi Damien George tarafından başlatılan açık kaynaklı bir projedir. Kickstarter kampanyasıyla finanse edilen proje, Python 3’ün küçük ve verimli bir uyarlamasını sınırlı kaynaklı cihazlarda çalıştırmayı amaçlar.
Standart Python’un (CPython) aksine MicroPython:
- Sadece birkaç yüz KB RAM ile çalışabilir
- Doğrudan mikrodenetleyici donanımına erişim sağlar (GPIO, I2C, SPI, UART, ADC, vb.)
- REPL (interaktif konsol) sayesinde kodu canlı test etmenizi sağlar
- Pek çok yerleşik kütüphane (
machine,time,network,urequests) içerir
Yani Python’un kolay sözdizimini, gerçek elektronik dünyasında kullanabilirsiniz.
Neden MicroPython?
MicroPython’u tercih etmek için pek çok sebep vardır:
1. Öğrenme Kolaylığı
Python, yeni başlayanların en kolay öğrendiği dillerden biri. C/C++‘taki pinMode, digitalWrite, pointer’lar gibi karmaşık yapılar yerine sade bir sözdizimi:
from machine import Pin
led = Pin(25, Pin.OUT)
led.toggle()
2. Hızlı Prototipleme
Kodu yükleyip çalıştırmak için derleme beklemenize gerek yok. REPL üzerinden anında komut yazıp test edebilirsiniz.
3. Geniş Ekosistem
pip benzeri upip ile kütüphane yükleyebilir, MQTT’den OLED ekran sürücüsüne kadar pek çok hazır paketi kullanabilirsiniz.
4. Çoklu Platform Desteği
Tek bir dilde öğrendiğiniz şeyleri ESP32, Pico, STM32 gibi farklı kartlarda kullanabilirsiniz.
5. Açık Kaynak
MIT lisansı altında ücretsiz ve özgürce kullanılabilir.
MicroPython Hangi Kartlarda Çalışır?
MicroPython’un en güzel yanlarından biri, çok sayıda mikrodenetleyici kartını desteklemesidir:
| Kart | İşlemci | RAM | Wi-Fi |
|---|---|---|---|
| Raspberry Pi Pico / Pico W | RP2040 (Dual M0+) | 264 KB | Pico W’da var |
| Raspberry Pi Pico 2 | RP2350 | 520 KB | Pico 2 W’da var |
| ESP32 (tüm türler) | Xtensa LX6/7 | 520 KB | ✅ |
| ESP8266 | Xtensa L106 | ~80 KB | ✅ |
| STM32 | ARM Cortex-M | Modele göre | ❌ |
| PyBoard | STM32F4 | 192 KB | ❌ (resmi MicroPython kartı) |
| Adafruit Feather serileri | Çeşitli | Çeşitli | Modeline göre |
Yeni başlayanlar için en popüler tercih: Raspberry Pi Pico W (uygun fiyat, Wi-Fi var, mükemmel dokümantasyon) veya ESP32 DevKit (daha güçlü işlemci, daha fazla RAM).
MicroPython Ne İçin Kullanılır?
MicroPython’un kullanım alanları, klasik mikrodenetleyici uygulamalarının hemen tamamını kapsar:
1. Sensör ve Veri Okuma
- Sıcaklık, nem, basınç sensörleri (DHT22, BME280)
- Mesafe sensörleri (HC-SR04, VL53L0X)
- IMU sensörleri (MPU6050)
- Toprak nem sensörleri
2. Çıkış Kontrolü
- LED’ler, RGB şeritler (NeoPixel/WS2812)
- Servo ve DC motorlar
- Step motor sürücüler
- Röleler ve solenoid valfler
3. Ekran Kullanımı
- OLED ekranlar (SSD1306)
- LCD ekranlar
- E-Paper ekranlar
- TFT renkli ekranlar (ST7789)
4. Bağlantı Tabanlı Projeler
- Wi-Fi üzerinden web sunucusu
- MQTT ile bulut entegrasyonu
- Telegram, Discord bot bildirimleri
- HTTP API’lerden veri çekme
5. Eğitim Projeleri
- STEM atölyeleri
- Üniversite gömülü sistemler dersleri
- Kişisel öğrenme projeleri
MicroPython vs Arduino IDE (C++)
| Özellik | MicroPython | Arduino C++ |
|---|---|---|
| Öğrenme eğrisi | Kolay | Orta-Zor |
| Yazma hızı | Çok hızlı | Orta |
| Çalışma hızı | Yavaş (yorumlanır) | Hızlı (derlenmiş) |
| Bellek kullanımı | Yüksek | Düşük |
| Hata ayıklama | REPL ile çok kolay | Serial print ile |
| Ham donanım kontrolü | Sınırlı | Tam erişim |
| Topluluk büyüklüğü | Büyük | Çok büyük |
Hangisi daha iyi? Cevap projeye göre değişir:
- Hızlı prototipleme, eğitim, az hesaplama gerektiren işler → MicroPython
- Gerçek zamanlı performans, motor sürücü, yüksek frekanslı sinyaller → Arduino C++
Birlikte de kullanılabilirler. Pek çok geliştirici öğrenmeye MicroPython ile başlayıp, performans gerektiğinde C++‘a geçiş yapar.
MicroPython ile Nasıl Başlanır?
1. Kart Seçimi
İlk denemeniz için Raspberry Pi Pico W veya ESP32 DevKit ideal seçenek.
2. Firmware Yükleme
MicroPython çalışmadan önce, mikrodenetleyiciye MicroPython firmware’i yüklemelisiniz:
- micropython.org/download adresinden kartınız için doğru
.uf2veya.bindosyasını indirin - Pico için BOOTSEL tutarak USB’ye bağlayın, dosyayı sürükleyin
- ESP32 için
esptool.pyile flash edin
3. IDE Seçimi
MicroPython kodu yazmak için kullanabileceğiniz araçlar:
- Thonny — Yeni başlayanlar için en kolay, Python’a özel ücretsiz IDE
- Mu Editor — Çocuklar ve eğitim için sade arayüz
- VS Code + Pymakr eklentisi — Profesyonel, gelişmiş özellikler
- WebREPL — Tarayıcı üzerinden ESP’yi programlama
4. İlk “Merhaba Dünya”
Bir LED yakıp söndüren basit bir program:
from machine import Pin
import time
led = Pin(25, Pin.OUT) # Pico için yerleşik LED
while True:
led.toggle()
time.sleep(0.5)
Bu kadar! Karta yükleyin ve LED’in yanıp söndüğünü göreceksiniz.
MicroPython’un Sınırları
MicroPython’un her iş için doğru araç olmadığını da bilmek gerekir:
- Yavaştır — Yorumlanan bir dil olduğu için aynı işi C++‘tan ~10-50 kat daha yavaş yapar
- Bellek tüketir — Garbage collector ve değişkenler RAM’i hızlı tüketir
- Gerçek zamanlı uygulamalar zordur — Hassas zamanlama gerektiren projeler (motor sürücü PWM gibi) için zorlanabilir
- Bazı kütüphaneler eksiktir — Arduino kütüphane ekosistemine kıyasla daha az hazır kod
Sonuç
MicroPython, mikrodenetleyici dünyasına Python’un sadeliğini ve gücünü taşıyan harika bir alternatiftir. Hızlı prototipleme, eğitim ve IoT projeleri için ideal, başlangıç eğrisi yumuşak ve oldukça eğlencelidir.
İleriki yazılarımızda MicroPython kurulumu, REPL kullanımı, GPIO temelleri ve gerçek projelerle adım adım derinleşeceğiz. Python’a aşina iseniz şimdiden çok şey biliyorsunuz demektir; sadece donanıma uygulamayı öğrenmek kalıyor!