# Limesdr mini fpga programming

**URL:** https://discourse.myriadrf.org/t/limesdr-mini-fpga-programming/5636
**Category:** LimeSDR
**Created:** [15 January 2020 10:16 UTC](https://discourse.myriadrf.org/t/limesdr-mini-fpga-programming/5636 "2020-01-15T10:16:19Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![limesdr\_mini\_user](https://avatars.discourse-cdn.com/v4/letter/l/a88e57/32.png) [@limesdr\_mini\_user](https://discourse.myriadrf.org/u/limesdr_mini_user)
#### Post date: [15 January 2020 10:16 UTC](https://discourse.myriadrf.org/t/limesdr-mini-fpga-programming/5636/1 "2020-01-15T10:16:19Z")

</div>

Hi,  
I am new to limesdr mini. I want to implement simple modulation scheme like bpsk on limesdr mini. I am planning to use onboard fpga for this. Is there any tutorial available, which can guide me through the process of using onboard fpga to run custom applications…  
Thanks in advance.

---

<div class="post-metadata">

### Author: ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)
#### Post date: [15 January 2020 14:24 UTC](https://discourse.myriadrf.org/t/limesdr-mini-fpga-programming/5636/2 "2020-01-15T14:24:15Z")

</div>

Not that I know of. There isn’t much in the way of documentation for the FPGA at all and so I suspect you’re going to be on your own for this one. For two examples of custom gatewares, see:

> **[natsfr/LimeSDR\_DVBSGateware](https://github.com/natsfr/LimeSDR_DVBSGateware)**
>
> Optimised gateware for lime sdr mini. Contribute to natsfr/LimeSDR\_DVBSGateware development by creating an account on GitHub.

> **[gasparka/spectrogram](https://github.com/gasparka/spectrogram)**
>
> 80MHz bandwidth with LimeSDR-Mini and GQRX. Contribute to gasparka/spectrogram development by creating an account on GitHub.

Looking at the commits and file diffs may give you some insights into how they went about it.

---

<div class="post-metadata">

### Author: ![mzs](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/mzs/32/2678_2.png) [@mzs](https://discourse.myriadrf.org/u/mzs)
#### Post date: [15 January 2020 14:26 UTC](https://discourse.myriadrf.org/t/limesdr-mini-fpga-programming/5636/3 "2020-01-15T14:26:23Z")

</div>

A really bad FPGA design can physically destroy hardware, so I would never see using the LimeSDR/mini as a good starter platform to learn FPGA gateware design. Ultimately programming a FPGA you are designing electronic circuits made out of logic gates which is abstracted behind a language like Verilog or VHDL. I would [cut my teeth](https://idioms.thefreedictionary.com/cutting+my+teeth) learning how to code gateware on a cheap FPGA board, that I could easily replace WHEN I eventually screw up badly enough.

On a cheap board that you are learning you would use 2-bit, 3-bit or 4-bit samples to minimise the number of logic elements required, instead of 12-bit samples. The algorithms would be the same, the CORDIC lookup tables would be smaller but the steep learning curve would be exactly the same.

The usual [rule of thumb](https://en.wikipedia.org/wiki/Rule_of_thumb) is that it takes at least ten times longer to design for a FPGA than coding similar software for a CPU.
