diyelectromusic,
@diyelectromusic@mastodon.social avatar

Wow - that's a lot of bits (at least for me) :)

Finally going to start soldering up one of my pcbs...

diyelectromusic,
@diyelectromusic@mastodon.social avatar

Ok, well I've no idea if it is actually going to do what I want it to, but it certainly looks the part...

Approx 2.5 hours to assemble - not too bad.

I'm not even going to test the basics right now though - that can wait until tomorrow :)

Photo of the populated PCB now with the front panel resting on the top showing the pots and connection points poking through. The panel is labelled in 6 sections: VCO 1 and VCO 2 at the top, then LFO and VCA then two sections at the bottom EG 1 and EG 2.

davidr,
@davidr@hachyderm.io avatar

@diyelectromusic lil jumpers! Still 1v/o? Love this.

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@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).

bytex64,
@bytex64@awesome.garden avatar

@diyelectromusic I love seeing so many knobs on a board.

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@bytex64 Well, looking at them might be all I'll end up doing yet - I still need to finish the code (assuming the board actually works)

diyelectromusic,
@diyelectromusic@mastodon.social avatar

Ok, so first major ramification of ignorance is forgetting that the ESP32 has Strapping pins - GPIOs that are internally pulled high or low on boot.

I've managed to choose three of them for my genuine analog inputs - whoops!

I think I can work around it, but it does mean that the pulldown resistors in my CV circuit aren't really working properly.

Any thoughts?

This the circuit - so what would an internal ~45K pullup/down add to this - should I just go for a stronger external pull-down?

diyelectromusic, (edited )
@diyelectromusic@mastodon.social avatar

Also, weirdly, although the docs imply they are pulled high or low on boot and suggests that this is only a temporary situation...

... I'm not convinced that is the case.

I think part of the issue is not knowing what the chip does, what the ESP32 module does under the "can" and what the DevKit itself does.

Anyone know anything about the Strapping pins? I'm not finding much Internet wisdom out there beyond what is already in the data sheets and this post: https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

diyelectromusic,
@diyelectromusic@mastodon.social avatar

Ok, so apart from the strapping pin issue which affects the three CV inputs, everything else appears to be working ok so far...

Now I need to get on and finish the firmware to join it all up! :)

diyelectromusic,
@diyelectromusic@mastodon.social avatar

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 :)

eliasrm,
@eliasrm@mastodon.social avatar

@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.

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@eliasrm Yes, I read about the recommendation after getting my board back ;)

Maybe in V2 then!

eliasrm,
@eliasrm@mastodon.social avatar

@diyelectromusic Ohh, true, I just found about the hardware bug, take a look to this thread, It seems like there is workaround in the esp-idf that could help: https://www.esp32.com/viewtopic.php?t=439

Based on what I've read, it may be possible to disable the internal pull-* using this dedicated function: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/gpio.html#_CPPv419rtc_gpio_pullup_dis10gpio_num_t

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@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!

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@eliasrm Ok I think I understand what is going on... and I think all the code/ESP32 side is now known.

Any residual readings must just be noise on the lines I think.

Lots of gory details in this post here: https://emalliab.wordpress.com/2024/05/20/esp32-strapping-pins/

diyelectromusic, (edited )
@diyelectromusic@mastodon.social avatar

@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.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • DreamBathrooms
  • magazineikmin
  • InstantRegret
  • tacticalgear
  • ethstaker
  • rosin
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • Durango
  • thenastyranch
  • ngwrru68w68
  • tester
  • normalnudes
  • cisconetworking
  • Leos
  • love
  • cubers
  • osvaldo12
  • mdbf
  • anitta
  • provamag3
  • modclub
  • GTA5RPClips
  • megavids
  • JUstTest
  • All magazines