Knit Happens…
When you tinker and experiment sometimes “knit” happens… but some of the greatest discoveries have been made in a garage by a tinkerer that is simply curious if they could make that crazy idea a reality.... If they don't get distracted by the next crazy idea first... or their cat… Knitronics is also on Hackster.io! Browse the links in the projects and blog posts for content!
Project Tutorials
This project demonstrates how to stream samples from the ADC on the Zmod Digitizer into the DDR memory of the Eclypse Z7.
This project walks through how to create a base design on the Eclypse Z7 to use the AWG Zmod in custom projects.
See how to control an eInk display with the UC8151D chipset from a ZynqberryZero running Adafruit's Circuit Python.
How to modify Adafruit's CircuitPython packages to install them on the ZynqberryZero with a Linux image created in PetaLinux 2022.1
This project walks through how to implement and use SPI in embedded Linux via the spidev kernel on the Zynq-7000 using PetaLinux 2022.1.
This project continues with the bare metal application in Vitis for using the Digitizer Zmod on the Eclypse Z7 in a custom design.
This project walks through how to create a custom hardware design in Vivado 2022.1 for the Eclypse Z7 with the new Digitizer Zmod.
Using the base hardware design from Vivado 2022.1, this project walks through the software for the ARM Cortex processor of the Zynqberry.
This project walks through how to create a basic hardware design for the Zynqberry in Vivado 2022.1 to be compatible with Raspberry Pi pHATs.
This project walks through how to set up a base hardware design for the Artix UltraScale+ XEM8320 FPGA development board.
This project shows how I used the Kria KR260 & Edge Impulse to transform the Land Rover Defender Lego Technic kit into an autonomous robot.
This project walks through how to create an embedded Linux image for the Arty-Z7 using PetaLinux 2022.1
This project walks through no-OS development from hardware through to C code on the Zynq-based Arty-Z7 FPGA development board.
This project walks through how to get up and running on the ZU Board using Avnet's build scripts for Vivado & PetaLinux 2022.1
This project details how to develop an embedded Linux image for a MicroBlaze design on the Arty A7 in PetaLinux.
This project walks details the hardware design in Vivado required to run an embedded Linux image on the Arty A7.
Knitronics Blog
The Lattice Certus NX Space Dev Board is a new development board from Adiuvo Engineering for space application projects.
A look into one of Ted Fried's MicroCore Labs projects that use an SoC FPGA to drive an MDA monitor.
Implement a RISC-V system on an iCE40HX8K-EVB FPGA with the xv6-riscv-fpga project to run UNIX xv6 OS on the FPGA!
WiCAN is a ready out-of-the-box solution for car hacking and general CAN bus development equipped with Wi-Fi and Bluetooth.
AMD Xilinx announced an extension of the product lifecycle for their popular 7 series devices for at least the next 13 years through 2035.
AMD-Xilinx launches another development kit for their Kria K26 SOM targeted for robotics applications: the KR260 Robotics Starter Kit.
There has been a lot of buzz about AMD-Xilinx's 7 series FPGAs, here's what you need to know about upgrading your design.
Avnet launches a new cost and power efficient single-board computer with a special CPU specifically for vision AI development.
The ZUBoard 1CG Development Kit from Avnet is an FPGA development platform based on the latest AMD-Xilinx ZU1CG chip.
Upgrade to the LimeSDR Mini 2.0, a drop-in replacement for the original LimeSDR Mini with a bigger FPGA.
Living in a software defined world, CPUs are next to experience the transition from hardware to software defined.
Utilize the AMD-Xilinx Kria K26 SoM for high-speed camera applications with the new Aper-Oculus carrier board.
A simplistic and eloquent FPGA-based solution to adding a VGA or HDMI interface to your old Game Boy.
Expand the capability of your Analog Discovery 2 by opening up its differential input to detect ground loops in your circuits.
Cleverly implemented code takes advantage MATLAB's Instrumental Control toolbox to stream data via UDP from a host PC to their FPGA.
Add capacitive touch button functionality to your FPGA design with this clever controller written in platform-independent VHDL.
Features
——————— Project Series ———————
Install Guides
This project walks through the installation of Vitis and PetaLinux 2022.1 as well as KRS 1.0 on Ubuntu 22.04 Jammy Jellyfish.
Applying the y2k22 patch for HLS in my system took a few extra steps outlined in this post.
This project walks through how to walk through how to install Kria Robotics Stack, a set of robotics libraries & utilities for the Kria SoM.
This project walks through how to install an Ubuntu 20.04 virtual machine on an external hard drive using Parallels on Mac OS.
This project walks through how to prep an Ubuntu 18.04 desktop environment and install Vivado, Vitis, & PetaLinux version 2021.
Full installation guide for Vivado, Vitis, and PetaLinux 2019.2 on Ubuntu 18.04 LTS.
FPGA Basics
See how to code the same simple finite state machine (FSM) in Verilog and VHDL.
This tutorial walks through a simple demonstration of how to deploy your testbench using Vivado's behavioral simulation.
See how to integrate custom RTL modules directly into Vivado block design flow.
This project focuses on how to write embedded C applications for the ZynqberryZero using Vitis.
I’ve long since had an interest in the embedded world, particularly in FPGAs. So it’s been really exciting to see FPGAs making their way…
A little while back, a Raspberry Pi form factor FPGA board called the Zynqberry caught my eye and I spent some time with it to bring it up…
DSP for FPGA
The Zynqberry Patch
See how to control an eInk display with the UC8151D chipset from a ZynqberryZero running Adafruit's Circuit Python.
How to modify Adafruit's CircuitPython packages to install them on the ZynqberryZero with a Linux image created in PetaLinux 2022.1
Using the base hardware design from Vivado 2022.1, this project walks through the software for the ARM Cortex processor of the Zynqberry.
This project walks through how to create a basic hardware design for the Zynqberry in Vivado 2022.1 to be compatible with Raspberry Pi pHATs.
This project walks through the creation of a Linux image in PetaLinux 2022.1 for the ZynqberryZero to mimic the RPi Zero functionality.
This project walks through how to program the QSPI flash of Trenz Electronic's Zynqberry boards (TE0726 & TE0727) in Vitis 2021.x and later.
This project walks through the hardware design for the ZynqberryZero in Vivado 2022.1 to be able to use Raspberry Pi accessories with it.
The ZynqberryZero deserves a revisit in Vivado 2021.2 as it requires a manual installation of its board preset files.
This project walks through how to integrate the required u-boot environment variables for the Zynqberry boards into a PetaLinux project.
This project walks through how to generate an embedded Linux image with the Yocto-based PetaLinux tools from Xilinx for the ZynqberryZero.
This project focuses on how to write embedded C applications for the ZynqberryZero using Vitis.
This project tutorial walks through the process of creating a base hardware design for the Zynqberry Zero FPGA board in Vivado.
This tutorial covers how to use a USB Wi-Fi module commonly used with Raspberry Pi boards to add wireless capabilities to the Zynqberry.
Take full advantage of Xilinx's Zynq FPGA chip by running both of its dual ARM cores simultaneously.
Adapting Adafruit's CircuitPython to use the RFM69HCW Radio FeatherWing on the Zynq-7000 series FPGAs.
Start converging between microcontroller dev boards and FPGA dev boards by running Adafruit's CircuitPython on the Zynqberry for the PiOLED.
Take advantage of the Zynqberry by taking the first step of porting your Raspberry Pi projects over to the Zynq platform.
The first Zynqberry harvest is here! Learn how to utilize the UART interface of the Zynq in your board!
If you just got your hands on a Zynqberry and you’re looking for a good place to start with it, take a look through this tutorial!
Kria KR260 Robotics Starter Kit
This project shows how I used the Kria KR260 & Edge Impulse to transform the Land Rover Defender Lego Technic kit into an autonomous robot.
This project walks through how to install Edge Impulse on the Ubuntu 22.04 image of the Kria KR260 and the development of a basic ML model.
This project demonstrates how to drive an N20 micro-gear motor with encoder using a Digilent HB3 motor controller PMOD with the Kria KR260.
This project walks through how to deploy RTL designs in the programmable logic running independent of the Linux userspace on the KR260.
This project demonstrates how to implement a custom PL design on the KR260 utilizing its RPi & PMOD connectors.
This project walks through the creation of a custom Vitis platform and an accelerated application for the Kria KR260 Robotics Starter Kit.
This project walks through how to build a custom hardware design for the Kria KR260 Robotics Starter Kit in PetaLinux 2022.1
This project walks through the details of adding the hooks for the hardware on the KR260 carrier board in a Vivado 2022.1 project.
This project walks through how to build a custom hardware design for the Kria KR260 Robotics Starter Kit in Vivado 2022.1
Kria KV260 Vision AI Kit
This project walks through the basics of creating your own ML model in Edge Impulse & deploying it on the Kria KV260.
Using Vitis for FPGA acceleration, this post in the series for the KV260 covers the final step of creating & testing the Vitis Platform.
This project outlines the latest updates to the Kria KV260 PetaLinux project when using the 2021.2 BSP since 2021.2 was originally released.
Using Vitis for FPGA acceleration, this second part covers how to add the accelerated kernel to the embedded Linux image in PetaLinux.
Using Vitis for FPGA acceleration, this first part goes through how to create the hardware design with the hooks for the accelerated kernel.
This project walks through how to build & launch a ROS 2 package with KRS on your host PC and on target hardware.
This project walks through how to walk through how to install Kria Robotics Stack, a set of robotics libraries & utilities for the Kria SoM.
This project demonstrates how to control the PMOD I/O on the KV260 carrier board and develop IP for it using Vitis HLS.
How to update the boot binary on the Kria KV260 using the Ethernet recovery tool so Ubuntu 20.04 is more stable and installing Pynq.
This project demonstrates how to prep the Linux image for the Kria to be able to install Edge Impulse for Linux and connect to EI Studio.
This project walks through installing Ubuntu 20.04.3 Desktop on the Kria KV260 Vision AI Starter Kit and using Edge Impulse with it.
This project walks through the build of an embedded Linux image for the Kria KV260 Vision AI starter kit using PetaLinux 2021.2
When using the Kria KV260, this project shows you how to auto-populate the carrierboard peripherals in the block design for easy connection.
This project walks through how to create a custom embedded Linux image for the Kria KV260 Vision AI Starter Kit in PetaLinux 2021.1.
The project walks through how to create a custom hardware project for the Kria KV260 Vision AI Starter Kit in Vivado 2021.1
This project walks through how to generate your own custom Linux image for the Kria KV260 board using its BSP as a starting point.
Spartan 7 SP701
This project shows how to use an lwIP server on the SP701 to be able to send it commands/data on a local area network (LAN).
Using Vivado's built in AXI wrapper tool, this project goes over how to add an AXI4Stream interface to a custom FIR filter in Verilog.
See how to setup a Vitis software platform to utilize the lightweight IP (lwIP) stack for the Spartan-7 SP701 FPGA development board.
See how to create a base hardware design for the Spartan-7 SP701 FPGA development platform in Vivado v2021.2.
Eclypse Z7
This project demonstrates how to stream samples from the ADC on the Zmod Digitizer into the DDR memory of the Eclypse Z7.
This project walks through how to create a base design on the Eclypse Z7 to use the AWG Zmod in custom projects.
This project continues with the bare metal application in Vitis for using the Digitizer Zmod on the Eclypse Z7 in a custom design.
This project walks through how to create a custom hardware design in Vivado 2022.1 for the Eclypse Z7 with the new Digitizer Zmod.
Utilize the Zmod expansion header on the Eclypse Z7 with ADC & DAC Zmods in a simple sine wave loopback demonstration.
Bring up a base hardware design in Vivado and Vitis on the Eclypse Z7 with PMOD and ZMOD support.
Ultra96 V2
View a live webcam feed via a webpage implemented on the Ultra96v2.
Access your Ultra96 from the world outside of your Wi-Fi network by using port forwarding.
Using the Ultra96 and the MTA's General Transit Feed Specification (GTFS) see how to create a web application to track your morning commute.
An introduction to the Xilinx direct digital synthesis compiler with simple implementation on the Ultra96 V2.
Take advantage of the Ultra96 by adding your own web applications.
Bring up the Ultra96 V2 in Vivado+PetaLinux 2019.2 with Wi-Fi connectivity.
Create a PetaLinux project using the new 2019.2 BSP and see how to patch an error in one of the recipe files in PetaLinux 2019.2.
Software Defined Radio
Setup of the ZCU102 with AD9371 FMC card for SDR applications.
This project walks through how to offload the generation of a sine wave into and FPGA's PL in an accelerated application in Vitis 2021.2
This project walks through basic RF testing for hardware/software verification of SDRs on the Ettus B205mini USRP.
This project walks through how to set up the Ettus B205 mini SDR with Gnu Radio on an Ubuntu host PC.
Take advantage of the Ultra96 by adding your own web applications.