News feed

  • CC1200 hotspot – spectral purity

    I performed a quick test to check the harmonic content of the RF signal generated by a CC1200 hotspot. Here’s the spectrum plot for a +14dBm M17 signal at 433.475MHz:

  • CC1200 hotspot is now available at PCBWay

    CC1200 hotspot is now available at PCBWay

    The CC1200 hotspot shield for Raspberry Pi can now be ordered through PCBWay. This shield offers frequency mod/demod capabilities, and can be used for analog FM, M17, and APRS. DMR support was not tested.

    See our ADF7021 and CC1200 comparison: https://m17project.org/2025/02/06/quick-adf7021-and-cc1200-comparison

    As with any other design released through PCBWay, the sales commission goes to M17 Foundation. Follow the link below to learn more.

    https://www.pcbway.com/project/member/shareproject/?bmbno=F449C8A5-E71A-41

  • SX1255 all-mode hotspot is now available for purchase

    SX1255 all-mode hotspot is now available for purchase

    The SX1255 RF hotspot shield for Raspberry Pi can now be ordered through PCBWay. The sales commission goes to M17 Foundation. Follow the link below to learn more.

    https://www.pcbway.com/project/shareproject/SX1255_Raspberry_Pi_RF_shield_18f0397d.html

  • M17Web: Listen to M17 reflector traffic in your browser

    Why I built m17web

    When introducing my fellow Austrian hams to M17, I kept hearing the same question: “How does it sound?” This coincided with my desire to experiment with Rust and WebAssembly, creating the perfect opportunity to build a tool that would answer this question while expanding my programming skills.

    How it works

    m17web consists of three main components connecting to mrefd and working together to bring M17 digital voice to your browser. The system listens to UDP traffic from M17 reflectors, routes it through a proxy server, decodes the audio in the browser using WebAssembly, and presents it through a clean web interface—all without requiring any special hardware or software installation.

    (more…)
  • A quick introduction to soft (fuzzy) logic – part I

    You can’t have your cake and eat it, a well-known proverb says. The state of this proverbial cake is strictly determined – it exists in exactly one of two possible states. This is very similar to the rules of Boolean logic – there are two (bi-nary) significantly different values for a logic sentence – true or false, or 1 and 0.

    Real-world problems, including measurements, might not always have a strictly defined logical value. Imagine a blue square. The statement “the square is blue” is obviously true, whereas “the square is green” is undeniably false. But what if the square was turquoise, having a shade that’s a mix of both colors? What the logical value of “the square is blue” would be then? False? Or maybe something in between? This is exactly where Boolean logic fails, but soft logic offers a solution.

    (more…)
  • Receiving M17 text messages with an MD-380 running OpenRTX

    TYT MD-380 was one of the first platforms to receive M17 support through OpenRTX open-source firmware. A small modification was found out to be required to make it work with our protocol (its stream mode for digital voice). Many MD-380 users performed the required surgery.

    Fast forward to Jan 2025: Rick KD0OSS provided a piece of code making it possible to receive and transmit M17 packets – text messages!

    The test binary files are available here.

    An iconic trio: MD-380 running OpenRTX, CC1200 hotspot and a modified Nokia 3310/3330
    (more…)
  • Identifying basic parameters of an obscure digital voice mode

    Retevis C62, offering a secret digital voice mode

    I recently came into possession of a C22 handheld transceiver from Retevis.

    The C22 is an alternative version of the C62, which is believed to be the same (or a very similar) radio, just with different firmware (with its interface using cyrillic script)1. Both C22 and C62 are advertised as analog FM handhelds with some super-duper fancy AI noise cancelling technology. A fellow ham, Ferdy EB5DQ, recently shared a video on YouTube2 showing the C62 with a cryptic “Digital” mode enabled. The mode is undocumented and can only be enabled through the CPS.

    (more…)
  • 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. ↩︎