Feather OLED interfering with cellular

We are working with the dev board and ran into a weird issue when connecting a feather wing to the m2 som. The power stays on but it seems like the connectivity is lost- the cellular light turns off and it doesn't show up in the particle setup console. When I unplug the feather, the connectivity is fine and automatically reconnects to cellular.
Is there something that I need to set up on the board when using feather wings?
This is the tutorial I was following: Feather | Hardware | Particle
with the feather OLED wing.

1 Like

Hi @derthere a few questions here:

  1. How are you powering the SoM?
  2. How do you have the Featherwing connected to the SoM?

My gut tells me it is a power draw issue brownout issue, but some additional details would be helpful.

Also which dev board? The M.2 breakout board or the older eval board?

How are you powering the dev board? USB? External power? Do you have the battery connected?

It's the M.2 breakout, see photo. I also thought it might be a power issue but it's DC power and I think I am using the


right power module...see photo. Thanks!

It's not clear why it's not working for you. I tested the Adafruit OLED display with both PM-DC and PM-BAT and the M-SoM successfully boots and gets to breathing cyan.

However, the display does not work because several pins on the M.2 breakout board feather connector are mapped to different pins than the Argon and Boron. Pins D2, D3, D5, D6, D7, and D8 are mapped differently and would need to be reconfigured in the library.

1 Like

ok, do you think something is faulty? is there anything else I can do to troubleshoot? Or do you recommend a different display?

Oh, make sure you've enabled 3V3_AUX. The system might not function properly with the display not powered but connected. Add this to setup() and run this firmware once, power down, then plug in the display and try again.

	SystemPowerConfiguration powerConfig = System.getPowerConfiguration();
	powerConfig.auxiliaryPowerControlPin(D23).interruptPin(A6);
	System.setPowerConfiguration(powerConfig);

The display should work assuming it's not defective and some minor changes are made in software.

1 Like

Also I just realized you have a different display, it looks like you have the 128x64 (SH1107) not the 128x32. Make sure you use the right library for that board.

Hey @rickkas7 and @derthere, I have the SH1107 128x64 variant of the OLED Featherwing and I was able to re-create the issue. Adding the 3V3_AUX configuration in the setup routine solved it.

SystemPowerConfiguration powerConfig = System.getPowerConfiguration();
powerConfig.auxiliaryPowerControlPin(D23).interruptPin(A6);
System.setPowerConfiguration(powerConfig);
3 Likes