Skip to content

Maia SDR is an open-source FPGA-based SDR project focusing on the ADALM Pluto

Notifications You must be signed in to change notification settings

gavrilyak/maia-sdr

 
 

Repository files navigation

Maia SDR

Maia SDR is an open-source FPGA-based SDR project focusing on the ADALM Pluto.

It currently provides a firmware image for the Pluto with the following functionality:

  • Web-based interface that can be accessed from a smartphone, PC or other device.
  • Real-time waterfall display supporting up to 61.44 Msps (limit given by the AD936x RFIC of the Pluto).
  • IQ recording in SigMF format, at up to 61.44 Msps and with a 400 MiB maximum data size (limit given by the Pluto RAM size). Recordings can be downloaded to a smartphone or other device.

See maia-sdr.org for more details.

Firmware images

Firmware images for the ADALM Pluto can be found in the plutosdr-fw repository. See also the installation instructions.

Support

Support for Maia SDR is handled through Github issues and Github discussions.

Project structure

The project is divided into the following components:

  • maia-hdl. The FPGA design. It is written in Amaranth. It can be used to build the Vivado project and bitstream for Maia SDR or as a library in other projects.
  • maia-httpd. The software application that runs on the Zynq ARM CPU. It is written in asynchronous Rust and spawns a web server.
  • maia-kmod. A kernel module used to control some RAM buffers that are used to exchange data between the FPGA and CPU.
  • maia-wasm. A web application that is the UI of Maia SDR. IT is written in Rust with WebAssembly and uses WebGL2 to render the waterfall.

License

maia-hdl is licensed under the MIT license. maia-httpd and maia-wasm are licensed under either of the Apache License, Version 2.0 or the MIT license at your option. maia-kmod is licensed under the GPL, version 2.

About

Maia SDR is an open-source FPGA-based SDR project focusing on the ADALM Pluto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 44.1%
  • Rust 43.2%
  • Tcl 4.7%
  • C 2.8%
  • Verilog 2.5%
  • Makefile 1.0%
  • Other 1.7%