USB - FPGA USB 1.1 Implementation

  •        6

Altera Cyclone II FPGA Starter Development Kit. The USB D+ and D- pads were configured for Low Speed.



Related Projects

vunit - VUnit is a unit testing framework for VHDL/SystemVerilog

  •    VHDL

VUnit is an open source unit testing framework for VHDL/SystemVerilog released under the terms of Mozilla Public License, v. 2.0. It features the functionality needed to realize continuous and automated testing of your HDL code. VUnit doesn't replace but rather complements traditional testing methodologies by supporting a "test early and often" approach through automation. Contributing in the form of code, feedback, ideas or bug reports are welcome. Read our contribution guide to get started.

ariane - Ariane is a 6-stage RISC-V CPU

  •    SystemVerilog

Ariane is a 6-stage, single issue, in-order CPU which implements the 64-bit RISC-V instruction set. It fully implements I, M and C extensions as specified in Volume I: User-Level ISA V 2.1 as well as the draft privilege extension 1.10. It implements three privilege levels M, S, U to fully support a Unix-like operating system. Furthermore it is compliant to the draft external debug spec 0.13. It has configurable size, separate TLBs, a hardware PTW and branch-prediction (branch target buffer and branch history table). The primary design goal was on reducing critical path length.

Forth Script - web scripting engine


Forth Script is a server-side web scripting engine based on FORTH language. It may work as CGI-application under any web-server and lets you create dynamic web-pages using Forth language, HTML patterns and database's data. Example:

bif-c, a near fig-FORTH in C

  •    C

C language implementation of my BIF 6809 variant of fig-FORTH. May be interesting to programmers with C background who want to understand the high-level version of the low-level of FORTH. Those requiring a fully functioning FORTH may look elsewhere.

SP-Forth - ANS Forth compiler


ANS Forth for Win32 and Linux/x86 (used to compile the following SF projects: acWEB, acFTP, acFreeProxy, acSMTP, Forth-Script)

Rainbow Forth


Rainbow Forth is an implementation of the colorForth dialect of the Forth programming language designed to run under Linux or Windows.

FTH Forth Scripting

  •    C

FTH provides running stand alone Forth scripts like Ruby etc. and using Forth as an extension language to your application.



froth is a Forth-like compiler written in Ansi C, and therefore fully portable (only require glib). With Froth, is provided also a Forth implementation for DSP (tms320c50 at this time). Froth should then be mainly considered as an interactive forth cross

Portable Forth Environment

  •    C

The Portable Forth Environment implements the ANSI Forth Standard, it is fully written in C, the newer version has a module concept, and it is fully multithreaded. Autoconf used. Tested in embedded environments.

Mako - A simple virtual game console

  •    Forth

Mako is a simple stack-based virtual game console, designed to be as simple as possible to implement. Maker is a compiler for a Forth-like language that targets the Mako VM. Mako has two stacks- a parameter stack and a return stack. Most MakoVM instructions manipulate the top elements of the parameter stack. Instructions are normally a single word (signed 32-bit integer), but some (like JUMP and CALL) are followed by a second word which provides an argument. The Mako memory layout is controlled by a number of memory-mapped registers starting in the lowest address- 0. In addition to the program counter and stack pointers, Mako has registers which control a pixel-scrollable 31x41 grid of 8x8 background tiles, a set of 256 variable-size sprites, a random number generator, optional character I/O facilities for debugging and an 8-bit audio output port. Some implementations additionally provide simple support for filesystem I/O.

Protection Against USB Infecting Malwares


USB Protect provides complete protection from USB Infecting Malwares. On a positive detection, USB Protect changes the Malware binary to .blocked and Autorun.inf to .usb extension. USB Protect also gives a voice confirmation when an Autorun.inf file is detected in the USB drive.

The USB/IP Project

  •    C

The USB/IP Project aims to develop a general USB device sharing system over IP network. To share USB devices between computers with their full functionality, USB/IP encapsulates USB I/O requests into IP packets and transmits them between computers.

poisontap - Exploits locked/password protected computers over USB, drops persistent WebSocket-based backdoor, exposes internal router, and siphons cookies using Raspberry Pi Zero & Node

  •    Javascript

PoisonTap is built for the $5 Raspberry Pi Zero without any additional components other than a micro-USB cable & microSD card, or can work on any Raspberry Pi (1/2/3) with an Ethernet-to-USB/Thunderbolt dongle, or can work on other devices that can emulate USB gadgets such as USB Armory and LAN Turtle. PoisonTap produces a cascading effect by exploiting the existing trust in various mechanisms of a machine and network, including USB/Thunderbolt, DHCP, DNS, and HTTP, to produce a snowball effect of information exfiltration, network access and installation of semi-permanent backdoors.

CruxEX 64bit Linux Live USB


CruxEX 3.0 64 bit 2013 Linux Live USB is based on CRUX 3.0

UNetbootin - Create Bootable USB Drives

  •    C++

UNetbootin allows you to create bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions without burning a CD. It runs on Windows, Linux, and Mac OS X. It can make a "frugal install" on your local hard disk if you don't have a USB drive.

Java USB

  •    Java

Java access to USB, currently using kernel 2.4 Linux-USB support. There is a quot;corequot; API for accessing USB devices, and simple tools including a USB viewer in Swing. Applications are being developed separately, including digital camera support.

espusb - Software-only ESP8266 USB Device

  •    C

I wanted to have USB on the ESP8266, and a while ago I saw on the ESP32 flier, it read: "Rich Peripherals" ... "Sorry, no USB!" I thought to myself, that is ridiculous. Of course there's USB. So, it was born. This is a software USB stack running on the ESP8266/ESP8285. It requires only one external resistor, between D- and 3.3V.

UsbSerial - Usb serial controller for Android

  •    Java

Usb serial controller for Android. For more information, there is a more complete description. Due to a bug in Android itself, it's highly recommended to not use it with a device running Android 5.1.1 Lollipop. See issue #142 for more details.

hiduino - :musical_keyboard: Native USB-MIDI on the Arduino

  •    C

The HIDUINO project provides firmwares, documentation, and example code for building a class-compliant USB-MIDI device from an Arduino UNO or Mega 2560. HIDUINO does not use middleware software to convert serial messages through a MIDI loopback port (like LoopBe1 on Windows or IAC on OSX). Instead, HIDUINO provides a true USB-MIDI device for plug-and-play compatibility on Windows, OSX, and Linux - just like a commercial MIDI controller. HIDUINO takes advantage of Arduino boards where a second AVR chip is used as the USB controller, so it won't work with single chip variants (e.g. Leonardo), nor older boards that use an FTDI chip as USB controller (e.g. Duemilanove). Many cheap Arduino knockoffs that pretend to be an Uno or Mega also might not work, since they tend to use the (slighly) cheaper FTDI chips.

node-usb - Improved USB library for Node.js

  •    C++

Node.JS library for communicating with USB devices in JavaScript / CoffeeScript. This is a refactoring / rewrite of Christopher Klein's node-usb. The API is not compatible (hopefully you find it an improvement).