Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Mike Monett VE3BTI Newsgroups: sci.electronics.design Subject: Re: Microcontroller (AVR) programming from smartphone Date: Wed, 27 Mar 2024 05:39:16 -0000 (UTC) Organization: A noiseless patient Spider Lines: 56 Message-ID: References: Injection-Date: Wed, 27 Mar 2024 05:39:17 +0100 (CET) Injection-Info: dont-email.me; posting-host="12ed777692314fc7d64fafdc37841c7b"; logging-data="2808435"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/wG3LqEYgoYCc1RyB1tSMFhDBT7dXkts1KCAFf5C9f7g==" User-Agent: Xnews/2009.05.01 Cancel-Lock: sha1:Qr6NHcswOUvOpKGNHZfk8VoEeVU= Bytes: 3328 rodion_gork@mail.ru (RodionGork) wrote: > Hi Friends! > > Briefly: considering ways of uploading code to microcontroller > (particularly some Atmel's AtMega - same as used for Arduino) from the > smartphone. > > In details: > > Programming MCUs (e.g. uploading firmware into their ROM) usually > happens via some proprietary interface (using SPI in case of AVR), or > UART, or JTAG. This generally involves dedicated software on the side of > computer and some hardware (USB to UART or dedicated "serial > programmer"). > > Suppose we want to be able to write simple code using mobile phone - > situation I met with my class of 15+ students with no dedicated lab > having 15+ computers. > > I tried creating a small system containing two parts: First - html > web-page with a textarea to write assembly code, built-in AVRA assembly > compiler (just compiled to javascript) - and some JS code which can > "beep" the bits of the hex-file containing firmware (via audio). Second > - bootloader for target MCU which uses ADC pin to "listen" to those > beeps via direct wire connected to 3.5 mm audio jack plugged into > smartphone - and "burn" incoming data into flash memory. > > This works (if you are curious to try, it could be found in my github > page by same username) - however there is a sudden issue: almost half of > students use mobile phones without 3.5mm jack - as nowadays it is the > era of wireless headphones already, I missed the fact! > > So now I'm looking for further, alternative approaches. For example: > > - attaching microphone to ADC pin instead of wired connector; code > should be beeped out via built-in speaker of the smartphone (it would be > a bit noisy class, of course) - I actually tried, but was not yet able > to come up with signal recognition algorithm of good enough quality. > > - blinking data with display and catching it with photo-transistor > attached to ADC or digital pin, haven't tried for it seems like bitrate > would be very low (even though we generally need to upload firmware of > few dozens bytes). > > Thus I'm open to any ideas / hints / articles on improving either of > these two approaches - or perhaps something completely different which I > may have missed. +1. I hope you get a good reponse. A worthy project for your students, and the solution could be used around the world! -- MRM