Deutsch   English   Français   Italiano  
<20240327a@crcomp.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: "Don" <g@crcomp.net>
Newsgroups: sci.electronics.design
Subject: Re: Microcontroller (AVR) programming from smartphone
Date: Wed, 27 Mar 2024 14:22:38 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 65
Message-ID: <20240327a@crcomp.net>
References: <f3de3f8fc37a3347899d8d66b21c48e6@www.novabbs.com> <uu117a$2qp4h$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 27 Mar 2024 14:22:38 +0100 (CET)
Injection-Info: dont-email.me; posting-host="f46b5341985db8288f62e05ae6a0df22";
	logging-data="3046059"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/29WWF+S/vqSzkS76819tq"
Cancel-Lock: sha1:L6+lojU9S38vFs85kkv1i5kZIKk=
Bytes: 3944

piglet wrote:
> 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.
>>
>
> Keep your audio interface but plug it into a Bluetooth audio receiver (or
> cannibilze an old Bluetooth headphone and connect your audio interface to
> where the earpiece was). Then students can connect audio via Bluetooth.

Beings Bluetooth uses a packet-based protocol you need an MCU to receive
packets, no?

It's easy to use a HC-05 Bluetooth Module:
<https://arduinogetstarted.com/tutorials/arduino-bluetooth>

It's harder to DIY:
<https://hackaday.io/project/184542-i-made-my-own-audio-bluetooth-module>

Danke,

-- 
Don, KB7RPU, https://www.qsl.net/kb7rpu
There was a young lady named Bright Whose speed was far faster than light;
She set out one day In a relative way And returned on the previous night.