تصورکنید بشه مدار رو ، یا بهتر بگم میکروکنترلر رو در هر مکانی بدون نیاز به PC و لپتاپ در حالی که روی مدار اصلیشه بدون جدا کردن از مدارش، بصورت بی سیم پروگرم کرد. خب باید بگم که این کار شدنیه و توسط مداری که در اینجا طراحی نموده ایم میتونید به این امر مهم دست بیابید. مداری که در تصویر مشاهده می کنید یک پروگرامر بیسیم است . بیشتر مدارایی که طراحی شدن و نیاز به تغییر و ارتقا دارن یا اینکه portable نیستن (یعنی اینکه نمیشه برش داریم و ببریم تغییرش بدیم و بعد دوباره بذاریمش سر جاش) یا اینکه در فضای بسته امکان تست اونا وجود نداره. مثلا یه کوادروتور رو در نظر بگیرین. در این چنین رباتهایی معمولا کنترلر PID استفاده شده و میدونیم برای اینکه این کنترلر عملکرد قابل قبولی داشته باشه باید ضرائب PID یعنی Kp و Ki و Kd بارها و بارها تغییر داده بشن(که این عمل tunning نامیده میشه). بهترین روش برای تنظیم ضرایب هم آزمایش و خطا و تجربه هستش. فرض کنید در فضای بسته ضرایب رو طوری تنظیم کردین که ربات به خوبی پرواز میکنه. حالا اینکه تست کوادروتور داخل فضای بسته چه خطراتی به دنبال داره بماند. همین که اون کوادروتور رو در فضای باز به پرواز در بیارین متوجه خواهید شد که پروازش چندان جالب هم نیست، چون تو فضای باز کوادروتور باید با یه سری نیروهای دیگه مثه نیروی حاصل از وزش باد سر و کله بزنه که به این مسائل حین تنظیم ضرایب توجهی نشده است. پس نیازه که ضرایبش رو در فضای باز و یک مکان امن تنظیم کنیم.این مدار بهترین گزینه برای حل همه ی مشکلات بالا است که امکان نصب کتابخانه و استفاده از آنها نیز وجود دارد.
یدونیم که برای پروگرم کردن میکروکنترلرها دو روش وجود داره.
روش اول اینه که بری یه دستگاه پروگرمر بخری و بعدش میکروکنترلر رو داخل زیف سوکت دستگاه پروگرمر بذاری و سپس فایل هگز برنامه ی مورد نظرت رو داخل برنامه ی مخصوص پروگرمر فراخونی کنی و سپس روی میکروکنترلر آپلودش کنی و نهایتا میکروکنترلر رو از روی دستگاه پروگرمر برداری و توی مدار اصلی قرارش بدی. این روش چندتا ایراد داره. یکی اینکه ریختن برنامه و تست کردن برنامه های مختلف زمان زیادی ازتون میگیره. برای اینکه به عملکرد صحیح یه برنامه برسین شاید لازم باشه ده ها و صدها بار برنامه رو تغییر بدین و اونو تست کنین. پس پر واضحه که این روش بسیار زمان گیر و حوصله بر هستش. عیب دیگر این روش ضعیف شدن و شکسته شدن پایه های میکروکنترلر بخاطر بیرون کشیدنها و جای گذاردنهای مکرر تو مدار اصلیه.
روش دوم که ISP (In System Programing) نامیده میشه بدین صورته که بدون بیرون کشیدنه میکروکنترلر از مدار اصلی عمل پروگرم کردن توسط چند پایه ی خاص صورت میگیره. البته این روش هم دردسرهای خاصه خودش رو داره. مثلا به PC یا لپتاپ و یه مبدل نیاز داری.