@davidr That's the plan, but as it's an ESP32, it will only have a small range of just over 3 octaves. I toyed with the idea of scaling down a 0-5V range, but then decided I wanted the internal voltages to be real 1V/oct signals so I stuck with 0-3V3.
It isn't really designed to be integrated with anything else as such, but there is some (very limited) protection - based on things I've found online rather than any real understanding on my part (see my design blog post for details).
Turns out that the internal pullup/down resistors, whilst persisting into running code, do get disabled within the analogRead() mechanisms (despite what gpio_dump_io_configuration will tell you!), so I don't need to think about that once everything is up and running.
If you want to know the state of the pullups for a dual RTC/GPIO pad, you have to read the RTC status regs directly, not GPIO, as well as using the config regs.
This means that any spurious results now are down to my circuits :)
@diyelectromusic You can change the pulling configuration after boot to suit your needs.
For your use case, you just have to configure your pins appropriately and disable internal pull up/down before using them.
I would recommend avoiding the strapping pins, GPIO0, GPIO2, GPIO5, GPIO12 (MTDI), and GPIO15 (MTDO) whenever possible as externally pulling those pins to the wrong state may stop your ESP from being able to boot or be programmed.
@eliasrm Yes thanks - I did do some initial tests, but wasn't sure it was actually doing anything. I need to have a proper look and do some dedicated tests so I understand what is going on!
@eliasrm yes, I think I'll be ok on the boot front, but it is messing with my analog readings. I thought the pullup/down could be disabled in code, but so far I've not had anything work I think...
There was something about a silicon bug in the ESP32 meaning that they could only be enabled/disabled by using the rtc GPIO, but I tried that and it didn't seem to have an effect.
I need to do some proper controlled testing to see what is going on.
Add comment