Any Interesting Projects For Zynq - Page 1
Forum section: electronics / general

author: rstofer
author_rank: Super Contributor
timestamp: October 31, 2019, 06:38:00 pm
content: Has anybody found something interesting to do with a Zynq board? I'm not talking about building an oscilloscope but rather something in the hobby arena. I guess I'm looking for an excuse to buy a board and learn something new but the project should be interesting.The boards are too expensive to just 'blink an LED'.My interests are all over the map so 'interesting' covers a lot of territory.

author: agehall
author_rank: Frequent Contributor
timestamp: October 31, 2019, 06:56:12 pm
content: I'm planning on driving my LED cube project with one of my Zynq-boards to get the refresh rate I want.They are a bit pricey but if you stick to the low-end like MyIR boards, the price is acceptable compared to what you get imho.

author: RoGeorge
author_rank: Super Contributor
timestamp: October 31, 2019, 07:13:51 pm
content: Maybe you want an ADALM PLUTO board, a 6GHz Rx/Tx SDR with dual core Zynq 7010, DRAM, USB host, can run Linux, has Matlab support, GNU Radio support, made by Analog Devices, for about $70, or so.If you get bored with Zynq, can dive into SDR, or embedded Linux, or whatever. AD made an SDR book based on ADALM-PLUTO.https://www.eevblog.com/forum/rf-microwave/adalm-pluto-sdr/https://www.eevblog.com/forum/rf-microwave/adalm-pluto-as-vhfuhf-spectrum-analyzer-and-a-tracking-generator/

author: rstofer
author_rank: Super Contributor
timestamp: October 31, 2019, 07:27:09 pm
content: Quote from: RoGeorge on October 31, 2019, 07:13:51 pmAnything with MATLAB support is interesting! SDR, not so much...

author: RoGeorge
author_rank: Super Contributor
timestamp: October 31, 2019, 07:35:57 pm
content: Not only Matlab, I see now it has Simulink support, too.https://www.mathworks.com/videos/waveform-generation-using-mathworks-sdr-1554978351616.htmlhttps://www.mathworks.com/hardware-support/adalm-pluto-radio.html

author: JohnnyBerg
author_rank: Frequent Contributor
timestamp: October 31, 2019, 07:58:41 pm
content: You could try to implement some kind of network stack, for example AES67 over IP.Or build a 100 tier FIR filter, to equalize a speaker to your favorite response curve.We did both things were I used to work.

author: rstofer
author_rank: Super Contributor
timestamp: October 31, 2019, 08:21:14 pm
content: I think I'm more of a digital kind of guy. I have less than zero interest in music and only slightly more, but still less than zero, in radio. But I can sure see how that Pluto gadget would be just the ticket for analog folks, especially students. I always liked the AD Blackfin that I was playing with some years back; AD makes some amazing devices. Heck, the entire Analog Discovery 2 project is based on Analog Devices except for the FPGA from Xilinx and it's targeted directly at students.I do enjoy using Simulink to model the analog computer solution to various differential equations. Of course, I also like patching real analog computers.I'll have to think about SDR. There must be something I can do with it without going down the ham radio path. I so dislike tests... Maybe it would be fun to decode BLE.

author: colorado.rob
author_rank: Frequent Contributor
timestamp: October 31, 2019, 08:51:14 pm
content: I have a couple of Pynq-Z2 boards. I've been toying with the idea of doing high-speed data transfer over the HDMI ports. It has both input and output, so should be able to do ~3Gbps bidirectional.Here's a great place for inspiration with Zynq:http://www.pynq.io/examples-- you can do any of these without relying on Pynq/Python if you'd rather implement it from the ground up.

author: rstofer
author_rank: Super Contributor
timestamp: November 01, 2019, 12:47:50 am
content: That pynq site is quite good!

author: 0culus
author_rank: Super Contributor
timestamp: November 01, 2019, 12:54:32 am
content: For the record, the exams are not difficult at all till Extra, and really that exam isn't going to be like a uni exam in terms of difficulty. If you are even the slightest bit knowledgeable in electronics passing shouldn't be a problem. The hardest part is the legal stuff. That you just have to memorize. In return you get considerable operating freedom vs. other radio services, and get away from the power limits of the ISM bands. And you can build your own stuff. And that is the bigger draw for me vs. ragchewing with people or DXing on HF.

author: rstofer
author_rank: Super Contributor
timestamp: November 01, 2019, 06:26:07 pm
content: When I was a teenager and Heathkit was still in business, I was sort of interested in Ham Radio. I had a decent receiver, a Super Regenerative Receiver built from plans in the ARRL Handbook (circa '55) but, alas, my interest fell away fairly soon when I stumbled over code. I suppose if I had kept at it I would have eventually learned how to do it, everybody else had, but my attention span is far too short.Now that code is a dead issue I suspect the process is much easier. But now I don't really want to talk to anybody. Forums are the limit of my social activities.I sure miss Heathkit! I built a lot of their equipment and had a great learning experience doing it. I think I was 10 or 11 when I first started probably with that 8W amplifier kit. Fun times for a young kid.

author: 0culus
author_rank: Super Contributor
timestamp: November 01, 2019, 10:45:20 pm
content: Yeah, it truly is a shame. And the kits turn out rather nice if you assemble them carefully and make everything neat. My dad built a Heathkit oscilloscope during summer break from uni. Alas, it is long gone.There's honestly no reason why you even need to talk with people. I'm not a member of any clubs, though I do talk some on 2M and 70CM locally, but, my primary interest is building things (I especially want to work up in the microwave bands, though probably stop at the low end of Ka band for cost considerations), and having the license gives you tons more freedom to work outside ISM bands and be able to legally construct your own stuff.

author: AndreZheng
author_rank: Contributor
timestamp: November 02, 2019, 03:47:17 am
content: Please take a look at this QMTECH Zynq XC7Z010 starter kit. Aliexpress sale price is only $55.9.https://www.aliexpress.com/item/4000323573953.html?spm=2114.12010612.8148356.2.2d6a7d2ay6Z3KV

author: BrianHG
author_rank: Super Contributor
timestamp: November 02, 2019, 04:44:14 am
content: Quote from: rstofer on October 31, 2019, 06:38:00 pmWhich one?

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: November 02, 2019, 05:38:39 am
content: Blink several hundred of them.Something along the lines of a super-low-res DVI monitor that downscales a turn-of-the-century screen resolution to the size of a modest LED sign.There are ways to do ham radiowithout talking to anyone.

author: radioactive
author_rank: Regular Contributor
timestamp: November 02, 2019, 05:52:19 am
content: Quote from: RoGeorge on October 31, 2019, 07:13:51 pmI purchased a hardcover of that book. AD is probably my favorite mega company. They are the rulers of the RF domain now. Also, Travis Collins, Robin Getz, et. al. did a great job on the book.I did some experiments with the Pluto SDR after I left my last job. You can check them out here:https://github.com/tvelliott/charonI also purchased an Arty Z7 board at one point. I did discover one interesting thing while playing with that board. Linux (even on desktop) does not support full 1 GBPS tcp transfers unless you specifically over-ride the default configurations. I found this after I had implemented iperf3 in stand-alone configuration on one of the Zynq cores. My desktop could not get above some level to the Zynq board... can't remember what the limit was (maybe 500 Mbps?). Anyway, after I changed the configuration on my desktop to support the higher transfer rates, I got well over 900 Mbps, can't remember now, but might have been pretty close to 1000 Mbps. I've been using Linux since '97. I didn't figure that limit out until a couple of years ago.

author: OwO
author_rank: Super Contributor
timestamp: November 02, 2019, 06:11:55 am
content: PlutoSDR is a nice idea but the implementation is very limiting: there is no sd card slot or any way to add more storage, which means ordinary linux distros can't be run on it. There is also only half a channel of DDR3 memory which means half the memory bandwidth and only 500MB ram. The RF output is very weak and amplifying it to useful levels require a lot of gain, which means potential for oscillation because the Pluto is not shielded and the transmit antenna could couple signals back. In the end I decided to spend the R&D effort on a custom design that fixes most of these issues and adds RF frontends:https://github.com/gabriel-tenma-white/sdr5It's still experimental and not fully tested though (other projects taking up my time) so don't build using this design yet.Lastly, the AD936x used in the Pluto has extremely bad linearity (-18dBm IIP3), but unfortunately I could not find good alternatives yet. Only possible alternative is the Lime but it's unobtainium (AD9363 can be sourced at about $10 @ 1pcs, LMS7002M is $110 at any quantity).

author: BrianHG
author_rank: Super Contributor
timestamp: November 02, 2019, 11:09:36 am
content: Since an XY plotting scope is out, how about a complete Atari 8 bit computer system or Commodore 64/128 which can operate at 500x normal speed with upsampled VGA/DVI output.Or maybe, an automatic gamepad joystick controller which takes in the video output from your gaming system, and through the visual, sends controls to your hacked open gamepad to perform a simple auto aim and fire for an existing first person shooter game.Or maybe, a real time camera gimbal controller for a net or security camera which will always target and center in on the face of the closest person in view based on the video received by the camera.What about a realtime image enhancer.Maybe a 3 dimensional FFT statistical based background noise & hiss removal for old analog audio recordings.Need more ideas?

author: RoGeorge
author_rank: Super Contributor
timestamp: November 02, 2019, 11:27:49 am
content: Quote from: rstofer on October 31, 2019, 06:38:00 pmTechnically speaking, blinking a LED with an FPGA is not trivial. My very first VHDL code was just a wire inside the FPGA, between an input and an output pin.I still remember the thrill when I pushed the button connected at one pin, and the LED at the other pin light up. It felt so WOW!

author: FlyingDutch
author_rank: Regular Contributor
timestamp: November 02, 2019, 01:04:28 pm
content: Hello,maybe it is off-topic, but I also has some difficulties about to how to use "Zybo" board in interesting project. I purchased "ZyboZynq-7000" board:https://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/about one and half years ago. I planned to use it with "Computer Vision" projects - there are many good tutorials on network, but this version of Zybo board is not equiped with camera interface (the newer ones have MIPI camera intertfaces). I didn't find any good example how to connect camera (USB or MIPI interface) to my version of Zybo board. Maybe someone of you know example project about how to connect modern camera to my board. I think I can handle with some CV algorithms just if I can handle to gather data from camera.The second field of my intrest is AI (ANN). I have some expierience with "Keras" framework (framework written in Python for building "Artificial Neural Network". I try with succes deploy simple ANN to ARM- Cortex-M4 and ARM Cortex-M7 (STM32F4 and F7 MCUs). I don't know how to use ANN's with Zybo board, maybe some of you know good tutorials in this subject?Thanks in advance and Regards

author: artag
author_rank: Super Contributor
timestamp: November 02, 2019, 01:21:36 pm
content: Quote from: RoGeorge on October 31, 2019, 07:13:51 pmI'm seeing prices around the $2-300 mark. Where are the $70 ones ?

author: OwO
author_rank: Super Contributor
timestamp: November 02, 2019, 01:46:43 pm
content: https://www.mouser.com/ProductDetail/Analog-Devices/ADALM-PLUTOThey've raised the prices againAlso is it really a coincidence that it's priced exactly the same on mouser and digikey?You can actually build a PlutoSDR yourself for around $90...$50 PCB + PCBA (JLC)$10 AD9363$15 XC7Z010-CLG400$8 1GB DDR3 (2 chips of 512MB each)$5 crystals, baluns, and other passivesEven cheaper if you amortize the PCB/PCBA cost over a few units.That's why I didn't just buy a pluto in the end (actually bigger reason is the Pluto as it is is unfit for my purposes because of the issues I mentioned a few posts ago). In the future I may need to deploy tens or hundreds of SDR stations in the field and the design work will pay off.

author: RoGeorge
author_rank: Super Contributor
timestamp: November 02, 2019, 02:58:09 pm
content: Quote from: artag on November 02, 2019, 01:21:36 pmIt seems meanwhile the price has increased, didn't know that, sorry.I payed and back ordered mine from Mouser Europe. Found the online invoice 82 Eur or $95, plus VAT, so 97Eur/$113 total.Not sure if it was some kind of promotion back then, but anyway it was cheaper than if it were to order the same thing from Analog Devices website. That was more than a year ago, and back then ADALM Pluto SDR was selling so well that the stocks were usually zero at all times, and when once a few months they replenish, a few hundreds units use to sell in less than a week.I see now Mouser has about 500 pcs on stock, except the price is x1.7 times bigger.

author: laugensalm
author_rank: Regular Contributor
timestamp: November 02, 2019, 03:40:10 pm
content: Quote from: FlyingDutch on November 02, 2019, 01:04:28 pmTo be honest, if you really want to focus on the imaging algorithms, the Z*-Boards might turn out to be somewhat over-engineered for that purpose. You need to get many things under control to use the full package:When using linux: v4l2 kernel driver layersMIPI: I'd stay away of this and use classic parallel video (which you could wire to the PMOD pins)AXI-Interfacing and the full device tree driver dance againHowever with an included board supply package you should be able to get images from a normal USB camera supporting UVC (I didn't have troubles when I tried a few years back). But the tricky thing then is to route that data into the FPGA for preprocessing, otherwise you could as well just take any off the shelf ARM SoC. This can get more complex and quirky than implementing a Soft-processor for such purposes.

author: rstofer
author_rank: Super Contributor
timestamp: November 02, 2019, 04:36:12 pm
content: Quote from: BrianHG on November 02, 2019, 04:44:14 amI suppose an answer would be a function of cost. Really, cost isn't much of an issue so I really don't care which board. I'm looking for something with substance. I already know how to build complex systems in VHDL. By no means am I an expert but I have been playing with them for 15 years or so, back to the Spartan II.I don't know what kind of project. I have no interest in RF or radio or much in the way of signal processing (hated that class). I do like computer systems (but not just another CPU), maybe something like computer vision but something where the ARM cores actually need the FPGA fabric for something.I have been harassing Google for videos; something will come up. There simply must be an application for the Zynq that is interesting and requires both ARM code and VHDL. Otherwise, why build the chip?

author: rstofer
author_rank: Super Contributor
timestamp: November 02, 2019, 04:48:58 pm
content: Quote from: RoGeorge on November 02, 2019, 11:27:49 amBy no means is it trivial, I remember the same experience, blinking an LED, about 15 years ago. I've written a ton of VHDL since then.So many things have to go right to blink an LED on an FPGA that it truly is an accomplishment. The tools have to work, the code needs to work, the device programmer has to interface on both ends, the board has to work and the constraints file needs to be correct; all this stuff just to blink an LED. Something that takes no effort and about 10 lines of code for an Arduino.Right after that blinking LED project comes a Z80 core that simply must have a Compact Flash drive and run CP/M 2.2. Here, the CPU core is available and known to work. It's only the CF interface to the FPGA and writing BIOS code that is at issue. That, and getting the boot code on the CF in the first place. I don't remember how I did it but these days I would use the Linux 'dd' command. Once the system boots there is the issue of getting Kermit on the CF and then it's off to the races copying files from a machine with dual 8" floppies.Then take the same Z80 core and implement a functionally identical PacMan arcade game. That was fun!Next up: Build a functionally identical emulation of a complete IBM 1130 minicomputer and all the peripherals. Number 1 design rule: The system must run all of the factory software, unchanged.I have a handle on the VHDL stuff but I want to find something that utilizes the fabric along with the dual core ARMs and, probably, Linux. I know exactly nothing about the internals of Linux. Now would be a good time to learn.I'm pretty sure I am interested in the digital side of the sandbox.

author: RoGeorge
author_rank: Super Contributor
timestamp: November 02, 2019, 05:10:47 pm
content: Quote from: rstofer on November 02, 2019, 04:36:12 pmIMO Zynq makes sense only for small embedded projects that also requires a Linux or some other OS, or where the device logic would be too complicated and cumbersome to maintain as a state machine, thus instead of a soft core CPU, a hard core ARM is the way to go, cheaper, well known architecture, plenty of free software tools, and can run almost any OS, or bare metal.On short, for small and cheaper embedded Linux projects that requires some programmable glue logic, maybe a few DSP slices there, too, but nothing spectacular.Quote from: rstofer on November 02, 2019, 04:36:12 pmMain factor was the price, a Xilinx Zynq instead of somebody else's CPU + a Xilinx Artix.Also less space on the PCB, so smaller gadgets.

author: FlyingDutch
author_rank: Regular Contributor
timestamp: November 02, 2019, 05:48:51 pm
content: Quote from: laugensalm on November 02, 2019, 03:40:10 pmHello,I some time ago made project with gathering video with Linux.I was using kernel driver and USB camera , then I process video data with use of "FFMPEG" software.Could you give link to any example how to tis with "Zybo" board?I wouldf be very grateful for that.Best regards

author: BrianHG
author_rank: Super Contributor
timestamp: November 02, 2019, 10:10:57 pm
content: Quote from: rstofer on November 02, 2019, 04:36:12 pmWell, the projects I listed yesterday:QuoteAll require 3D realtime fir image filters to interpret and simplify down the image and track it's motion which is way beyond the raw capabilities of the ARM core, when done properly. The ARM core would be used to correlate that filtered simplified 2D object motion data to correctly orient the camera, or send targeting motion and fire controls to the game console's controller. However, you do not have enough capability within the Zynq FPGA to achieve an equivilant neuronet interpretation, you would need something like 100 of them in parallel.This also includes the audio one, being an exercise in a huge 16k point floating point 3 way FFT per audio channel with a huge correlation reference transition tables on both the X and Z axis, each point of which is also filtered once again, making it just as process intensive as the video filters when done right. If the ARM core has hardware has floating point matrix multiply-add in it's core, such a quality filter would eat up just over 100% of the CPU, so, making such a core FPGA processed would remove the load on the CPU and allow realtime filtering. (An equivilant filter available in CoolEdit2K can just be achieved in realtime with a dual core 1Ghz cpu or faster.)

author: OwO
author_rank: Super Contributor
timestamp: November 03, 2019, 03:56:26 am
content: The main point of a Zynq (for me) is being able to access a lot of ram and with high memory bandwidth. If you use it correctly the DDR memory interface has way more throughput than any PSRAM or even SRAM you can find (while keeping costs within reason), that rivals even PCI-e. On a Zynq it's possible to do large FFTs in DRAM at a performance per watt that is on par with recent GPUs (which is notable because the Zynq is 28nm while the GPU is <10nm). That said, I can't really think of any applications that aren't DSP related.When I first started out with the socfpga (Cyclone V SoC) the first things I did were to implement an audio interface, framebuffer video out interface (got X running), and general DMA stuff (data acquisition for ADC).