Moja przygoda z protokołem MIDI

Pierwsze kroki:

Na początku roku 2026 zakupiłem swoje pierwsze moduły ESP do projektu, który realizowałem. Po jego zakończeniu miałem nieużywane, elementy z których stworzyłem prosty kontroler MIDI do komputera. Składał się on jedynie z ekodera i kilku guzików, a każdy sygnał był ręcznie odczytywany i wysyłany poprzez bibliotekę BLE MIDI. Pare tygodni później, zakupiłem dwa potencjometry obrotowe, które dołączyły do enkodera. Taki zestaw pozwalał na całkiem wygodną kontrolę głośności elementów na moim komputerze, poprzez VoiceMeeter, jednak jego podłączanie było nie idealne ze względu na wykorzystanie Bluetooth jako sposobu transportu protokołu, który nie jest bezpośrednio wspierany przez Windows, przez co musiałem mieć uruchomione aplikacje przekazujące sygnał z bluetooth na sygnał wewnątrz systemu.

Upgrade do USB:

W marcu dostałem płytkę rozwojową ESP32-S3-DevKit-C, która dała mi możliwość przesyłania protokołu MIDI po natywnym USB. Wtedy też przerzuciłem się na bibliotekę Control Surface, która pozwoliła na znacznie szybsze stworzenie kodu, oraz łatwiejszą skalowalność, ze względu na łatwe definiowanie pinów GPIO dla elementów fizycznych, oraz proste wybranie sposobu transportu protokołu.

Tworzenie własnego PCB:

Usatysfakcjonowany działaniem prototypu, zacząłem projektować PCB — przygotowanie jej, zajeło trochę czasu, i było bardzo dużym wyzwaniem w porównaniu do moich umiejętności. Z powodu braku doświadczenia, oraz braku cierpliwości, wykorzystywałem dużo AI, której halucynacjie niejeden raz sprowadziły mnie na manowce... Ze względu na brak weryfikacji danych z mojej strony, pierwsza rewizja płytki ma trochę błędów, ale z kilkoma, relatywnie łatwymi modyfikacjami podczas jej montowania, można uzyskać działający kontroller. Mimo problemów z modelami LLM, nie zaszedł bym aż tak daleko, bo AI pomogło mi zrozumieć wiele zagadnień, które w internecie, nie były opisane przystępnie, dla całkowitego nowicjusza.
4 października wydałem pierwszą wersję oprogramowania, która pozwala na zmianę sposobu przesyłania protokołu, do dwóch odbiorców, oraz obługuje wyświetlacz i resztę hardware'u.

Więcej informacji o projekcie znajdziesz na github

Artykuł zaktualizowano: październik 22, 2026

Anton

Nazywam się Antoni, ale to już pewnie wiesz :)
Od lat interesuję się fotografią i filmowaniem, a od niedawna (początek 2026r) całe moje fundusze pompuję w mechatronikę. Za sobą mam nagranie filmu dokumentalnego, oraz stworzenie kontrolera audio bazującego na protokole MIDI.