ESP32 WiFi and Bluetooth

Consider an option to include an ESP32 device to provide WiFi/Bluetooth connectivity to the augmented Fluke multimeter. This opens up alternative access beyond human poking at buttons, or using the IEEE-488/GPIB interface. This could be done as part of providing some data logging capability as a means to get the data out of the Fluke 8840A meter easily using (now) familiar IP-based protocols, or potentially, via Bluetooth or Bluetooth Low Energy (BLE).

Working assumption is that the ESP32 would run MicroPython for ease of programmability.

Module Configuration

Hardware Design Considerations

It makes sense to implement a site for a “bare” ESP32 module to be surface mounted, rather than a development module in a DIP form-factor with USB/serial adapter, power regulation and the like.

Have large plated-through “vias” below thermal pad of ESP32-WROOM module to solder to ground plane for head dissipation.

The ESP32 would be logically a slave to the STM32F407 control processor which would be primarily interfacing with the Fluke 8840A internals.

Per https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection, the following GPIO pins have impact on the ESP32 boot/start-up process:

Signal Function
GPIO0 LOW - enter ROM serial bootloader
HIGH - Normal execution mode
has internal pull-up resistor
GPIO2 leave unconnected/floating or Low to enter serial bootloader
GPIO12 (MTDI) High - flash voltage (VDD_SDIO) is 1.8V, not default 3.3V
has internal pull-down - unconnected = 3.3V
GPIO15 (MTDO) Low - silences boot message from normal boot
has internal pull-up