Saya setuju dengan Joby - Arduino hebat tetapi saya selalu merasa tertahan oleh kerangka kerja yang mengelilingi saya. Saya akan beralih menggunakan C langsung pada Arduino Anda dan membangun banyak fungsi perpustakaan yang mereka sediakan dari awal. Saya biasanya lebih suka kedalaman sebelum luas - jangan hanya mulai dari keluarga mikrokontroler lain dengan menggunakan kerangka kerja yang disediakan lebih. Pelajari sedikit lebih banyak tentang bagaimana menerapkan sendiri beberapa fungsi ini.
Mulailah dengan program yang berfungsi dan ganti panggilan perpustakaan Arduino dengan versi Anda sendiri satu fungsi setiap kali. Anda akan belajar banyak tentang register kontrol, pengaturan waktu, operasi bit, dll jika Anda belum melakukannya. Baca datasheet ATMega328 secara mendalam - semua yang Anda butuhkan ada di sana.
Coba IDE yang berbeda seperti AVR Studio atau Code :: Blocks. Pelajari rantai alat GCC. Cobalah teknik pengkodean yang lebih canggih - pengujian unit, cakupan, profiling, pemeriksaan serat / belat. Letakkan RTOS di Arduino.
Gabungan programmer / controller bukanlah tanda kelemahan - itu hanya pilihan desain. Satu-satunya 'kelemahan' yang bisa muncul darinya adalah kurangnya debugging di dalam sirkuit. Beli AVR Dragon dan Anda akan menjilatnya seharga $ 50.