<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.icebreaker-fpga.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Esden</id>
	<title>iCEBreaker FPGA - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.icebreaker-fpga.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Esden"/>
	<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/wiki/Special:Contributions/Esden"/>
	<updated>2026-04-10T04:01:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.5</generator>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=12</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=12"/>
		<updated>2019-10-21T19:24:28Z</updated>

		<summary type="html">&lt;p&gt;Esden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome =&lt;br /&gt;
&lt;br /&gt;
Welcome to the iCEBreaker community. This wiki is work in progress and the information included here might not be sufficient or not what you are looking for.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or suggestions please make sure to let us know in our [https://1bitsquared.com/pages/chat Discord chat (#icebreaker channel)] or in the [https://forum.icebreaker-fpga.com/ iCEBreaker forum].&lt;br /&gt;
&lt;br /&gt;
= Install the FPGA flow (toolchain) =&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is install the necessary tools to synthesize, place, route your design and then generate the bitstream.&lt;br /&gt;
&lt;br /&gt;
Note: We sincerely recommend that you use a Linux or Mac computers when you start out. You can use Windows but unless you are comfortable with the vendor tools (The vendor tools have their own learning curve and complexity, we do not have examples or step by step guides for them for now, you are on your own ;) ) it requires more advanced knowledge of the tools as well as Windows and you will need to combine and match a few solutions together. We are working on a canned solution for Windows but it is not ready for prime time yet. The only simple path for Windows is to use icestudio. It will limit you to the use of their graphical design software for your projects. If that is what you are looking for go ahead, follow icestudio installation instructions on their website. We do have some example projects for icestudio on our GitHub. If you want to develop your designs using verilog, migen or nMigen then continue reading. :)&lt;br /&gt;
&lt;br /&gt;
The tools that are used for that are:&lt;br /&gt;
&lt;br /&gt;
* [http://www.clifford.at/yosys/ Yosys] (Synthesis)&lt;br /&gt;
* [https://github.com/YosysHQ/nextpnr nextpnr] (Place &amp;amp; Route)&lt;br /&gt;
* [http://www.clifford.at/icestorm/ icestorm] (Provide the database to nextpnr. Generate and program the bitstream to the iCEBreaker as well as some other useful ice40 tools.)&lt;br /&gt;
&lt;br /&gt;
There are several ways to install the tools.&lt;br /&gt;
&lt;br /&gt;
On &#039;&#039;&#039;Linux&#039;&#039;&#039; an easy way to install the tools is the [https://github.com/esden/summon-fpga-tools summon-fpga-tools script]. This will build the most up to date tools for you and install them in your home subdirectory. You don&#039;t need admin rights except for the udev rules file.&lt;br /&gt;
&lt;br /&gt;
On &#039;&#039;&#039;Mac OS&#039;&#039;&#039; you can either use the [https://github.com/esden/summon-fpga-tools summon-fpga-tools script] or use the [https://github.com/ktemkin/homebrew-oss-fpga awesome ktemkin homebrew tap]. &lt;br /&gt;
&lt;br /&gt;
= Workshops =&lt;br /&gt;
&lt;br /&gt;
We have developed two workshops so far. WTFpga and icebreaker-workshop. Depending on which Pmods you have you might choose one or the other, or both. :)&lt;br /&gt;
&lt;br /&gt;
== WTFpga Workshop ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/icebreaker-fpga/wtfpga WTFpga Workshop] requires an [https://1bitsquared.com/products/icebreaker iCEBreaker], [https://1bitsquared.com/products/pmod-7-segment-display 7-Segment Display Pmod] and [https://1bitsquared.com/products/pmod-dip-switch Dip Switch Pmod]. You can find all the [https://github.com/icebreaker-fpga/wtfpga current materials on github]. It includes a PDF that is meant as a guide, the whole workshop is self guided. But if you have questions ask us in the [https://1bitsquared.com/pages/chat Discord Chat] and we will try to help you. :)&lt;br /&gt;
&lt;br /&gt;
== iCEBreaker Stopwatch Workshop ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/icebreaker-fpga/icebreaker-workshop iCEBreaker Stopwatch Workshop] requires an [https://1bitsquared.com/products/icebreaker iCEBreaker] and two [https://1bitsquared.com/products/pmod-7-segment-display 7-segment Display Pmod]. This workshop does a better job of teaching synchronous logic and better practices than WTFpga.&lt;br /&gt;
&lt;br /&gt;
= Try out examples =&lt;br /&gt;
&lt;br /&gt;
The iCEBreaker community keeps creating more and more great examples for the iCEBreaker. Here is a list of links to the different github repositories containing small and big examples.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/icebreaker-fpga/icebreaker-examples iCEBreaker Verilog Examples]&lt;br /&gt;
* [https://github.com/icebreaker-fpga/icebreaker-migen-examples iCEBreaker Migen Examples]&lt;br /&gt;
* [https://github.com/icebreaker-fpga/icebreaker-nmigen-examples iCEBreaker nMigen Examples]&lt;br /&gt;
* [https://github.com/icebreaker-fpga/icebreaker-icestudio-examples iCEBreaker icestudio Examples]&lt;br /&gt;
* [https://github.com/kbob/icebreaker-candy kbob iCEBreaker candy RGB LED Panel Matrix examples]&lt;br /&gt;
* [https://github.com/smunaut/ice40-playground tnt iCEBreaker projects]&lt;br /&gt;
* [https://github.com/scanlime/icebreaker-icestudio-ledmatrix scanlime icestudio RGB LED Panel design]&lt;br /&gt;
* [https://github.com/scanlime/icebreaker-video-stuff scanlime icestudio Digital Video design]&lt;br /&gt;
&lt;br /&gt;
If you know of more repositories we should include in this list make sure to let us know in the [https://1bitsquared.com/pages/chat Discord Chat].&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Main_Page&amp;diff=11</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Main_Page&amp;diff=11"/>
		<updated>2019-10-21T19:14:19Z</updated>

		<summary type="html">&lt;p&gt;Esden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the iCEBreaker project wiki. This project aims at creating resources for teachers and students interested in Digital Logic Design using open source tools.&lt;br /&gt;
&lt;br /&gt;
This wiki is meant to contain structured information and references about the istallation, usiage of FPGA development tools and hardware.&lt;br /&gt;
&lt;br /&gt;
The front page is mostly a placeholder for now while we fill in some resource pages. Here is a short list of interesting pages that we have so far:&lt;br /&gt;
&lt;br /&gt;
* [[iCEBreaker Hardware]]&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* [[Getting started]]&lt;br /&gt;
* [[Bitstrem Upload]]&lt;br /&gt;
* [[RGB LED Panels]]&lt;br /&gt;
* [[HDMI Out]]&lt;br /&gt;
* [[Workshops]]&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Bitstrem_Upload&amp;diff=10</id>
		<title>Bitstrem Upload</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Bitstrem_Upload&amp;diff=10"/>
		<updated>2019-10-21T19:13:18Z</updated>

		<summary type="html">&lt;p&gt;Esden: Created page with &amp;quot;If you want to know how to program your iCEBreaker here are the instructions for the open source and proprietary tools.  == Programming with open tools ==  All you need to do...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to know how to program your iCEBreaker here are the instructions for the open source and proprietary tools.&lt;br /&gt;
&lt;br /&gt;
== Programming with open tools ==&lt;br /&gt;
&lt;br /&gt;
All you need to do is to run iceprog and provide the bitstream .bin file as a parameter.&lt;br /&gt;
&lt;br /&gt;
  iceprog mybitstream.bin&lt;br /&gt;
&lt;br /&gt;
The tool will detect your iCEBreaker erase and flash the binary file.&lt;br /&gt;
&lt;br /&gt;
== Programming on windows using Dimond Programmer ==&lt;br /&gt;
&lt;br /&gt;
As far as we know Dimond does not work as a programmer for the iCEBreaker. If you find out how to use it let us know in the [https://forum.icebreaker-fpga.com/ forum] or in the [https://1bitsquared.com/pages/chat Discord chat].&lt;br /&gt;
&lt;br /&gt;
== Programming on windows using Radiant Programmer ==&lt;br /&gt;
&lt;br /&gt;
The official Lattice tool requires a bunch of manual settings to use.&lt;br /&gt;
&lt;br /&gt;
Here are two screenshots showing all the options you have to choose so that you can program your iCEBreaker.&lt;br /&gt;
&lt;br /&gt;
[[File:Radiant-programmer-main-window.png|500px|none]]&lt;br /&gt;
&lt;br /&gt;
[[File:Raidant-programmer-device-icebreaker.png|500px|none]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
If the above instructions still result in an error similar to:&lt;br /&gt;
&lt;br /&gt;
  INFO - Device1 iCE40UP5K: W25Q128JV: Erase, Program, Check&lt;br /&gt;
  &lt;br /&gt;
  Initialization ...&lt;br /&gt;
  &lt;br /&gt;
  Verifying IDCode ...&lt;br /&gt;
  ERROR - Function: CHECK_ID&lt;br /&gt;
  Expected Data: h17 Actual: hFF&lt;br /&gt;
  &lt;br /&gt;
  ERROR - Operation: failed.&lt;br /&gt;
  &lt;br /&gt;
  ERROR - Programming Error&lt;br /&gt;
&lt;br /&gt;
You might want to try switching the cable Port. Windows likes to swap them sometimes.&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=9</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=9"/>
		<updated>2019-08-19T16:02:38Z</updated>

		<summary type="html">&lt;p&gt;Esden: corrected text flow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming with open tools ==&lt;br /&gt;
&lt;br /&gt;
All you need to do is to run iceprog and provide the bitstream .bin file as a parameter.&lt;br /&gt;
&lt;br /&gt;
  iceprog mybitstream.bin&lt;br /&gt;
&lt;br /&gt;
The tool will detect your iCEBreaker erase and flash the binary file.&lt;br /&gt;
&lt;br /&gt;
== Programming on windows using Radiant Programmer ==&lt;br /&gt;
&lt;br /&gt;
The official Lattice tool requires a bunch of manual settings to use.&lt;br /&gt;
&lt;br /&gt;
Here are two screenshots showing all the options you have to choose so that you can program your iCEBreaker.&lt;br /&gt;
&lt;br /&gt;
[[File:Radiant-programmer-main-window.png|500px|none]]&lt;br /&gt;
&lt;br /&gt;
[[File:Raidant-programmer-device-icebreaker.png|500px|none]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
If the above instructions still result in an error similar to:&lt;br /&gt;
&lt;br /&gt;
  INFO - Device1 iCE40UP5K: W25Q128JV: Erase, Program, Check&lt;br /&gt;
  &lt;br /&gt;
  Initialization ...&lt;br /&gt;
  &lt;br /&gt;
  Verifying IDCode ...&lt;br /&gt;
  ERROR - Function: CHECK_ID&lt;br /&gt;
  Expected Data: h17 Actual: hFF&lt;br /&gt;
  &lt;br /&gt;
  ERROR - Operation: failed.&lt;br /&gt;
  &lt;br /&gt;
  ERROR - Programming Error&lt;br /&gt;
&lt;br /&gt;
You might want to try switching the cable Port. Windows likes to swap them sometimes.&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=8</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=8"/>
		<updated>2019-08-19T15:42:56Z</updated>

		<summary type="html">&lt;p&gt;Esden: added note about port swapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming with open tools ==&lt;br /&gt;
&lt;br /&gt;
All you need to do is to run iceprog and provide the bitstream .bin file as a parameter.&lt;br /&gt;
&lt;br /&gt;
  iceprog mybitstream.bin&lt;br /&gt;
&lt;br /&gt;
The tool will detect your iCEBreaker erase and flash the binary file.&lt;br /&gt;
&lt;br /&gt;
== Programming on windows using Radiant Programmer ==&lt;br /&gt;
&lt;br /&gt;
The official Lattice tool requires a bunch of manual settings to use.&lt;br /&gt;
&lt;br /&gt;
Here are two screenshots showing all the options you have to choose so that you can program your iCEBreaker.&lt;br /&gt;
&lt;br /&gt;
[[File:Radiant-programmer-main-window.png|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
[[File:Raidant-programmer-device-icebreaker.png|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
If the above instructions still result in an error similar to:&lt;br /&gt;
&lt;br /&gt;
  INFO - Device1 iCE40UP5K: W25Q128JV: Erase, Program, Check&lt;br /&gt;
  &lt;br /&gt;
  Initialization ...&lt;br /&gt;
  &lt;br /&gt;
  Verifying IDCode ...&lt;br /&gt;
  ERROR - Function: CHECK_ID&lt;br /&gt;
  Expected Data: h17 Actual: hFF&lt;br /&gt;
  &lt;br /&gt;
  ERROR - Operation: failed.&lt;br /&gt;
  &lt;br /&gt;
  ERROR - Programming Error&lt;br /&gt;
&lt;br /&gt;
You might want to try switching the cable Port. Windows likes to swap them sometimes.&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=7</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Getting_started&amp;diff=7"/>
		<updated>2019-05-15T23:42:32Z</updated>

		<summary type="html">&lt;p&gt;Esden: Created page with &amp;quot;== Programming with open tools ==  All you need to do is to run iceprog and provide the bitstream .bin file as a parameter.    iceprog mybitstream.bin  The tool will detect yo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming with open tools ==&lt;br /&gt;
&lt;br /&gt;
All you need to do is to run iceprog and provide the bitstream .bin file as a parameter.&lt;br /&gt;
&lt;br /&gt;
  iceprog mybitstream.bin&lt;br /&gt;
&lt;br /&gt;
The tool will detect your iCEBreaker erase and flash the binary file.&lt;br /&gt;
&lt;br /&gt;
== Programming on windows using Radiant Programmer ==&lt;br /&gt;
&lt;br /&gt;
The official Lattice tool requires a bunch of manual settings to use.&lt;br /&gt;
&lt;br /&gt;
Here are two screenshots showing all the options you have to choose so that you can program your iCEBreaker.&lt;br /&gt;
&lt;br /&gt;
[[File:Radiant-programmer-main-window.png|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
[[File:Raidant-programmer-device-icebreaker.png|thumb|left]]&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=File:Raidant-programmer-device-icebreaker.png&amp;diff=6</id>
		<title>File:Raidant-programmer-device-icebreaker.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=File:Raidant-programmer-device-icebreaker.png&amp;diff=6"/>
		<updated>2019-05-15T23:42:04Z</updated>

		<summary type="html">&lt;p&gt;Esden: This screenshot shows the Radiant Programmer Device Properties for the iCEBraker.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This screenshot shows the Radiant Programmer Device Properties for the iCEBraker.&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=File:Radiant-programmer-main-window.png&amp;diff=5</id>
		<title>File:Radiant-programmer-main-window.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=File:Radiant-programmer-main-window.png&amp;diff=5"/>
		<updated>2019-05-15T23:40:09Z</updated>

		<summary type="html">&lt;p&gt;Esden: This screenshot shows the main window and settings for iCEBreaker programming.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This screenshot shows the main window and settings for iCEBreaker programming.&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Main_Page&amp;diff=4</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Main_Page&amp;diff=4"/>
		<updated>2019-01-15T03:10:42Z</updated>

		<summary type="html">&lt;p&gt;Esden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the iCEBreaker project wiki. This project aims at creating resources for teachers and students interested in Digital Logic Design using open source tools.&lt;br /&gt;
&lt;br /&gt;
This wiki is meant to contain structured information and references about the istallation, usiage of FPGA development tools and hardware.&lt;br /&gt;
&lt;br /&gt;
The front page is mostly a placeholder for now while we fill in some resource pages. Here is a short list of interesting pages that we have so far:&lt;br /&gt;
&lt;br /&gt;
* [[iCEBreaker Hardware]]&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* [[Getting started]]&lt;br /&gt;
* [[RGB LED Panels]]&lt;br /&gt;
* [[HDMI Out]]&lt;br /&gt;
* [[Workshops]]&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=ICEBreaker_Hardware&amp;diff=3</id>
		<title>ICEBreaker Hardware</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=ICEBreaker_Hardware&amp;diff=3"/>
		<updated>2019-01-15T03:09:41Z</updated>

		<summary type="html">&lt;p&gt;Esden: Created page with &amp;quot;The first iCEBreaker Hardware is the iCE40UP5K FPGA based iCEBreaker V1.0c. You can [https://www.crowdsupply.com/1bitsquared/icebreaker-fpga pre-order it on Crowd Supply].&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The first iCEBreaker Hardware is the iCE40UP5K FPGA based iCEBreaker V1.0c. You can [https://www.crowdsupply.com/1bitsquared/icebreaker-fpga pre-order it on Crowd Supply].&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
	<entry>
		<id>https://wiki.icebreaker-fpga.com/w/index.php?title=Main_Page&amp;diff=2</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.icebreaker-fpga.com/w/index.php?title=Main_Page&amp;diff=2"/>
		<updated>2019-01-15T03:07:49Z</updated>

		<summary type="html">&lt;p&gt;Esden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the iCEBreaker project wiki. This project aims at creating resources for teachers and students interested in Digital Logic Design using open source tools.&lt;br /&gt;
&lt;br /&gt;
This wiki is meant to contain structured information and references about the istallation, usiage of FPGA development tools and hardware.&lt;br /&gt;
&lt;br /&gt;
The front page is mostly a placeholder for now while we fill in some resource pages. Here is a short list of interesting pages that we have so far:&lt;br /&gt;
&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* [[iCEBreaker Hardware]]&lt;br /&gt;
* [[Getting started]]&lt;br /&gt;
* [[RGB LED Panels]]&lt;br /&gt;
* [[HDMI Out]]&lt;br /&gt;
* [[Workshops]]&lt;/div&gt;</summary>
		<author><name>Esden</name></author>
	</entry>
</feed>