Git Product home page Git Product logo

plutosdr-fw's Introduction

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.

Installation and supported hardware

See the installation instructions.

Firmware images

Stable releases of firmware images for the ADALM Pluto and Pluto+ can be found in the plutosdr-fw repository. See also the installation instructions.

Development ADALM Pluto firmware images for each commit and pull request are built automatically with Github's actions system. To download the firmware image for the latest commit in the main branch (or for any other commit), click on the actions check, then go to the plutosdr-fw action details, click on the summary, and download the pluto-firmware artifact. This procedure is illustrated by the following screenshots.

List of actions

plutosdr-fw action details

plutosdr-fw action summary

For each pull request, a firmware image is also built. The bot adds a comment to the pull request with a link to the firmware when it is ready.

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.

plutosdr-fw's People

Contributors

aandrisa avatar af7ss avatar balister avatar ccraluca avatar commodo avatar daniestevez avatar menkueclab avatar mhennerich avatar rgetz avatar tfcollins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

lunawuna f5oeo

plutosdr-fw's Issues

Flashing large firmware images fails

Congrats on the release Dani... Maia SDR is working wonderful... Looking forward to more features!

I tried to reinstall ADI Pluto firmware after trying Maia SDR, without luck by copying the pluto.frm to Mass Storage Disk (and ejecting), and also with update_frm.sh. I tried this on two of my revB Plutos.

Only method that worked was DFU, while making sure uboot-env.dfu was also dfu'ed to reinit the custom changes made with fw_setenv.

Cheers

Problems with Pluto rev. C

There are reports that the Maia SDR firmware v0.1.0 doesn't work with a Pluto rev. C. After the firmware is flashed, the Linux kernel doesn't seem to boot completely.

On closer inspection of the differences between Pluto rev. B and rev. C, I think that the problem might be that the Device Tree for Pluto rev. C defines a Xilinx SPI controller in the PL. This is not present in the Maia SDR FPGA design, so the kernel will hang the AXI bus when trying to talk to the SPI controller.

Here is a pluto.frm file for the Maia SDR firmware with the SPI controller entry removed from the Pluto rev. C Device Tree. It is a zipped file because of Github file type restrictions. It needs to be unzipped before flashing.

pluto.frm.zip

I don't have a Pluto rev. C to test this at the moment, so reports about whether this works would be helpful.

Add note for boot.frm

Just inform that building process without Vivado doesn't produce boot.frm.

Installation described in readme to set environment could be done alternatively by using uboot-env.dfu.

Update to ADI firmware v0.37

ADI has released the v0.37 firmware version a few days ago. Future releases of the Maia SDR Pluto firmware should be based on this version.

Note that the current Maia SDR firmware is based on v0.35, so we jump over v0.36. This brings us Vivado 2021.2 instead of 2021.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.