Search found 92 matches

by Mike Teachman
Sat Mar 02, 2019 12:57 am
Forum: Drivers for External Components
Topic: TI ADS1219 ADC driver
Replies: 8
Views: 1741

TI ADS1219 ADC driver

If you need a 24-bit ADC here is a driver for the Texas Instruments ADS1219

https://github.com/miketeachman/micropython-ads1219

All device functions are supported in this driver. Tested with uPy v1.10 running on ESP32 port.

datasheet:
http://www.ti.com/lit/ds/symlink/ads1219.pdf
by Mike Teachman
Wed Feb 13, 2019 4:41 pm
Forum: ESP32 boards
Topic: i2s compatibility
Replies: 29
Views: 6249

Re: i2s compatibility

I have some questions though, why you decimate or prune your samples before saving into the SD?. And, how can I achieve full resolution (18bits) from the mic (https://cdn-shop.adafruit.com/product-files/3421/i2S+Datasheet.PDF)? There is now a better way to save full resolution mic samples to extern...
by Mike Teachman
Sun Feb 10, 2019 4:12 am
Forum: ESP32 boards
Topic: i2s compatibility
Replies: 29
Views: 6249

Re: i2s compatibility

thanks for trying it out. Really glad to know it works on someone else's build ! For the pruning part, I reduced the sample size to 16 bits to reduce the time to copy the samples to the SDCard (which should help to support a higher sampling rate), and to reduce the space used on the SDCard. In my ap...
by Mike Teachman
Wed Feb 06, 2019 9:46 pm
Forum: ESP32 boards
Topic: i2s compatibility
Replies: 29
Views: 6249

Re: i2s compatibility

Thanks for mentioning this work and listing those devices - I'll have to order some and try them out. The PR I submitted addresses a gap in the functionality of the LoBo port. It is missing a core I2S piece, which is about interfacing to external I2S hardware devices via the ESP32 pins, using the I2...
by Mike Teachman
Wed Feb 06, 2019 8:18 pm
Forum: ESP32 boards
Topic: i2s compatibility
Replies: 29
Views: 6249

Re: i2s compatibility

update: PR for I2S support is submitted: https://github.com/micropython/micropython/pull/4471 usage guide and examples describing how to use this new I2S class: https://github.com/miketeachman/micropython-esp32-i2s-examples It would be great if a few enthusiasts could try out this PR and report back...
by Mike Teachman
Fri Feb 01, 2019 11:11 pm
Forum: Development of MicroPython
Topic: include i2s library for esp32
Replies: 1
Views: 712

Re: include i2s library for esp32

please check out my answer to your esp32 post
viewtopic.php?f=18&t=5900
by Mike Teachman
Fri Feb 01, 2019 3:39 pm
Forum: ESP32 boards
Topic: i2s compatibility
Replies: 29
Views: 6249

Re: i2s compatibility

I'm not aware of a uPy I2S module for the ESP32. For a project that requires an I2S microphone I ended up writing a uPy module that uses the I2S interface in the ESP-IDF. I'll be finishing that work in a couple of days, then submitting a pull request to the main uPy repo. A few things left to do, li...
by Mike Teachman
Sat Dec 29, 2018 6:03 am
Forum: ESP32 boards
Topic: optimizing uasyncio performance
Replies: 26
Views: 4784

Re: optimizing uasyncio performance

As expected, project time "yielded" to holiday time with family and friends ;) But, a few slices of time allowed me to experiment with the Fast IO implementation of uasyncio. https://github.com/peterhinch/micropython-async/blob/master/FASTPOLL.md A time-critical coroutine that handles microphone sam...
by Mike Teachman
Tue Dec 11, 2018 4:33 pm
Forum: ESP32 boards
Topic: optimizing uasyncio performance
Replies: 26
Views: 4784

Re: optimizing uasyncio performance

It is possible to improve this using my fast_io fork of uasyncio. This enables I/O coros to be written in a way that ensures that, every time any coro yields, the scheduler checks for the ready status of the I/O coro. Then T1 is the maximum delay of any one coro, and T2 is the similar average. This...
by Mike Teachman
Mon Dec 10, 2018 5:38 pm
Forum: ESP32 boards
Topic: optimizing uasyncio performance
Replies: 26
Views: 4784

Re: optimizing uasyncio performance

might have something to do with time.ticks_ms() being a 64-bit integer on loboris port using heap. In a post on his forum he says that in the next update, the behaviour will change and time.ticks_ms() will only return a 64-bit integer if the value needs it, otherwise it'll return a small int that w...