New hardware: Raspberry Pi shields with CC1200 and SX1255 chips!

After seeing how successful the M17 packet mode is becoming (and how everyone around seems to be interested in text messaging with M17) I decided to finally revive our forgotten and unmaintained CC1200 hotspot HAT. I quickly bumped up the KiCAD version to 8.0.8, cleaned up the PCB design, and reviewed its bill of materials. Looks like the device should be ready for testing! I already ordered a batch at PCBWay 🙂

The repository with the CC1200 shield is here:
https://github.com/M17-Project/CC1200_HAT-hw

The firmware for it is somewhat functional – it already allows for M17 signal transmission and reception. It might be buggy though, as it was created in a hurry before Pacificon 2023, where we showcased it.

Firmware is available through a separate repository:
https://github.com/M17-Project/CC1200_HAT-fw

Quick details behind the design:

  • 420-450 MHz range
  • approx. 20mW power output
  • frequency mod/demod1 only, excellent M17 capabilities
  • can be flashed over SWD, RPI’s UART, or USB-C2
  • half-duplex
CC1200 Raspberry Pi Zero shield.

Now, when all the hotspots (or at least a vast majority of them) support FM-based analog and digital modes only, we offer you a new solution. A truly all-mode hotspot with full quadrature (IQ) modulation/demodulation available. Want to go beyond 4FSK and try out TETRA’s pi/4-DQPSK or fancy 64QAM instead? With our shield, it is finally possible to do so, on the cheap. The hotspot works in full duplex.

SX1255 – inexpensive IQ mod/demod Raspberry Pi Zero shield.

You can finally run GUI-less GNU Radio flowgraphs on the Raspberry Pi with whatever back-end supporting M17 or any other mode. Sky is the limit. Supported frequency range covers the whole 420-450MHz (70cm) amateur band. The default sample rate is 125 kHz.

It is all, of course, open-source. The GitHub repository with the SX1255 shield is here:
https://github.com/M17-Project/SX1255_HAT-hw

The device acts as an I2S master, meaning that it generates the sample and channel clocks for the RPi. You need to enable an appropriate (I2S-slave) GPIO overlay. Details are in the readme, see the link above.

  1. On-Off Keying (OOK, also known as CW) is also possible. ↩ī¸Ž
  2. Flashing over USB remains untested. ↩ī¸Ž

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *