Close
0%
0%

S1G RF: Sub 1GHZ Radio Modules 915MHZ and 433MHZ

Sub 1GHZ RF wireless modules operating at 915MHZ and 433MHZ ISM bands, based on the ADF7023, full open source!

Similar projects worth following
A family of Radios based on the the ADI ADF7023 operating at 915MHZ and 433MHZ An open hardware solution for projects that require excessively long range wireless.
Specs
- ADF7023 RF Transceiver
- 28 Mile line of site range
- Dedicated Antennas for RX and TX
- Open Source under CERN Open Hardware License
- Circuitry shielded with outer shield.
- UM Coaxial Antenna connectors
- STM32L052C8T6 ARM Cortex M0+
- USB 2.0 connectivity
- USART connectivity
- SPI connectivity
- USB bus or battery powered
- Combined and Separate PA/LNA Match versions of 915MHZ and 433MHZ modules

S1G-RF 915MHZ Long Range Radio Platform

A family of Radios based on the the ADI ADF7023 operating at 915MHZ and 433MHZ. An open hardware solution for applications requiring robust long range wireless solutions. The project targets robotics and UAV projects specifically but can have other uses such as HAM radio or low atmosphere weather balloon experiments.

Hardware Specs
- ADF7023 RF Transceiver
- 28 Mile line of site range
- Dedicated Antennas for RX and TX
- Open Source under CERN Open Hardware License
- Circuitry shielded with outer shield.
- UM Coaxial Antenna connectors
- STM32L052C8T6 ARM Cortex M0+
- USB 2.0 connectivity
- USART connectivity
- SPI connectivity
- USB bus or battery powered
- Combined and Separate PA/LNA Match versions of 915MHZ and 433MHZ modules

Separate RX/TX Antennas

KiCAD OpenGL Render:

Combined PA/LNA Match single Antenna

KiCAD OpenGL Render

Applications:

- Robotics

- UAVs and Drones

- Mesh network adapter for PCs

- HAM Radio Digital Radio Experimenting

- Weather balloon experiments

Adobe Portable Document Format - 145.61 kB - 11/17/2016 at 19:18

Preview Download

Adobe Portable Document Format - 146.15 kB - 11/17/2016 at 19:18

Preview Download

View all 2 files

  • Project Update: Firmware and Hardware Changes

    Adam Vadala-Roth12/19/2016 at 23:08 0 comments

    Hey folks! this project has been on the backburner for a few weeks while I've been tending to other matters. A few developments have occurred since the last update. Shortly after posting about the adapter boards in the last project log I started on the firmware.

    The firmware for the S1G-RF is going to be written in C using the manufacture libraries generated by ST Microelectronics' app STM32CubeMX. With that application I was able to generate all the driver code for all the peripherals in use on the STM32 for the S1G-RF hardware, this also includes USB virtual serial port code! STM32CubeMX is a simple GUI application and you just pick and choose everything you need, select the peripherals then configure the clocks, export code done, totally magic!

    Peripherals selected and configured:

    Clock Configuration:

    After configuring all the peripherals and clocks on the STM32 the code is exported in the form of an Eclipse project, the flavor of which depends on which ARM IDE you select in the preferences, each option is effectively a custom build of Eclipse with an ARM toolchain and some GUI features shoved in it. Since I prefer to develop software on Linux and with a text editor I needed to convert the project to a standard C makefile format. To achive this I used a simple python script I found online, here it is:

    https://github.com/baoshi/CubeMX2Makefile

    Really easy to use and works like a charm. I am currently compiling and building the firmware with the ARM GNU Toolchain on Debian stretch using the makefile and code generated by STM32CubeMX and the python script. ARM GNU Toolchain can be found here for those of you that want to look at the code and compile it yourselves: https://launchpad.net/gcc-arm-embedded .

    Now as far as the SPI driver code goes for the ADF7023 transceiver chip my original plan was to sleuth through the datasheet and write my own driver library, but fortunately Analog Devices did all the hard work. Turns out Analog Devices has a github page that has a ton of open source C drivers for many devices they sell. The repository is here: https://github.com/analogdevicesinc/no-OS it covers a lot of devices they have and assumes there is no OS in your application so these drivers are best suited for a baremetal firmware approach. The source code for the ADF7023 specifically is found here : https://github.com/analogdevicesinc/no-OS/tree/master/drivers/ADF7023 , it makes reference to another file pair called communication.h/.c where you need to implement a few functions for controlling the SPI peripheral on your master device, I simply implemented the functions as wrappers that call the STM32 SPI driver code. I only spent a couple hours working on the firmware but after a bit of reading compiler errors and debugging I got the ADF7023 driver code compiling onto of the STM32 peripheral driver codebase successfully. The project's firmware code can be found here: https://github.com/adamjvr/S1G-RF-firmwware all code that does not belong to ST Microelectronics or Analog Devices Inc. is released under the MIT open source license. Still much more to come on this, I'm still hammering out the overall functionality and when I have a clear roadmap I'll get back to writing more code.

    At the start of the project log I mentioned some updates to the hardware. One of the updates will be adjustments made to the ground pours around the RF transceiver, RF amplifier matching circuits, and antenna connectors. I want to pull back the groun pours tad around the antenna traces and tranceiver, as recommended by the FaradayRF project. They are already several design iterations in on their 900MHZ radio and I appreciate their input! Please also check out their project too https://faradayrf.com/ if you are a ham interested in 900MHZ their platform is for you. Anyways back to S1G-RF!!! :) In addition to copper pour adjustments I want to had some small switch banks for setting which functional mode the S1G-RF is in. The switch will pull...

    Read more »

  • Small Update

    Adam Vadala-Roth11/14/2016 at 05:54 0 comments

    So, I've been researching and doing more tweaks to the radio PCBs. There's been a few commits to the git, mostly adjustments with grounding and ground pours. The main part about this update is the addition of an adapter PCB. This PCB converts the 2.54mm header into snap fit JST connectors breaking out the SPI to a 6 pin connector with power and ground, and USART broken out to a 4 pin connector with power and ground as well. With this addon adapter the S1G radio modules can be used by embedded devices in lieu of USB connectivity.

    3D Views

    The PCB press fits ontop of the radio modules and can be screwed down. I am going to design some 3D printable spacers/standoffs to sit between both PCBs. There will be other adapters down the line to make interfacing with the S1G simple for many different applications, there will also be a printable housing that supports these modular adapters. Stay tuned for more updates on the project!

  • First Pass of PCBs done

    Adam Vadala-Roth11/12/2016 at 00:20 0 comments

    Hey so I got a little ambitious over the last few days and did a lot of work to the PCB. I'm happy to share my first pass on routing on both PCBs for this project log. First off there were a number of changes to the schematic and the connectors used on the board, these specs are still subject to change over the course of the project. Anyways I swapped out the fancy SMT connectors for 2.54mm pitch pin header and broke out all the signals to a single header. This header allows the radio to communicate over SPI or USART, the header also allows for power to be fed into the board for applications where USB power is unavailable. I also swtiched to this kind of connector because its more popular and easier to interface with, 2.54mm Pitch is pretty standard.

    So this project encompasses two versions of the same radio circuitry, one version with separate PA/LNA matching circuitry and antennas, the other one uses a combined match and a single antenna. The combined implementation is meant for application where size is an issue, the separate implementation is for size independent applications such as drone ground stations.

    Before I unveil the PCBs, I wanna outline the general function of them, I didn't elaborate on that all that much in the first post. There is a diagram below to help understand:

    The diagram above shows the general system overview of both of the S1GRF PCBs. The heart of both is the ADF7023 transceiver IC, this is controlled by an ARM Cortex M0+ over SPI serial. The ARM Cortex M0+ being used is the STM32L052C8T6 its a simple ARM micro-controller clocked at 32MHZ. The STM32's job is to provide a USB 2.0 interface, USART, and SPI interface for connecting to user applications. How these interfaces will function will be later defined when the firmware gets developed. Also the serial interfaces that are available on the pin connector along with GPIO pins. Also in the diagram is a power source switcher, this is essentially a simple circuit consisting of a MOSFET and diode, this switches the LDO to be fed off the USB port instead of the pin connector.

    Now for the PCBs! First here is the combined PA/LNA match implementation:

    2D From KiCAD:

    KiCAD 3D Top Side:

    KiCAD 3D Angled:

    Separate PA/LNA Match Implementation:

    2D From KiCAD:

    KiCAD 3D Top Side:

    KiCAD 3D Anagled:

    So thats the initial first pass on the PCB for both versions of the radio, I'll be reading app notes and tuning these designs quite a bit before I build so stay tuned for updates on what I do and what I'll learn ;)

  • It Starts

    Adam Vadala-Roth11/08/2016 at 02:57 0 comments

    So I've been wanting to do this project for a long time, awhile ago myself and a couple friends were interested in long range XBee radios frm Maxstream. The prices were pretty high at the time so we thought about rolling our own PCB for one of the wireless chipset that Maxstream used. Though at the time we had no experience in PCB design let along designing RF PCBs. So after a few years of gaining experience designing all sorts of things, I decided to explore this project again.

    With that I did some searching of RF transceivers and came upon the ADF7023, its a pretty nice chipset and supposedly capable of transmitting at a fairly great distance. The modules I will be developing will essentially be ADF7023 + STM32 ARM Cortex M0+ on a board with SMA antennas, several connection ports, and USB. The RF section is nearly a straight implementation of the reference design but some components have been swapped out for ones with better tolerance and RF grade. The rest of the schematic is orginial to the project. At this point I've created two schematics, one for separate and combined PA/LNA matches. This should let me explore the capabilities of the chipset and allow me to build 4 unique radios, for 433MHZ the baords will be the same but components changed.

    Here are the Schematics:

    Separate Matches

    Combined Match

    MCU Section, its the same for both boards:

    So that;s where I am at currently, these are subject to change a lot over the course of development, this is my first real RF project as I don't count any of the 2.4GHZ stuff I've done so comment any suggestions if you'd like :) Stay tuned for more!

View all 4 project logs

Enjoy this project?

Share      

Discussions

Tim wrote 02/17/2017 at 21:25 point

Adam I saw your question in the Hack Chat about replacing your PA/LNA match inductors with a balun.  Can you provide a little more info on which inductors you are looking to replace?  I had a look at the schematic picture in the project pictures, and if you are asking about the components that I think you are then that might not really work.  You L's and C's are performing filtering at the same time as the impedance match.  So there might not be an option to replace those.  I didn't see a PA/LNA connected to the ADF7023, so I'm guessing you're really talking about matching the ADF7023 to the antenna.

  Are you sure? yes | no

Adam Vadala-Roth wrote 02/18/2017 at 00:23 point

yeah the matching circuitry between the transceiver an the antenna, the device is highly integrated so thats what I am referring to. It seems like I can replace a section of it with a generic balun but its not an ideal solution, I more interested in learning about the process or replacing a discrete circuit with a balun and how to chose one. For other transceivers like the Ti CC steries this is really straightforward but the ADI chipset can go much further than the Ti and I'm not interested in their chips beacuse they have an MSP430 builtin and I sort of hate that MCU. 

  Are you sure? yes | no

ajlitt wrote 11/15/2016 at 20:03 point

The separate TX/RX version might be usable for reading UHF (EPC) RFID tags

  Are you sure? yes | no

Adam Vadala-Roth wrote 11/15/2016 at 21:29 point

cool idea, the hardware and software will be open source, you are welcome to hack that functionality out of it! Or perhaps contribute to the firmware when I get to that stage, thanks for sharing your concept! :)

  Are you sure? yes | no

Brenton Salmi wrote 11/13/2016 at 22:09 point

Nice work Adam! Do note that if you use this on the ham bands you must have a valid license and operate per standards. No encryption and it's generally accepted that ID'ing in a cleartext ASCII method per modulation works fine.

Also note that 70cm (433MHz) and below there are symbol rate limits (not bandwidth) that you much abide by: http://www.w5yi.org/page.php?id=139

Keep it up!

  Are you sure? yes | no

Adam Vadala-Roth wrote 11/13/2016 at 23:53 point

Thanks! I do plan on getting my HAM license as I develop this, so I'll make sure i"m certified before I operate in those bands. Thanks for the heads up on 433MHZ I didn't know how it was regulated. I'll probably pick your brain again as I go deeper into the project. BTW your brother was kind enough to offer some PCB tips on twitter. Thanks again for your encouragement and sharing of knowledge. 

  Are you sure? yes | no

Ted Yapo wrote 11/12/2016 at 04:19 point

This is very interesting, especially at 433.  I wonder why ADI limits it to 431 on the low side of that band - I wouldn't mind one that did 420-450.  In any case, a good project you have here, and I'm anxious to see how it turns out.

Kudos on open-sourcing this thing, too.

  Are you sure? yes | no

Adam Vadala-Roth wrote 11/13/2016 at 23:56 point

No idea why ADI limits it. I chose the ADI chipset over the others because its highly integrated and quotes amazing range for its size and power. Glad you are interested in the project! I'm also anxious of how its gonna go first serious RF design. As for other frequencies I do have plans to evaluate other chipsets, Semtech has a few interesting ones that operate lower. As for open source, its the way to go for me, makes everythign better :) 

  Are you sure? yes | no

Ted Yapo wrote 11/14/2016 at 00:05 point

Yes, 28 miles is an amazing range.  But, if I do my calculations right, you have to be on the top of a 520-foot tower before you can see 28 miles to the horizon.  So, the distance is likely to be constrained by line-of-sight before the power and rx sensitivity.  But that's just physics, it doesn't detract from your project at all.

Keep up the good work.

  Are you sure? yes | no

Adam Vadala-Roth wrote 11/15/2016 at 20:11 point

Indeed you are correct! I probably won't get to experience the range but it just caught my eye when I was evaluating chipsets. One of the things I plan to do with it though is put on on a weather balloon and get as close to space as possible. I'm gonna need all the range I can get for that right? lol 

  Are you sure? yes | no

Ted Yapo wrote 11/15/2016 at 22:06 point

If you loft one of these things on a balloon, definitely post it here as a project with some advance notice; I'm sure you can get a bunch of observers to listen for it.  I definitely would!

If it ends up over the northeastern U.S., anyway...

  Are you sure? yes | no

Adam Vadala-Roth wrote 11/16/2016 at 08:03 point

Absolutely there will be a project with some significant notice, I'm on the east coast so you'd likely be able to listen for it :) 

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates