Combining Bluetooth example code and OLED example code crashes

I am attempting to make an Apple-style smart watch for use with my iPhone, using an Adafruit 1.3" 128x64 OLED screen. and an Adafruit Bluefruit nRF8001 Bluetooth Low Energy module. I am using a ascii-only library for the display to save memory (link), and a nice BLE library from Sandeep Mistry (link). My problem is that, while the ascii library examples work, and the BLE ANCS example works, combining the two doesn't work! Specifically, the code never gets past the oled.begin() line in setup().

My code can be found here: ArduinoSmartWatch/SmartWatch.ino at master · joshness02/ArduinoSmartWatch · GitHub

The display and BLE module are both hooked up an Arduino Pro Mini 3.3v via SPI.

BLE Module:
SCK - Digital 13
MISO - Digital 12
MOSI - Digital 11
REQ - Digital 6
RDY - Digital 2
RST - Digital 5
VIN - 3.3v
GND - GND

Display
Data - Digital 9
Clk - Digital 10
DC/SA0 - Digital 11
RST - Digital 13
CS - Digital 12

I had originally tried using the OLED with I2c, which was exactly the same outcome (failure). I switched the display to SPI so I would have faster refresh rates, but it didn't change anything with how the code worked. The code uses about 65-70% of both storage and dynamic memory, so I am wondering if the Ascii library has a lot of local variables or something that causes an overflow (or something like that). I don't know a whole lot about micro controller memory management, so help is appreciated here :slight_smile: I know the wiring is good, because the example programs worked without wiring changes. I am just out of ideas and not sure where to go from here. If someone has any ideas on what I can do to figure out where the problem might lie that would be great. Thank you!

Pin 10 has to be defined as an OUTPUT pin to make the Arduino an SPI master. You really shouldn't be using it as the clock pin for the OLED.