Skip to content

Instantly share code, notes, and snippets.

View esden's full-sized avatar

Piotr Esden-Tempski esden

View GitHub Profile
@esden
esden / glasgow-install-steps.md
Last active June 28, 2023 23:28
Install instructions for setting up glasgow software

Glasgow software installation instructions

These instructions are for Ubuntu

Install FPGA tools

Download and install yosys/nextpnr/icestorm FPGA flow.
Recommend using the binary release by yosysHQ.
MAKE SURE IT IS REALLY UP TO DATE AND YOU DON'T HAVE SOME ANCIENT INSTALL IN YOUR PATH!
Download tarball from: https://github.com/YosysHQ/oss-cad-suite-build/releases

@esden
esden / native-nmigen-win10-guide.md
Created June 29, 2020 02:57
Installing and running nmigen with native binary toolchain on Windows 10

This guide describes the steps necessary to setup the FPGA tools, python, nmigen and zadig drivers for the iCEBreaker-fpga development board on Windows 10.

Download the following software:

Install the following in whichever order:

  • git
@esden
esden / icebreaker-ftdi-public-template.conf
Last active July 5, 2020 21:27
Just the ftdi programming template for icebreaker.
# The Vendor ID and Product ID seem to identify a particular chipset
# to target. I used the libftdi utilities and OS X USB Prober app to
# poke around and figure out what numbers to use.
vendor_id=0x403
product_id=0x6010
# The rest of the fields are settings which can be written to the
# FT2xx with the --flash-eeprom option.
@esden
esden / streaming_setup_and_more.md
Last active May 11, 2020 06:00
Esden's (1BitSquared) Streaming setup and a bunch of the tools I use on stream.
Section "Monitor"
Identifier "SAMSUNG"
ModelName "SAMSUNG"
VendorName "SAM"
# Monitor Manufactured week 2 of 2014
# EDID version 1.3
# Digital Display
DisplaySize 1110 620
Gamma 2.20
Option "DPMS" "false"
@esden
esden / single-led-panel-pmod-phy.wd
Created March 19, 2019 07:06
Wavedrom listing describing the timing diagram of an iCEBreaker single Pmod LED Panel driver
{signal: [
['Input',
{name: 'R', wave: 'x4343434343434343x..........', data: ['R1[0]','R0[0]','R1[1]','R0[1]','R1[2]','R0[2]','R1[3]','R0[3]','R1[4]','R0[4]','R1[5]','R0[5]','R1[6]','R0[6]','R1[7]','R0[7]']},
{name: 'G', wave: 'x4343434343434343x..........', data: ['G1[0]','G0[0]','G1[1]','G0[1]','G1[2]','G0[2]','G1[3]','G0[3]','G1[4]','G0[4]','G1[5]','G0[5]','G1[6]','G0[6]','G1[7]','G0[7]']},
{name: 'B', wave: 'x4343434343434343x..........', data: ['B1[0]','B0[0]','B1[1]','B0[1]','B1[2]','B0[2]','B1[3]','B0[3]','B1[4]','B0[4]','B1[5]','B0[5]','B1[6]','B0[6]','B1[7]','B0[7]']},
{name: 'SCLK', wave: 'hn.......h....', period:2, phase:0.5},
{name: 'LATCH', wave: '0........10...', period:2},
{name: 'BLANK', wave: 'x.......1..0..', period:2},
{name: 'ARST', wave: '1.............', period:2},
{name: 'ACLK', wave: '0........10...', period:2}
@esden
esden / led_panel.md
Last active March 23, 2024 12:00
FAQ: Collection of links and information about RGB LED Panels and FPGA

A common name for the interface is HUB75

The displays use shift registers for columns and two sets of row multiplexers.

Typical organization

32x32 panel

  • Organized in two halfs of 16x32 tiles
  • 32 bit long RGB column drive shift registers
  • 4 bit to 16 row drive demultiplexers
@esden
esden / led-demo.pcf
Last active October 25, 2018 18:34
This is the generated verilog from @scanlime icebreaker-icestudio-ledmatrix design af3b1559
# Code generated by Icestudio 0.4.0-dev
# Thu, 25 Oct 2018 18:32:14 GMT
set_io v5beaf0[4] 28
set_io v5beaf0[3] 31
set_io v5beaf0[2] 34
set_io v5beaf0[1] 38
set_io v5beaf0[0] 43
set_io vb20513[5] 3
set_io vb20513[4] 48
@esden
esden / start-kicad-project.md
Last active August 5, 2020 12:36
Starting a new KiCad Project esden style.

Create a new directory:

mkdir myhardware-git
cd myhardware-git

Initialize git:

git init