Difference between revisions of "Fx2grok"

From sigrok
Jump to navigation Jump to search
(Fix URLs.)
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lowercase}}
{{lowercase}}
The '''fx2grok''' device is intended to be the '''tinyiest possible''' Open Hardware FX2 eval board (that can be used as 8-channel logic analyzer).
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 layout 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] 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 this device as 8-channel logic analyzer.
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.


== Goal ==
= Device comparison =


* Make the tinyiest-possible [https://en.wikipedia.org/wiki/Open-source_hardware Open Hardware] Cypress FX2 based 8-channel logic analyzer.
'''Note''': Most of this is work in progress and might change at any time!
* Optional: 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.


== What is NOT the goal? ==
{| border="0" style="background-color: #eeeeee; font-size: smaller" class="alternategrey sortable sigroktable"
|- bgcolor="#6699ff"
! align="left" width="10%" | Item
! align="left" width="22.5%" | fx2grok-flat
! align="left" width="22.5%" | fx2grok-tiny
! align="left" width="22.5%" | fx2grok-bga
! align="left" width="22.5%" | fxgrok-wide
 
|-
| bgcolor="#6699ff" | '''Goals''' <sup>2</sup>
|
* Small
* [https://en.wikipedia.org/wiki/Open-source_hardware Open Hardware]
* Convenient and reliable to use in practice
|
* Even smaller
* [https://en.wikipedia.org/wiki/Open-source_hardware Open Hardware]
* "Just for fun" project, doesn't have to be practical
* Sacrifices a lot of things for reduced size
|
* Smallest-possible
* [https://en.wikipedia.org/wiki/Open-source_hardware Open Hardware]
* "Just for fun" project, doesn't have to be practical
* 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
 
|-
| bgcolor="#6699ff" | '''Author'''
| Piotr Esden-Tempski
| 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&nbsp;license'''
| CC-BY-SA 4.0
| CC-BY-SA 4.0 <sup>1</sup>
| CC-BY-SA 4.0
| CC-BY-SA 4.0
 
|-
| bgcolor="#6699ff" | '''Size'''
| 33&nbsp;mm x 16&nbsp;mm
| 11&nbsp;mm x 11&nbsp;mm
| tbd
| tbd
 
|-
| bgcolor="#6699ff" | '''Logic channels'''
| 8 + CLK & TRIG
| 8
| tbd
| 16
 
|-
| bgcolor="#6699ff" | '''Layout specs'''
|
* One sided load 4 layer PCB/layout
* 0.15&nbsp;mm trace/space
* 0.3&nbsp;mm drill & 0.1&nbsp;mm annular ring
|
* Double-sided 2-layer PCB/layout
* Components soldered on both sides
* 0.8&nbsp;mm PCB thickness
* 5 mil traces, 6 mil trace clearance
* 8 mil via drill hole diameter, 5 mil annular ring
| tbd
| tbd
 
|-
| bgcolor="#6699ff" | '''Cypress FX2'''
| Cypress CY7C68013A-56LTXC, QFN, 8&nbsp;mm x 8&nbsp;mm
| Cypress CY7C68013A-56LTXC, QFN, 8&nbsp;mm x 8&nbsp;mm
| 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'''
| 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
 
|-
| bgcolor="#6699ff" | '''24 MHz crytal'''
| ABM8
| 4-SMD, 300μW, 2&nbsp;mm x 1.6&nbsp;mm
| tbd
| tbd
 
|-
| bgcolor="#6699ff" | '''USB connector'''
| USB Micro-B SMD
| USB Micro-B SMD
| tbd
| USB Micro-B SMD
 
|-
| bgcolor="#6699ff" | '''Probe connector'''
| 2x6 1.27&nbsp;mm PCB-edge connector
| 2x5 1.27&nbsp;mm PCB-edge connector
| tbd
| 2x 2x5 1.27&nbsp;mm PCB-edge connectors
 
|-
| bgcolor="#6699ff" | '''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
 
|-
| bgcolor="#6699ff" | '''Passives'''
| Mostly 0402, some 0603 & 0.4&nbsp;mm pitch DFN
| Only 0402
| tbd
| Mostly 0402, some 0603
 
|-
| bgcolor="#6699ff" | '''LED'''
| 1x 0603 LED on PA1
| 1x 0402 LED on PA1
| tbd
| 1x 0603 LED on PA1
 
|}
 
<small>
<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 />
</small>
 
= 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).


== Hardware ==
= Download =


* 13mm x 13mm PCB
The schematics, PCB layout and Gerber files are available from the [https://sigrok.org/gitweb/?p=fx2grok.git;a=summary fx2grok] Git repository:
** 0.8mm PCB thickness, 5mil traces, 6mil trace clearance, 8mil via drill hole diameter, 5mil annular ring.
* Double-sided 2-layer PCB/layout, 0402 SMD components soldered on both sides.
* USB micro-B connector.
* 1.27mm 5x2 pin header.
* FX2 in 56pin QFN package.
* Small SMD 24MHz crystal.
* No buffer or other input protection (not even 100 Ω resistors for each probe).
* No EEPROM, the device will enumerate with the standard Cypress FX2 "unconfigured device" USB VID/PID (04b4:8613).


== Download ==
$ '''git clone git://sigrok.org/fx2grok'''


The schematics and PCB layout is available from the [https://sigrok.org/gitweb/?p=fx2grok.git;a=summary fx2grok] git repository:
= fx2grok-tiny =


$ '''git clone git://sigrok.org/fx2grok'''
== 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''':
 
<gallery>
File:Fx2grok-tiny-0.2-kicad-schematics.svg|<small>Schematics</small>
File:Fx2grok-tiny-0.2-kicad-layout.png|<small>PCB layout</small>
File:Fx2grok-tiny-0.2-kicad-3d-top.png|<small>3D preview, top</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>
 
=== Cable and connector variants ===
 
'''Samtec SFSD-05-28-H-10.00-SR + TFM-105-01-L-D''':
 
<gallery>
File:Fx2grok samtec cable orig.jpg‎|<small>Samtec SFSD-05-28-H-10.00-SR</small>
File:Fx2grok samtec cable conn.jpg|<small>Connector with notch</small>
File:Fx2grok samtec cable crimp parts.jpg|<small>Crimp parts</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 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 tfm2.jpg|<small>Samtec TFM-105-01-L-D</small>
File:Fx2grok_samtec_cable_connected.jpg|<small>Cable connected</small>
File:Fx2grok samtec cable pinheader.jpg|<small>Cable + pinheader</small>
</gallery>
 
'''Hand-soldered ribbon cable''':
 
<gallery>
File:Fx2grok ribbon cable orig.jpg|<small>Ribbon cable</small>
File:Fx2grok ribbon cable wires.jpg|<small>Individual wires</small>
File:Fx2grok ribbon cable soldered.jpg|<small>Soldered connector</small>
File:Fx2grok ribbon cable conn kapton.jpg|<small>Kapton tape</small>
File:Fx2grok ribbon cable finished.jpg|<small>Finished cable</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>
 
=== 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>
File:Fx2grok 0 2 pcb panel.jpg|<small>PCB panel</small>
File:Fx2grok 0 2 pcbs.jpg|<small>PCBs</small>
File:Fx2grok 0 2 pcb top.jpg|<small>PCB, top</small>
File:Fx2grok 0 2 pcb bottom.jpg|<small>PCB, bottom</small>
File:Fx2grok 0 2 stencil top.jpg|<small>Stencil, top</small>
File:Fx2grok 0 2 stencil bottom.jpg|<small>Stencil, bottom</small>
File:Fx2grok 0 2 solderpaste.jpg|<small>Solderpaste</small>
File:Fx2grok 0 2 pcb top populated.jpg|<small>PCB, top, populated</small>
File:Fx2grok 0 2 pcb bottom populated.jpg|<small>PCB, bottom, populated</small>
File:Fx2grok-tiny-0.2-solderprofile.jpg|<small>Example solderprofile</small>
File:Fx2grok 0 2 device top.jpg|<small>Device, top</small>
File:Fx2grok 0 2 device bottom.jpg|<small>Device, bottom</small>
File:Fx2grok 0 2 device and cable.jpg|<small>Device and cable</small>
File:Fx2grok 0 2 size comparison.jpg|<small>Size comparison</small>
</gallery>


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


{| 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"
Line 50: Line 270:


|-
|-
|| 1 || Cypress CY7C68013A-56LTXC || QFN-56 || 8mm x 8mm || &mdash; || IC1 || [https://www.digikey.de/product-detail/de/cypress-semiconductor-corp/CY7C68013A-56LTXC/428-2933-ND/2096128 11.33&euro;] || [http://de.mouser.com/ProductDetail/Cypress-Semiconductor/CY7C68013A-56LTXC/?qs=qYlzjrEdrIYtbCsxykqr8A%3d%3d 12.00&euro;] || Main chip. Alternatives: [http://www.ebay.de/itm/CY7C68013A-56LFXC-Manu-CYPRESS-Encapsulation-QFN-EZ-USB-FX2LP-USB-/120921407435?pt=LH_DefaultDomain_0&hash=item1c277a3fcb eBay: 4.04&euro;] (but who knows if it's fake), [http://de.futureelectronics.com/de/technologies/semiconductors/microcontrollers/8-bit/Seiten/6482053-CY7C68013A-56LTXC.aspx?IM=0 Future Electronics: 5.52&euro;]
| colspan="9" bgcolor="#6699cc" | Required parts


|-
|-
|| 1 || Hirose ZX62-B-5PA(11) || custom || 9.8mm x 5.6mm || &mdash; || U1 || [http://www.digikey.de/product-detail/de/ZX62-B-5PA%2811%29/H11634CT-ND/1993369 0.98&euro;] || [http://de.mouser.com/ProductDetail/Hirose-Electric/ZX62-B-5PA11/?qs=XQjbzJWzFPVjqc37LPWsuA%3d%3d 0.908&euro;] || USB Micro-B SMD connector
|| 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://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)


<!--
|-
|-
|| 1 || CTS 742C163101JP || 2506 || 6.4mm x 1.6mm || 100 Ω  || ... || [http://www.digikey.de/product-detail/de/742C163101JP/742C163101JPCT-ND/1124514 0.50&euro;] || [http://de.mouser.com/ProductDetail/CTS/742C163101JP/?qs=hbgUSdfWRJXnkVrnQgPqIw%3d%3d 0.124&euro;] || 8x resistor network (8x 0603), 100 Ω
|| 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 || Yageo YC248-JR-07100RL || 1506 || 4mm x 1.6mm || 100 Ω || ... || [http://www.digikey.de/product-detail/de/YC248-JR-07100RL/YC248J-100CT-ND/1005770 0.28&euro;] || N/A || 8x resistor network (8x 0402), 100 Ω
|| 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 || Abracon ABM11-24.000MHZ-B7G-T || custom || 2mm x 1.6mm || 24MHz  || X1 || [http://www.digikey.de/product-detail/de/ABM11-24.000MHZ-B7G-T/535-10250-1-ND/2218063 2.27&euro;] || [http://de.mouser.com/ProductDetail/ABRACON/ABM11-24000MHZ-B7G-T/?qs=3LVMET7lfiOIcVdtL88uPsa2dTkYjkJ%252bvlbHYv8RUDM%3d 1.96&euro;] || 24MHz crystal
|| 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


|-
|-
|| 1 || Micrel MIC5319-3.3YD5 || SOT-23-5 || 2.9mm x 1.6mm || 3.3V || U2 || [http://www.digikey.de/product-detail/de/MIC5319-3.3YD5%20TR/576-1910-1-ND/1799517 1.89&euro;] || N/A || 3.3V LDO
|| 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 || FCI 20021121-00010T4LF || custom || 6.8mm x 6mm || &mdash; || ... || [http://www.digikey.de/product-detail/de/20021121-00010T4LF/609-3729-ND/2209075 1.00&euro;] || [http://de.mouser.com/ProductDetail/FCI/20021121-00010T4LF/?qs=oJs1R%252bxK6kTva5Su0CuB6g%3d%3d 0.52&euro;] || 5x2 SMD pin header (1.27mm pitch)
|| 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
-->
 
|-
|-
|| 1 || FCI 20021111-00010T4LF || custom || &mdash; || &mdash; || P1/P2 || [http://www.digikey.de/product-detail/de/20021111-00010T4LF/609-3712-ND/2209072 0.66&euro;] || [http://de.mouser.com/ProductDetail/FCI/20021111-00010T4LF/?qs=%2fha2pyFadug5qLbZ9z2ci%2fTjUM7AITCGO1cafk55nZhEq%252b0iFQt31y%2f99h8z8QRG 0.42&euro;] || 5x2 through-hole pin header (1.27mm pitch), soldered to the PCB (5 pins per side)
|| 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


|-
|-
|| 1 || FCI 20021311-00010T4LF || custom || &mdash; || &mdash; || &mdash; || [http://www.digikey.de/product-detail/de/20021311-00010T4LF/609-3754-ND/2209079 0.99&euro;] || [http://de.mouser.com/ProductDetail/FCI/20021311-00010T4LF/?qs=%2fha2pyFaduhY7txd7xCZHyqlTMKSj7DOXT7F8SKnNS3QPZpSMC9CyD3j5oh5%2fHMK 0.49&euro;] || 5x2 connector/receptacle (1.27mm pitch), used for the probe cable
|| 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


|-
|-
|| 5 || Resistor || 0402 || 0.25mm x 0.125mm || 2.2 || ... || ... || ... || ...
|| 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


|-
|-
|| 1 || Resistor || 0402 || 0.25mm x 0.125mm || 2.7 kΩ || ... || ... || ... || ...
|| 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 || Resistor || 0402 || 0.25mm x 0.125mm || 100 kΩ || ... || ... || ... || ...
|| 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.


|-
|-
|| 9 || Ceramic Capacitor || 0402 || 0.25mm x 0.125mm || 100nF || ... || ... || ... || ...
| colspan="9" bgcolor="#6699cc" | Optional parts / variants


|-
|-
|| 2 || Ceramic Capacitor || 0402 || 0.25mm x 0.125mm || 1uF || ... || [http://www.digikey.de/product-detail/de/GRM188F51A105ZA01D/490-1585-1-ND/587790 0.071&euro;] || [http://de.mouser.com/ProductDetail/Murata/GRM188F51A105ZA01D/?qs=Yy4AF3mnSetIIRYBPKwGDA%3d%3d 0.083&euro;] || ...
|| 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)


|-
|-
|| 3 || Ceramic Capacitor || 0402 || 0.25mm x 0.125mm || 2.2uF || ... || [http://www.digikey.de/product-detail/de/C1608Y5V1A225Z/445-3450-1-ND/1801549 0.11&euro;] || [http://de.mouser.com/ProductDetail/TDK/C1608Y5V1A225ZT/?qs=cdpe0LUyr8B7r4JcZK34gw%3d%3d 0.066&euro;] || ...
|| 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


|-
|-
|| 2 || Ceramic Capacitor || 0402 || 0.25mm x 0.125mm || 12pF || ... || ... || ... || ...
|| 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


|-
|-
|| 1 || LED || 0402 || 0.25mm x 0.125mm || &mdash; || ... || ... || ... || ...
|| 1 || Samtec SFSD-05-28-H-10.00-SR || custom || &mdash; || &mdash; || &mdash; || [https://www.digikey.de/product-detail/en/samtec-inc/SFSD-05-28-H-10.00-SR/SAM8668-ND/1785919 4.77&euro;] || &mdash; || Potential probe cable, needs some crimping


|}
|}


== Resources ==
'''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):
<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 110: Line 379:
* [http://www.cypress.com/documentation/technical-reference-manuals/ez-usb-technical-reference-manual EZ-USB Technical Reference Manual (TRM)] ([http://www.cypress.com/file/126446/download PDF])
* [http://www.cypress.com/documentation/technical-reference-manuals/ez-usb-technical-reference-manual EZ-USB Technical Reference Manual (TRM)] ([http://www.cypress.com/file/126446/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])
* [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://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