Cannot init CC1101 SPI device

My Uno can’t init CC1101 using Veonik or PanStamp libraries.

With the Veonik code, the line "radio.init() hangs:

#include <Arduino.h>
#include <cc1101.h>
#include <ccpacket.h>

// Attach CC1101 pins to their corresponding SPI pins
// Uno pins:
// CSN (SS) => 10
// MOSI => 11
// MISO => 12
// SCK => 13
// GD0 => A valid interrupt pin for your platform (defined below this)

#if defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
#define CC1101Interrupt 4 // Pin 19
#define CC1101_GDO0 19
#elif defined(__MK64FX512__)
// Teensy 3.5
#define CC1101Interrupt 9 // Pin 9
#define CC1101_GDO0 9
#else
#define CC1101Interrupt 0 // Pin 2
#define CC1101_GDO0 2
#endif

CC1101 radio;

byte syncWord[2] = {199, 10};
bool packetWaiting;

unsigned long lastSend = 0;
unsigned int sendDelay = 5000;

void messageReceived() {
    packetWaiting = true;
}

void setup() {
    Serial.begin(38400); 
    Serial.print(F("initing..."));
    radio.init();
    Serial.print(F("setSyncWord..."));
    ...

I think this means not connecting with CC1101 via SPI. I can connect to CC1101 with RPi. Voltmeter shows good connections.

// Uno pins:
// CSN (SS) => 10
// MOSI => 11
// MISO => 12
// SCK => 13
// GD0 => 2

Any advice?

Did you connect it directly to the SPI pins? The maximal voltage on any pin is 3.9V, so you probably fried it.

If my assumption that you connected the chip directly is wrong, provide links to the used hardware (like breakout board, etc.) and a wiring diagram.

I believe you are right. It is a problem with the voltage level. The Arduino is connected directly to the SPI pins. Direct connections are ok for some pins, but not for others.

I'll order some level converters to try it out. I may have to buy some more CC1101s too, though hopefully some of the ones I have are not burned out.

The Arduino 3.3V pin will be connected to the CC1101 VCC. The Arduino 3.3V provides 50mA. As described in the CC1101 spec, is this enough power? Does the Arduino provide the same power when USB or wall wart powered?

The Arduino 3.3V provides 50mA. As described in the CC1101 spec, is this enough power?

That depends on how you drive it. It should be enough for most situations but the pull-ups also draw some current.

Does the Arduino provide the same power when USB or wall wart powered?

For the 3V3 part the answer is yes.