Difference between revisions of "Fx2grok"

From sigrok
Jump to navigation Jump to search
(Assembly photos.)
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{lowercase}}
{{lowercase}}
The '''fx2grok''' family consists of three devices (fx2grok-flat, fx2grok-tiny, fx2grok-bga) of '''very small''', Open Hardware FX2-based logic analyzers.
The '''fx2grok''' family consists of four devices (fx2grok-flat, fx2grok-tiny, fx2grok-bga, fx2grok-wide) of '''very small''', Open Hardware FX2-based logic analyzers.


The schematics and layouts are done from scratch in [http://kicad-pcb.org Kicad], and are released under the [https://creativecommons.org/licenses/by-sa/3.0/ CC-BY-SA 3.0] or [https://creativecommons.org/licenses/by-sa/4.0/ CC-BY-SA 4.0] license.
The schematics and layouts are done from scratch in [http://kicad-pcb.org KiCad], and are released under the [https://creativecommons.org/licenses/by-sa/4.0/ CC-BY-SA 4.0] license.


Using the open-source [[fx2lafw]] firmware (and sigrok, of course) you can use these devices as 8-channel logic analyzers.
Using the open-source [[fx2lafw]] firmware (and sigrok, of course) you can use these devices as 8-channel (or 16-channel, for the fx2grok-wide) logic analyzers.


== Device comparison ==
= Device comparison =


'''Note''': All of this is work in progress and might change at any time!
'''Note''': Most of this is work in progress and might change at any time!


{| border="0" style="background-color: #eeeeee; font-size: smaller" class="alternategrey sortable sigroktable"
{| border="0" style="background-color: #eeeeee; font-size: smaller" class="alternategrey sortable sigroktable"
|- bgcolor="#6699ff"
|- bgcolor="#6699ff"
! align="left" width="10%" | Item
! align="left" width="10%" | Item
! align="left" width="30%" | fx2grok-flat
! align="left" width="22.5%" | fx2grok-flat
! align="left" width="30%" | fx2grok-tiny
! align="left" width="22.5%" | fx2grok-tiny
! align="left" width="30%" | fx2grok-bga
! align="left" width="22.5%" | fx2grok-bga
! align="left" width="22.5%" | fxgrok-wide


|-
|-
Line 33: Line 34:
* "Just for fun" project, doesn't have to be practical
* "Just for fun" project, doesn't have to be practical
* Sacrifices even more things for reduced size
* Sacrifices even more things for reduced size
|
* Small, but 16 channels
* [https://en.wikipedia.org/wiki/Open-source_hardware Open Hardware]
* Reliable and convenient, with a few more channels


|-
|-
Line 39: Line 44:
| Uwe Hermann
| Uwe Hermann
| Uwe Hermann
| Uwe Hermann
| Ryan "Izzy" Bales, based off of Piotr Esden-Tempski's fx2grok-flat
|-
| bgcolor="#6699ff" | '''Status'''
| bgcolor="yellow" | in progress
| bgcolor="lime" | finished
| bgcolor="orange" | WIP
| bgcolor="orange" | WIP


|-
|-
| bgcolor="#6699ff" | '''Hardware license'''
| bgcolor="#6699ff" | '''Hardware license'''
| CC-BY-SA 4.0
| CC-BY-SA 4.0
| CC-BY-SA 3.0 <sup>1</sup>
| CC-BY-SA 4.0 <sup>1</sup>
| CC-BY-SA 4.0
| CC-BY-SA 4.0
| CC-BY-SA 4.0


|-
|-
| bgcolor="#6699ff" | '''Size'''
| bgcolor="#6699ff" | '''Size'''
| 33&nbsp;mm x 16&nbsp;mm
| 11&nbsp;mm x 11&nbsp;mm
| tbd
| tbd
| 13mm x 13mm
| tbd
| tbd


|-
|-
| bgcolor="#6699ff" | '''Logic channels'''
| bgcolor="#6699ff" | '''Logic channels'''
| 8
| 8 + CLK & TRIG
| 8
| 8
| tbd
| tbd
| 16


|-
|-
| bgcolor="#6699ff" | '''Layout specs'''
| bgcolor="#6699ff" | '''Layout specs'''
|
|
* Components only soldered on one side
* One sided load 4 layer PCB/layout
* tbd
* 0.15&nbsp;mm trace/space
* 0.3&nbsp;mm drill & 0.1&nbsp;mm annular ring
|
|
* Double-sided 2-layer PCB/layout
* Double-sided 2-layer PCB/layout
* Components soldered on both sides
* Components soldered on both sides
* 0.8mm PCB thickness
* 0.8&nbsp;mm PCB thickness
* 5mil traces, 6mil trace clearance
* 5 mil traces, 6 mil trace clearance
* 8mil via drill hole diameter, 5mil annular ring
* 8 mil via drill hole diameter, 5 mil annular ring
| tbd
| tbd
| tbd


|-
|-
| bgcolor="#6699ff" | '''Cypress FX2'''
| bgcolor="#6699ff" | '''Cypress FX2'''
| Cypress CY7C68013A-56LTXC, QFN, 8mm x 8mm
| Cypress CY7C68013A-56LTXC, QFN, 8&nbsp;mm x 8&nbsp;mm
| Cypress CY7C68013A-56LTXC, QFN, 8mm x 8mm
| Cypress CY7C68013A-56LTXC, QFN, 8&nbsp;mm x 8&nbsp;mm
| Cypress CY7C68013A-56BAXC, BGA, 5mm x 5mm
| Cypress CY7C68013A-56BAXC, BGA, 5&nbsp;mm x 5&nbsp;mm
| Cypress CY7C68013A-56LTXC, QFN, 8&nbsp;mm x 8&nbsp;mm


|-
|-
| bgcolor="#6699ff" | '''Input&nbsp;protection'''
| bgcolor="#6699ff" | '''Input&nbsp;protection'''
| 100Ω on each probe, 2x DSILC6-4 for all probes, 1x USBLC6-2 for USB
| 3 x IP425x-4-TTL EMI/ESD filters on all probes + 100k pull-ups, 1x USBLC6-2 for USB
| None whatsoever
| None whatsoever
| None whatsoever
| None whatsoever
| 100Ω on each probe, 4x DSILC6-4 for all probes, 1x USBLC6-2 for USB


|-
|-
| bgcolor="#6699ff" | '''24MHz crytal'''
| bgcolor="#6699ff" | '''24 MHz crytal'''
| tbd
| ABM8
| 4-SMD, 300μW, 2&nbsp;mm x 1.6&nbsp;mm
| tbd
| tbd
| tbd
| tbd
Line 94: Line 115:
| USB Micro-B SMD
| USB Micro-B SMD
| tbd
| tbd
| USB Micro-B SMD


|-
|-
| bgcolor="#6699ff" | '''Probe connector'''
| bgcolor="#6699ff" | '''Probe connector'''
| 2x5 1.27mm PCB-edge connector
| 2x6 1.27&nbsp;mm PCB-edge connector
| 2x5 1.27mm PCB-edge connector
| 2x5 1.27&nbsp;mm PCB-edge connector
| tbd
| tbd
| 2x 2x5 1.27&nbsp;mm PCB-edge connectors


|-
|-
Line 106: Line 129:
| None, default Cypress VID/PID 04b4:8613
| None, default Cypress VID/PID 04b4:8613
| None, default Cypress VID/PID 04b4:8613
| None, default Cypress VID/PID 04b4:8613
| Yes, sigrok fx2lafw (16-channel) VIP/PID 1d50:608d


|-
|-
| bgcolor="#6699ff" | '''Passives'''
| bgcolor="#6699ff" | '''Passives'''
| Mostly 0402, some 0603
| Mostly 0402, some 0603 & 0.4&nbsp;mm pitch DFN
| Only 0402
| Only 0402
| tbd
| tbd
| Mostly 0402, some 0603


|-
|-
| bgcolor="#6699ff" | '''LED'''
| bgcolor="#6699ff" | '''LED'''
| 1x 0603 LED on PA0
| 1x 0603 LED on PA1
| 1x 0402 LED on PA0
| 1x 0402 LED on PA1
| tbd
| tbd
| 1x 0603 LED on PA1


|}
|}


<small>
<small>
<sup>1</sup> Historical reasons.<br />
<sup>1</sup> The obsolete/nonworking fx2grok-tiny 0.1 was licensed CC-BY-SA 3.0, since version 0.2 the license is CC-BY-SA 4.0.<br />
<sup>2</sup> Optional goal: Make a tiny 3D-printed enclosure, and/or an "enclosure" using resin ([http://createdigitalmusic.com/files/stories/2006/august2006/resin_leds.jpg example]) with the device (including probes) ideally looking similar to the sigrok logo in the end.<br />
<sup>2</sup> Optional goal: Make a tiny 3D-printed enclosure, and/or an "enclosure" using resin ([http://createdigitalmusic.com/files/stories/2006/august2006/resin_leds.jpg example]) with the device (including probes) ideally looking similar to the sigrok logo in the end.<br />
</small>
</small>


== What is NOT the goal? ==
= What is NOT the goal? =


As you may know, there are [[Fx2lafw#Hardware_overview|tons of FX2-based logic analyzers]] (and tons of clones) already. There's not much use in creating yet another "standard" device.
As you may know, there are [[Fx2lafw#Hardware_overview|tons of FX2-based logic analyzers]] (and tons of clones) already. There's not much use in creating yet another "standard" device.


The goal of this little hobby project is thus '''NOT''' to make a '''better''' device, or to make a '''cheaper''' device, or anything like that. The only goal is to have it '''as tiny as possible''' (it's more of a "just for fun" project).
The goal of these projects is thus '''NOT''' necessarily to make a '''better''' device, or to make a '''cheaper''' device, or anything like that. The main goals are to to make them '''Open Hardware''' and to have them be '''as tiny as possible''' (they're mostly "just for fun" projects, especially the fx2grok-tiny and fx2grok-bga variants).


== Status ==
= Download =


Work in progress, untested, may or may not work!
The schematics, PCB layout and Gerber files are available from the [https://sigrok.org/gitweb/?p=fx2grok.git;a=summary fx2grok] Git repository:


First PCB, fx2grok-tiny 0.1, is finished and test boards are ordered. Whether or not everything works as planned is yet to be seen.
$ '''git clone git://sigrok.org/fx2grok'''


== Download ==
= fx2grok-tiny =


The schematics, PCB layout and Gerber files are available from the [https://sigrok.org/gitweb/?p=fx2grok.git;a=summary fx2grok] git repository:
== Status ==


$ '''git clone git://sigrok.org/fx2grok'''
fx2grok-tiny 0.2 has been tested and is known to work. The first PCB version (fx2grok-tiny 0.1) is '''not''' working and thus obsolete.


== Photos ==
== Photos ==
Line 148: Line 174:
=== Schematics, PCB layout, 3D preview ===
=== Schematics, PCB layout, 3D preview ===


'''fx2grok-tiny 0.1''':
'''fx2grok-tiny 0.2''':


<gallery>
<gallery>
File:Fx2grok-tiny-0.1-kicad-schematics.svg|<small>Schematics</small>
File:Fx2grok-tiny-0.2-kicad-schematics.svg|<small>Schematics</small>
File:Fx2grok-tiny-0.1-kicad-layout.png|<small>PCB layout</small>
File:Fx2grok-tiny-0.2-kicad-layout.png|<small>PCB layout</small>
File:Fx2grok-tiny-0.1-kicad-3d-top.png|<small>3D preview, top</small>
File:Fx2grok-tiny-0.2-kicad-3d-top.png|<small>3D preview, top</small>
File:Fx2grok-tiny-0.1-kicad-3d-bottom.png|<small>3D preview, bottom</small>
File:Fx2grok-tiny-0.2-kicad-3d-bottom.png|<small>3D preview, bottom</small>
File:Fx2grok-tiny-0.2-pinout.jpg|<small>Connector pinout</small>
</gallery>
</gallery>


Line 166: Line 193:
File:Fx2grok samtec cable crimp parts.jpg|<small>Crimp parts</small>
File:Fx2grok samtec cable crimp parts.jpg|<small>Crimp parts</small>
File:Fx2grok samtec cable crimp.jpg|<small>Crimp</small>
File:Fx2grok samtec cable crimp.jpg|<small>Crimp</small>
File:Fx2grok 0 2 crimp tool.jpg|<small>Crimp tool</small>
File:Fx2grok samtec cable finished.jpg|<small>Finished cable</small>
File:Fx2grok samtec cable finished.jpg|<small>Finished cable</small>
File:Fx2grok samtec cable with probes.jpg|<small>Cable with probes</small>
File:Fx2grok samtec cable with probes.jpg|<small>Cable with probes</small>
File:Fx2grok 0 2 crimp heatshrink tube1.jpg|<small>Heatshrink tube variant</small>
File:Fx2grok 0 2 crimp heatshrink tube2.jpg|<small>Heatshrink tube variant</small>
File:Fx2grok 0 2 cable heatshrink tube.jpg|<small>Heatshrink tube variant</small>
File:Fx2grok 0 2 device heatshrink tube cable.jpg|<small>Heatshrink tube cable</small>
File:Fx2grok samtec cable tfm.jpg|<small>Samtec TFM-105-01-L-D</small>
File:Fx2grok samtec cable tfm.jpg|<small>Samtec TFM-105-01-L-D</small>
File:Fx2grok samtec cable tfm2.jpg|<small>Samtec TFM-105-01-L-D</small>
File:Fx2grok samtec cable tfm2.jpg|<small>Samtec TFM-105-01-L-D</small>
Line 183: Line 215:
File:Fx2grok ribbon cable finished.jpg|<small>Finished cable</small>
File:Fx2grok ribbon cable finished.jpg|<small>Finished cable</small>
File:Fx2grok ribbon cable comparison.jpg|<small>Cable comparison</small>
File:Fx2grok ribbon cable comparison.jpg|<small>Cable comparison</small>
</gallery>
=== Housing ===
<gallery>
File:Fx2grok 0 2 device heatshrink tube.jpg|<small>Heatshrink tube</small>
File:Fx2grok 0 2 device heatshrink tube led.jpg|<small>Heatshrink tube, LED</small>
</gallery>
</gallery>


=== Assembly ===
=== Assembly ===
The current set of red PCBs was manufactured by [https://firstpcb.com/ firstpcb.com], solder stencils are manufactured by [https://www.oshstencils.com oshstencils.com]. You can use other PCB manufacturers of course, but don't forget that the PCB thickness must be 0.8mm (otherwise the probe connector won't fit) and that your PCB manufacturer must support all other specs (see table above).
The device can be assembled without too much hassle even though all parts are 0402 or otherwise very tiny.
* Apply solderpaste with the stencil to one PCB side.
* Place the parts with a pair of tweezers on the solderpaste (steady hands help, but no microscope is required).
* Solder the parts (a Puhui T-962A oven was used in this case; it should also be doable with a hot air gun/station or a modified pizza oven, though).
* Put some kapton tape on the soldered parts to prevent them from falling off while soldering the other PCB side in the oven.
* Apply solderpaste with the stencil to the other PCB side, place the parts, solder in the oven again.
* As a last step, manually solder (soldering iron) the 5x2 pins edge connector.


<gallery>
<gallery>
File:Fx2grok 0 1 pcbs.jpg|<small></small>
File:Fx2grok 0 2 pcb panel.jpg|<small>PCB panel</small>
File:Fx2grok 0 1 stencil.jpg|<small></small>
File:Fx2grok 0 2 pcbs.jpg|<small>PCBs</small>
File:Fx2grok 0 1 pcb top.jpg|<small></small>
File:Fx2grok 0 2 pcb top.jpg|<small>PCB, top</small>
File:Fx2grok 0 1 pcb bottom.jpg|<small></small>
File:Fx2grok 0 2 pcb bottom.jpg|<small>PCB, bottom</small>
File:Fx2grok 0 1 pcb on masking tape.jpg|<small></small>
File:Fx2grok 0 2 stencil top.jpg|<small>Stencil, top</small>
File:Fx2grok 0 1 pcb under stencil.jpg|<small></small>
File:Fx2grok 0 2 stencil bottom.jpg|<small>Stencil, bottom</small>
File:Fx2grok 0 1 pcb under stencil closeup.jpg|<small></small>
File:Fx2grok 0 2 solderpaste.jpg|<small>Solderpaste</small>
File:Fx2grok 0 1 stencil paste preparation.jpg|<small></small>
File:Fx2grok 0 2 pcb top populated.jpg|<small>PCB, top, populated</small>
File:Fx2grok 0 1 stencil paste applied.jpg|<small></small>
File:Fx2grok 0 2 pcb bottom populated.jpg|<small>PCB, bottom, populated</small>
File:Fx2grok 0 1 pcb bottom paste.jpg|<small></small>
File:Fx2grok-tiny-0.2-solderprofile.jpg|<small>Example solderprofile</small>
File:Fx2grok 0 1 pcb bottom populated.jpg|<small></small>
File:Fx2grok 0 2 device top.jpg|<small>Device, top</small>
File:Fx2grok 0 1 pcb bottom soldered.jpg|<small></small>
File:Fx2grok 0 2 device bottom.jpg|<small>Device, bottom</small>
File:Fx2grok 0 1 pcb bottom kapton tape.jpg|<small></small>
File:Fx2grok 0 2 device and cable.jpg|<small>Device and cable</small>
File:Fx2grok 0 1 pcb top paste.jpg|<small></small>
File:Fx2grok 0 2 size comparison.jpg|<small>Size comparison</small>
File:Fx2grok 0 1 pcb top soldered.jpg|<small></small>
</gallery>
</gallery>


== Bill of materials ==
== Bill of materials ==
=== fx2grok-tiny 0.1 ===


'''Note:''' All prices are for single quantities, most parts get a lot cheaper if you buy higher quantities.
'''Note:''' All prices are for single quantities, most parts get a lot cheaper if you buy higher quantities.
Line 227: Line 273:


|-
|-
|| 1 || Cypress CY7C68013A-56LTXC || QFN-56 || 8mm x 8mm || &mdash; || IC1 || [https://www.digikey.de/product-detail/en/cypress-semiconductor-corp/CY7C68013A-56LTXC/428-2933-ND/2096128?cur=EUR&lang=en 10.05&euro;] || [http://www.mouser.de/search/ProductDetail.aspx?R=0virtualkey0virtualkeyCY7C68013A-56LTXC 10.30&euro;] || Main chip. Alternatives:
|| 1 || Cypress CY7C68013A-56LTXC || QFN-56 || 8&nbsp;mm x 8&nbsp;mm || &mdash; || IC1 || [https://www.digikey.de/product-detail/en/cypress-semiconductor-corp/CY7C68013A-56LTXC/428-2933-ND/2096128?cur=EUR&lang=en 10.05&euro;] || [http://www.mouser.de/search/ProductDetail.aspx?R=0virtualkey0virtualkeyCY7C68013A-56LTXC 10.30&euro;] || Main chip. Alternatives:
* [http://de.futureelectronics.com/de/technologies/semiconductors/microcontrollers/8-bit/Seiten/6482053-CY7C68013A-56LTXC.aspx Future Electronics: 6.55&euro;]  
* [http://de.futureelectronics.com/de/technologies/semiconductors/microcontrollers/8-bit/Seiten/6482053-CY7C68013A-56LTXC.aspx Future Electronics: 6.55&euro;]
* [http://www.ebay.de/itm/1-PCS-CY7C68013A-56LFXC-QFN56-CY7C68013A-56-EZ-USB-FX2LP-USB-Microcontroller-/371990499413 eBay: 4.07&euro;]
* [http://www.ebay.de/itm/1-PCS-CY7C68013A-56LFXC-QFN56-CY7C68013A-56-EZ-USB-FX2LP-USB-Microcontroller-/371990499413 eBay: 4.07&euro;]
* [https://www.aliexpress.com/item/10PCS-Free-shipping-CY7C68013A-CY7C68013A-56LFXC-CYPRESS-NEW/32758119152.html Aliexpress: 1.52&euro;] (10 pcs lot, 15.16&euro; total)
* [https://www.aliexpress.com/item/10PCS-Free-shipping-CY7C68013A-CY7C68013A-56LFXC-CYPRESS-NEW/32758119152.html Aliexpress: 1.52&euro;] (10 pcs lot, 15.16&euro; total)


|-
|-
|| 1 || Amphenol&nbsp;FCI&nbsp;10118192-0001LF  || custom || 9.8mm x 5.6mm || &mdash; || U1 || [https://www.digikey.de/product-detail/en/amphenol-fci/10118192-0001LF/609-4613-1-ND/2785378 0.38&euro;] || [http://www.mouser.de/ProductDetail/FCI-Amphenol/10118192-0001LF/?qs=%2fha2pyFadujgPm4iVaIQmAH7IEAODLQazmlVAs%2fyYaruZkWE0oGmeA%3d%3d 0.35&euro;] || USB Micro-B SMD connector
|| 1 || Amphenol&nbsp;FCI&nbsp;10118192-0001LF  || custom || 9.8&nbsp;mm x 5.6&nbsp;mm || &mdash; || U1 || [https://www.digikey.de/product-detail/en/amphenol-fci/10118192-0001LF/609-4613-1-ND/2785378 0.38&euro;] || [http://www.mouser.de/ProductDetail/FCI-Amphenol/10118192-0001LF/?qs=%2fha2pyFadujgPm4iVaIQmAH7IEAODLQazmlVAs%2fyYaruZkWE0oGmeA%3d%3d 0.35&euro;] || USB Micro-B SMD connector


|-
|-
|| 1 || Murata&nbsp;XRCGB24M000FAN00R0 || custom || 2mm x 1.6mm || 24MHz || Y1 || [https://www.digikey.de/product-detail/en/murata-electronics-north-america/XRCGB24M000FAN00R0/490-16962-1-ND/7595843 0.29&euro;] || [http://www.mouser.de/ProductDetail/Murata/XRCGB24M000FAN00R0/?qs=%2fha2pyFaduhVXszias80rJExv6kKRiz8I6J1KIwVm7ZBhPSw4cO1NxDYBb%252bWztLR 0.46&euro;] || 24MHz crystal
|| 1 || Murata&nbsp;XRCGB24M000FAN00R0 || custom || 2&nbsp;mm x 1.6&nbsp;mm || 24 MHz || Y1 || [https://www.digikey.de/product-detail/en/murata-electronics-north-america/XRCGB24M000FAN00R0/490-16962-1-ND/7595843 0.29&euro;] || [http://www.mouser.de/ProductDetail/Murata/XRCGB24M000FAN00R0/?qs=%2fha2pyFaduhVXszias80rJExv6kKRiz8I6J1KIwVm7ZBhPSw4cO1NxDYBb%252bWztLR 0.46&euro;] || 24MHz crystal, ±25ppm, 6pF, 150 Ohms, max. 300μW drive level, 4-SMD, no lead


|-
|-
|| 1 || Micrel MIC5504-3.3YM5-TR || SOT-23-5 || 2.9mm x 1.6mm || 3.3V || U2 || [https://www.digikey.de/product-detail/en/microchip-technology/MIC5504-3.3YM5-TR/576-4764-1-ND/4864028 0.10&euro;] || [http://www.mouser.de/ProductDetail/Microchip/MIC5504-33YM5-TR/?qs=%2fha2pyFadujyBzUvhx7nCVHVS1wEK1ahUM91xHyBxIk%3d 0.10&euro;] || 3.3V LDO
|| 1 || Micrel MIC5504-3.3YM5-TR || SOT-23-5 || 2.9&nbsp;mm x 1.6&nbsp;mm || 3.3 V || U2 || [https://www.digikey.de/product-detail/en/microchip-technology/MIC5504-3.3YM5-TR/576-4764-1-ND/4864028 0.10&euro;] || [http://www.mouser.de/ProductDetail/Microchip/MIC5504-33YM5-TR/?qs=%2fha2pyFadujyBzUvhx7nCVHVS1wEK1ahUM91xHyBxIk%3d 0.10&euro;] || 3.3 V LDO, max. 300mA


|-
|-
|| 4 || Yageo&nbsp;RC0402JR-072R7L || 0402 || 0.25mm&nbsp;x&nbsp;0.125mm || 2.7 kΩ || R2, R3, R4, R5 || [https://www.digikey.de/product-detail/en/yageo/RC0402JR-072K7L/311-2.7KJRCT-ND/729385 0.08&euro;] || [http://www.mouser.de/ProductDetail/Yageo/RC0402JR-072K7L/?qs=%2fha2pyFadugNN0LzwXn2qKv1NucjI%2fazrntxBF%2f%2fhLo7g%252bIVZPpP%2fw%3d%3d 0.08&euro;] || Resistor
|| 4 || Yageo&nbsp;RC0402JR-072R7L || 0402 || 0.25&nbsp;mm&nbsp;x&nbsp;0.125&nbsp;mm || 2.7 kΩ || R2, R3, R4, R5 || [https://www.digikey.de/product-detail/en/yageo/RC0402JR-072K7L/311-2.7KJRCT-ND/729385 0.08&euro;] || [http://www.mouser.de/ProductDetail/Yageo/RC0402JR-072K7L/?qs=%2fha2pyFadugNN0LzwXn2qKv1NucjI%2fazrntxBF%2f%2fhLo7g%252bIVZPpP%2fw%3d%3d 0.08&euro;] || Resistor


|-
|-
|| 1 || Samsung&nbsp;RC1005J104CS || 0402 || 0.25mm x 0.125mm || 100 kΩ || R1 || [https://www.digikey.de/product-detail/en/samsung-electro-mechanics-america-inc/RC1005J104CS/1276-4424-1-ND/3967396 0.08&euro;] || &mdash; || Resistor
|| 1 || Samsung&nbsp;RC1005J104CS || 0402 || 0.25&nbsp;mm x 0.125&nbsp;mm || 100 kΩ || R1 || [https://www.digikey.de/product-detail/en/samsung-electro-mechanics-america-inc/RC1005J104CS/1276-4424-1-ND/3967396 0.08&euro;] || &mdash; || Resistor


|-
|-
|| 8 || Samsung&nbsp;CL05A104KP5NNNC || 0402 || 0.25mm x 0.125mm || 100nF || C2, C5, C7, C8, C10-C13 || [https://www.digikey.de/product-detail/en/samsung-electro-mechanics-america-inc/CL05A104KP5NNNC/1276-1022-1-ND/3889108 0.08&euro;] || &mdash; || Ceramic capacitor
|| 8 || Samsung&nbsp;CL05A104KP5NNNC || 0402 || 0.25&nbsp;mm x 0.125&nbsp;mm || 100 nF || C2, C5, C7, C8, C10-C13 || [https://www.digikey.de/product-detail/en/samsung-electro-mechanics-america-inc/CL05A104KP5NNNC/1276-1022-1-ND/3889108 0.08&euro;] || &mdash; || Ceramic capacitor


|-
|-
|| 3 || Taiyo&nbsp;Yuden&nbsp;JMK105BJ105KV-F || 0402 || 0.25mm x 0.125mm || 1uF || C1, C14, C16 || [https://www.digikey.de/product-detail/en/taiyo-yuden/JMK105BJ105KV-F/587-1231-1-ND/931008 0.08&euro;] || [http://www.mouser.de/ProductDetail/Taiyo-Yuden/JMK105BJ105KV-F/?qs=%2fha2pyFaduhVfLicOtMYHog0miohobAaExAZufXB%2f%252bdY5R%252bltkZq0w%3d%3d 0.10&euro;] || Ceramic capacitor
|| 3 || Taiyo&nbsp;Yuden&nbsp;JMK105BJ105KV-F || 0402 || 0.25&nbsp;mm x 0.125&nbsp;mm || 1 µF || C1, C14, C16 || [https://www.digikey.de/product-detail/en/taiyo-yuden/JMK105BJ105KV-F/587-1231-1-ND/931008 0.08&euro;] || [http://www.mouser.de/ProductDetail/Taiyo-Yuden/JMK105BJ105KV-F/?qs=%2fha2pyFaduhVfLicOtMYHog0miohobAaExAZufXB%2f%252bdY5R%252bltkZq0w%3d%3d 0.10&euro;] || Ceramic capacitor


|-
|-
|| 2 || Murata&nbsp;GRM155R61A225KE95D || 0402 || 0.25mm x 0.125mm || 2.2uF || C3, C6 || [https://www.digikey.de/product-detail/en/murata-electronics-north-america/GRM155R61A225KE95D/490-10451-1-ND/5026361 0.08&euro;] || [http://www.mouser.de/ProductDetail/Murata/GRM155R61A225KE95D/?qs=%2fha2pyFadugsr51Fgcs3VEkc4xRHZwzRUbwbh2dpjzoRDOGgmOp%2fmzl%252bsz3xq7eG 0.08&euro;] || Ceramic capacitor
|| 2 || Murata&nbsp;GRM155R61A225KE95D || 0402 || 0.25&nbsp;mm x 0.125&nbsp;mm || 2.2 µF || C3, C6 || [https://www.digikey.de/product-detail/en/murata-electronics-north-america/GRM155R61A225KE95D/490-10451-1-ND/5026361 0.08&euro;] || [http://www.mouser.de/ProductDetail/Murata/GRM155R61A225KE95D/?qs=%2fha2pyFadugsr51Fgcs3VEkc4xRHZwzRUbwbh2dpjzoRDOGgmOp%2fmzl%252bsz3xq7eG 0.08&euro;] || Ceramic capacitor


|-
|-
|| 2 || Samsung&nbsp;CL05C120JB5NNNC || 0402 || 0.25mm x 0.125mm || 12pF || C4, C9 || [https://www.digikey.de/product-detail/en/samsung-electro-mechanics-america-inc/CL05C120JB5NNNC/1276-1178-1-ND/3889264 0.08&nbsp;] || &mdash; || Ceramic capacitor
|| 2 || Samsung&nbsp;CL05C120JB5NNNC || 0402 || 0.25&nbsp;mm x 0.125&nbsp;mm || 12 pF || C4, C9 || [https://www.digikey.de/product-detail/en/samsung-electro-mechanics-america-inc/CL05C120JB5NNNC/1276-1178-1-ND/3889264 0.08&nbsp;] || &mdash; || Ceramic capacitor


|-
|-
|| 1 || Vishay VLMB1500-GS08 || 0402 || 0.25mm x 0.125mm || &mdash; || D1 || [https://www.digikey.de/product-detail/en/vishay-semiconductor-opto-division/VLMB1500-GS08/VLMB1500-GS08CT-ND/3504671 0.34&euro;] || [http://www.mouser.de/ProductDetail/Vishay/VLMB1500-GS08/?qs=%2fha2pyFaduhN70pSEFaWb7ncGFJYKJC0keOOL0VlVLSzC7zQ0fA2Ng%3d%3d 0.51&euro;] || LED
|| 1 || Vishay VLMB1500-GS08 || 0402 || 0.25&nbsp;mm x 0.125&nbsp;mm || &mdash; || D1 || [https://www.digikey.de/product-detail/en/vishay-semiconductor-opto-division/VLMB1500-GS08/VLMB1500-GS08CT-ND/3504671 0.34&euro;] || [http://www.mouser.de/ProductDetail/Vishay/VLMB1500-GS08/?qs=%2fha2pyFaduhN70pSEFaWb7ncGFJYKJC0keOOL0VlVLSzC7zQ0fA2Ng%3d%3d 0.51&euro;] || LED. When using other LED colors, you might also want a lower value for R5.


|-
|-
Line 266: Line 312:


|-
|-
|| 1 || Amphenol&nbsp;FCI&nbsp;20021111-00010T4LF || custom || &mdash; || &mdash; || P1/P2 || [https://www.digikey.de/product-detail/en/20021111-00010T4LF/609-3712-ND/2209072 0.53&euro;] || [http://www.mouser.de/ProductDetail/FCI/20021111-00010T4LF/?qs=%2fha2pyFadug5qLbZ9z2ci%2fTjUM7AITCGO1cafk55nZhEq%252b0iFQt31y%2f99h8z8QRG 0.55&euro;] || 5x2 through-hole pin header (1.27mm pitch), could soldered to the PCB (5 pins per side)
|| 1 || Amphenol&nbsp;FCI&nbsp;20021111-00010T4LF || custom || &mdash; || &mdash; || P1/P2 || [https://www.digikey.de/product-detail/en/20021111-00010T4LF/609-3712-ND/2209072 0.53&euro;] || [http://www.mouser.de/ProductDetail/FCI/20021111-00010T4LF/?qs=%2fha2pyFadug5qLbZ9z2ci%2fTjUM7AITCGO1cafk55nZhEq%252b0iFQt31y%2f99h8z8QRG 0.55&euro;] || 5x2 through-hole pin header (1.27&nbsp;mm pitch), could soldered to the PCB (5 pins per side)


|-
|-
|| 1 || Amphenol&nbsp;FCI&nbsp;20021311-00010T4LF || custom || &mdash; || &mdash; || &mdash; || [https://www.digikey.de/product-detail/en/20021311-00010T4LF/609-3754-ND/2209079 0.68&euro;] || [http://www.mouser.de/ProductDetail/FCI/20021311-00010T4LF/?qs=%2fha2pyFaduhY7txd7xCZHyqlTMKSj7DOXT7F8SKnNS3QPZpSMC9CyD3j5oh5%2fHMK 0.69&euro;] || 5x2 connector/receptacle (1.27mm pitch), could be used for soldering the probe cable/wires
|| 1 || Amphenol&nbsp;FCI&nbsp;20021311-00010T4LF || custom || &mdash; || &mdash; || &mdash; || [https://www.digikey.de/product-detail/en/20021311-00010T4LF/609-3754-ND/2209079 0.68&euro;] || [http://www.mouser.de/ProductDetail/FCI/20021311-00010T4LF/?qs=%2fha2pyFaduhY7txd7xCZHyqlTMKSj7DOXT7F8SKnNS3QPZpSMC9CyD3j5oh5%2fHMK 0.69&euro;] || 5x2 connector/receptacle (1.27&nbsp;mm pitch), could be used for soldering the probe cable/wires


|-
|-
|| 1 || Samtec TFM-105-01-L-D || custom || &mdash; || &mdash; || P1/P2 || [https://www.digikey.de/product-detail/en/samtec-inc/TFM-105-01-L-D/SAM9148-ND/6613860 0.53&euro;] || &mdash; || 5x2 through-hole pin header (1.27mm pitch) with a notch, soldered to the PCB (5 pins per side), match for the Samtec SFSD-05-28-H-10.00-SR cable below  
|| 1 || Samtec TFM-105-01-L-D || custom || &mdash; || &mdash; || P1/P2 || [https://www.digikey.de/product-detail/en/samtec-inc/TFM-105-01-L-D/SAM9148-ND/6613860 0.53&euro;] || &mdash; || 5x2 through-hole pin header (1.27&nbsp;mm pitch) with a notch, soldered to the PCB (5 pins per side), match for the Samtec SFSD-05-28-H-10.00-SR cable below


|-
|-
Line 281: Line 327:
'''Note''': C15 is missing and there is a C16, which is correct. C15 was removed and the numbering wasn't reset.
'''Note''': C15 is missing and there is a C16, which is correct. C15 was removed and the numbering wasn't reset.


== Resources ==
== Random notes ==
 
* No, you cannot order assembled fx2grok-tiny devices or the bare PCBs anywhere, this is a pure hobby project. You can, however, make your own devices. Everything is Open Hardware, Open Source, and documented.
* The fx2grok-tiny device sacrifices a lot of things in order to make it as tiny as possible:
** There's no input protection whatsoever on the probes, not even a simple resistor. This means (among other things) you'll see random garbage on unconnected probes (which can be avoided by explicitly attaching them to a GND, though).
** There's no protection circuitry whatsoever on the USB side either.
** The device has no EEPROM, so it'll enumerate with the default Cypress USB VID/PID of 04b4:8613. libsigrok/fx2fwla currently assume all such devices are plain FX2 eval boards with all 16 channels accessible. However, fx2grok-tiny only has 8 channels on the connector, so until we have a nicer permanent fix for this, you have to either limit your samplerate to 12MHz (you cannot use 16MHz or 24MHz), or you can patch the libsigrok fx2lafw driver to treat devices with a VID/PID of 04b4:8613 as 8-channel devices (instead of 16-channel devices):
<small>
diff --git a/src/hardware/fx2lafw/api.c b/src/hardware/fx2lafw/api.c
index 34c5bc41..1634635a 100644
--- a/src/hardware/fx2lafw/api.c
+++ b/src/hardware/fx2lafw/api.c
@@ -70,7 +70,7 @@ static const struct fx2lafw_profile supported_fx2[] = {
          */
        { 0x04B4, 0x8613, "Cypress", "FX2", NULL,
                "fx2lafw-cypress-fx2.fw",
-              DEV_CAPS_16BIT, NULL, NULL },
+              0, NULL, NULL },
</small>
* Many of the recommendations from the Cypress FX2 datasheets and guides are ignored on the fx2grok-tiny (mostly in order to be able to make it smaller, sometimes also a bit simpler). While this seems to work fine regardless (for now), you shouldn't be too surprised if there are issues eventually.
** Unused pins should be tied to GND as per vendor (this is not done, though).
** The recommended crystal should have 12 pF (5 percent tolerance) load capacitors, we're using a crystal that wants 6 pF as per datasheet.
** The recommended crystal should have 500 µW drive level, we're using one with 300 µW.
** Cypress recommends a 4 layer PCB (we use a 2 layer PCB) and various other PCB layout / solderability related things that we're ignoring.
** The solderpaste is a big solid area under the FX2 device, it would be a bit nicer to have that part be a checkerboard pattern (but it seems to work well enough like this, too).
** etc. etc.
* The Gerber files intentionally don't include silkscreen (not really needed, might be too tiny anyway, sometimes might increase PCB manufacturing costs). However, the silkscreen is "abused" in the KiCad files to generate nice 3D previews (see above) that can be helpful when assembling the device.
* The fx2grok-tiny device currently has a blue LED with a 2k7 resistor (R5), which is sufficiently bright. If you want to use other LED colors you might also want to use a lower resistor value to increase brightness.
 
= fx2grok-flat =
 
== Status ==
 
fx2grok-flat 0.2 has been tested and is known to work, but is not yet the final version. Additional improvements will be implemented in version 0.3.
 
== Photos ==
 
=== Schematics, PCB layout, 3D preview ===
 
'''fx2grok-flat 0.2''':
 
<gallery>
File:FX2Grok-flat-v0-2-3d-top.jpg|<small>3D preview, top</small>
File:FX2Grok-flat-v0-2-3d-bottom.jpg|<small>3D preview, bottom</small>
</gallery>
 
= Resources =


* [http://www.cypress.com/products/ez-usb-fx2lp Cypress FX2 overview page]
* [http://www.cypress.com/products/ez-usb-fx2lp Cypress FX2 overview page]
Line 288: Line 380:
* [http://www.cypress.com/documentation/application-notes/an15456-guide-successful-ez-usb-fx2lp-hardware-design AN15456 - Guide to a Successful EZ-USB FX2LP Hardware Design] ([http://www.cypress.com/file/135006/download PDF])
* [http://www.cypress.com/documentation/application-notes/an15456-guide-successful-ez-usb-fx2lp-hardware-design AN15456 - Guide to a Successful EZ-USB FX2LP Hardware Design] ([http://www.cypress.com/file/135006/download PDF])
* esden's [https://www.youtube.com/playlist?list=PLOF903IIpqjOwHIjT7VFqbxBhEHG8v5__ series of videos] on the fx2grok-flat design (schematics, PCB, with background information and almost a KiCad tutorial)
* esden's [https://www.youtube.com/playlist?list=PLOF903IIpqjOwHIjT7VFqbxBhEHG8v5__ series of videos] on the fx2grok-flat design (schematics, PCB, with background information and almost a KiCad tutorial)
* esden's [https://github.com/esden/fx2grok/ GitHub repository] with the KiCad project files for the fx2grok-flat (in the "flat" branch)
* Ryan's [https://github.com/izzy84075/fx2grok GitHub repository] with the KiCad project files for the fx2grok-wide (in the "wide" branch)

Latest revision as of 17:05, 17 December 2017

The fx2grok family consists of four devices (fx2grok-flat, fx2grok-tiny, fx2grok-bga, fx2grok-wide) of very small, Open Hardware FX2-based logic analyzers.

The schematics and layouts are done from scratch in KiCad, and are released under the CC-BY-SA 4.0 license.

Using the open-source fx2lafw firmware (and sigrok, of course) you can use these devices as 8-channel (or 16-channel, for the fx2grok-wide) logic analyzers.

Device comparison

Note: Most of this is work in progress and might change at any time!

Item fx2grok-flat fx2grok-tiny fx2grok-bga fxgrok-wide
Goals 2
  • Even smaller
  • Open Hardware
  • "Just for fun" project, doesn't have to be practical
  • Sacrifices a lot of things for reduced size
  • Smallest-possible
  • Open Hardware
  • "Just for fun" project, doesn't have to be practical
  • Sacrifices even more things for reduced size
  • Small, but 16 channels
  • Open Hardware
  • Reliable and convenient, with a few more channels
Author Piotr Esden-Tempski Uwe Hermann Uwe Hermann Ryan "Izzy" Bales, based off of Piotr Esden-Tempski's fx2grok-flat
Status in progress finished WIP WIP
Hardware license CC-BY-SA 4.0 CC-BY-SA 4.0 1 CC-BY-SA 4.0 CC-BY-SA 4.0
Size 33 mm x 16 mm 11 mm x 11 mm tbd tbd
Logic channels 8 + CLK & TRIG 8 tbd 16
Layout specs
  • One sided load 4 layer PCB/layout
  • 0.15 mm trace/space
  • 0.3 mm drill & 0.1 mm annular ring
  • Double-sided 2-layer PCB/layout
  • Components soldered on both sides
  • 0.8 mm PCB thickness
  • 5 mil traces, 6 mil trace clearance
  • 8 mil via drill hole diameter, 5 mil annular ring
tbd tbd
Cypress FX2 Cypress CY7C68013A-56LTXC, QFN, 8 mm x 8 mm Cypress CY7C68013A-56LTXC, QFN, 8 mm x 8 mm Cypress CY7C68013A-56BAXC, BGA, 5 mm x 5 mm Cypress CY7C68013A-56LTXC, QFN, 8 mm x 8 mm
Input protection 3 x IP425x-4-TTL EMI/ESD filters on all probes + 100k pull-ups, 1x USBLC6-2 for USB None whatsoever None whatsoever 100Ω on each probe, 4x DSILC6-4 for all probes, 1x USBLC6-2 for USB
24 MHz crytal ABM8 4-SMD, 300μW, 2 mm x 1.6 mm tbd tbd
USB connector USB Micro-B SMD USB Micro-B SMD tbd USB Micro-B SMD
Probe connector 2x6 1.27 mm PCB-edge connector 2x5 1.27 mm PCB-edge connector tbd 2x 2x5 1.27 mm PCB-edge connectors
EEPROM Yes, sigrok fx2lafw (8-channel) VID/PID 1d50:608c None, default Cypress VID/PID 04b4:8613 None, default Cypress VID/PID 04b4:8613 Yes, sigrok fx2lafw (16-channel) VIP/PID 1d50:608d
Passives Mostly 0402, some 0603 & 0.4 mm pitch DFN Only 0402 tbd Mostly 0402, some 0603
LED 1x 0603 LED on PA1 1x 0402 LED on PA1 tbd 1x 0603 LED on PA1

1 The obsolete/nonworking fx2grok-tiny 0.1 was licensed CC-BY-SA 3.0, since version 0.2 the license is CC-BY-SA 4.0.
2 Optional goal: Make a tiny 3D-printed enclosure, and/or an "enclosure" using resin (example) with the device (including probes) ideally looking similar to the sigrok logo in the end.

What is NOT the goal?

As you may know, there are tons of FX2-based logic analyzers (and tons of clones) already. There's not much use in creating yet another "standard" device.

The goal of these projects is thus NOT necessarily to make a better device, or to make a cheaper device, or anything like that. The main goals are to to make them Open Hardware and to have them be as tiny as possible (they're mostly "just for fun" projects, especially the fx2grok-tiny and fx2grok-bga variants).

Download

The schematics, PCB layout and Gerber files are available from the fx2grok Git repository:

$ git clone git://sigrok.org/fx2grok

fx2grok-tiny

Status

fx2grok-tiny 0.2 has been tested and is known to work. The first PCB version (fx2grok-tiny 0.1) is not working and thus obsolete.

Photos

Schematics, PCB layout, 3D preview

fx2grok-tiny 0.2:

Cable and connector variants

Samtec SFSD-05-28-H-10.00-SR + TFM-105-01-L-D:

Hand-soldered ribbon cable:

Housing

Assembly

The current set of red PCBs was manufactured by firstpcb.com, solder stencils are manufactured by oshstencils.com. You can use other PCB manufacturers of course, but don't forget that the PCB thickness must be 0.8mm (otherwise the probe connector won't fit) and that your PCB manufacturer must support all other specs (see table above).

The device can be assembled without too much hassle even though all parts are 0402 or otherwise very tiny.

  • Apply solderpaste with the stencil to one PCB side.
  • Place the parts with a pair of tweezers on the solderpaste (steady hands help, but no microscope is required).
  • Solder the parts (a Puhui T-962A oven was used in this case; it should also be doable with a hot air gun/station or a modified pizza oven, though).
  • Put some kapton tape on the soldered parts to prevent them from falling off while soldering the other PCB side in the oven.
  • Apply solderpaste with the stencil to the other PCB side, place the parts, solder in the oven again.
  • As a last step, manually solder (soldering iron) the 5x2 pins edge connector.

Bill of materials

Note: All prices are for single quantities, most parts get a lot cheaper if you buy higher quantities.

Qty Device Footprint Size Value Refdes Digikey Mouser Comments
Required parts
1 Cypress CY7C68013A-56LTXC QFN-56 8 mm x 8 mm IC1 10.05€ 10.30€ Main chip. Alternatives:
1 Amphenol FCI 10118192-0001LF custom 9.8 mm x 5.6 mm U1 0.38€ 0.35€ USB Micro-B SMD connector
1 Murata XRCGB24M000FAN00R0 custom 2 mm x 1.6 mm 24 MHz Y1 0.29€ 0.46€ 24MHz crystal, ±25ppm, 6pF, 150 Ohms, max. 300μW drive level, 4-SMD, no lead
1 Micrel MIC5504-3.3YM5-TR SOT-23-5 2.9 mm x 1.6 mm 3.3 V U2 0.10€ 0.10€ 3.3 V LDO, max. 300mA
4 Yageo RC0402JR-072R7L 0402 0.25 mm x 0.125 mm 2.7 kΩ R2, R3, R4, R5 0.08€ 0.08€ Resistor
1 Samsung RC1005J104CS 0402 0.25 mm x 0.125 mm 100 kΩ R1 0.08€ Resistor
8 Samsung CL05A104KP5NNNC 0402 0.25 mm x 0.125 mm 100 nF C2, C5, C7, C8, C10-C13 0.08€ Ceramic capacitor
3 Taiyo Yuden JMK105BJ105KV-F 0402 0.25 mm x 0.125 mm 1 µF C1, C14, C16 0.08€ 0.10€ Ceramic capacitor
2 Murata GRM155R61A225KE95D 0402 0.25 mm x 0.125 mm 2.2 µF C3, C6 0.08€ 0.08€ Ceramic capacitor
2 Samsung CL05C120JB5NNNC 0402 0.25 mm x 0.125 mm 12 pF C4, C9 0.08  Ceramic capacitor
1 Vishay VLMB1500-GS08 0402 0.25 mm x 0.125 mm D1 0.34€ 0.51€ LED. When using other LED colors, you might also want a lower value for R5.
Optional parts / variants
1 Amphenol FCI 20021111-00010T4LF custom P1/P2 0.53€ 0.55€ 5x2 through-hole pin header (1.27 mm pitch), could soldered to the PCB (5 pins per side)
1 Amphenol FCI 20021311-00010T4LF custom 0.68€ 0.69€ 5x2 connector/receptacle (1.27 mm pitch), could be used for soldering the probe cable/wires
1 Samtec TFM-105-01-L-D custom P1/P2 0.53€ 5x2 through-hole pin header (1.27 mm pitch) with a notch, soldered to the PCB (5 pins per side), match for the Samtec SFSD-05-28-H-10.00-SR cable below
1 Samtec SFSD-05-28-H-10.00-SR custom 4.77€ Potential probe cable, needs some crimping

Note: C15 is missing and there is a C16, which is correct. C15 was removed and the numbering wasn't reset.

Random notes

  • No, you cannot order assembled fx2grok-tiny devices or the bare PCBs anywhere, this is a pure hobby project. You can, however, make your own devices. Everything is Open Hardware, Open Source, and documented.
  • The fx2grok-tiny device sacrifices a lot of things in order to make it as tiny as possible:
    • There's no input protection whatsoever on the probes, not even a simple resistor. This means (among other things) you'll see random garbage on unconnected probes (which can be avoided by explicitly attaching them to a GND, though).
    • There's no protection circuitry whatsoever on the USB side either.
    • The device has no EEPROM, so it'll enumerate with the default Cypress USB VID/PID of 04b4:8613. libsigrok/fx2fwla currently assume all such devices are plain FX2 eval boards with all 16 channels accessible. However, fx2grok-tiny only has 8 channels on the connector, so until we have a nicer permanent fix for this, you have to either limit your samplerate to 12MHz (you cannot use 16MHz or 24MHz), or you can patch the libsigrok fx2lafw driver to treat devices with a VID/PID of 04b4:8613 as 8-channel devices (instead of 16-channel devices):

diff --git a/src/hardware/fx2lafw/api.c b/src/hardware/fx2lafw/api.c
index 34c5bc41..1634635a 100644
--- a/src/hardware/fx2lafw/api.c
+++ b/src/hardware/fx2lafw/api.c
@@ -70,7 +70,7 @@ static const struct fx2lafw_profile supported_fx2[] = {
         */
        { 0x04B4, 0x8613, "Cypress", "FX2", NULL,
                "fx2lafw-cypress-fx2.fw",
-               DEV_CAPS_16BIT, NULL, NULL },
+               0, NULL, NULL },

  • Many of the recommendations from the Cypress FX2 datasheets and guides are ignored on the fx2grok-tiny (mostly in order to be able to make it smaller, sometimes also a bit simpler). While this seems to work fine regardless (for now), you shouldn't be too surprised if there are issues eventually.
    • Unused pins should be tied to GND as per vendor (this is not done, though).
    • The recommended crystal should have 12 pF (5 percent tolerance) load capacitors, we're using a crystal that wants 6 pF as per datasheet.
    • The recommended crystal should have 500 µW drive level, we're using one with 300 µW.
    • Cypress recommends a 4 layer PCB (we use a 2 layer PCB) and various other PCB layout / solderability related things that we're ignoring.
    • The solderpaste is a big solid area under the FX2 device, it would be a bit nicer to have that part be a checkerboard pattern (but it seems to work well enough like this, too).
    • etc. etc.
  • The Gerber files intentionally don't include silkscreen (not really needed, might be too tiny anyway, sometimes might increase PCB manufacturing costs). However, the silkscreen is "abused" in the KiCad files to generate nice 3D previews (see above) that can be helpful when assembling the device.
  • The fx2grok-tiny device currently has a blue LED with a 2k7 resistor (R5), which is sufficiently bright. If you want to use other LED colors you might also want to use a lower resistor value to increase brightness.

fx2grok-flat

Status

fx2grok-flat 0.2 has been tested and is known to work, but is not yet the final version. Additional improvements will be implemented in version 0.3.

Photos

Schematics, PCB layout, 3D preview

fx2grok-flat 0.2:

Resources