Skip to the content
4 layers62 × 49.8 mmIsoSwitch, the printed circuit board in 3D

Globally scalable mesh networking

Size
62 × 49.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
133
Nets
174
Pads
598
Tracks, vias
3,483, 360
Pours
8
Routed
Yes
KiCad
KiCad 4
Created
27 Dec 2018
Updated
1 Mar 2018

Overview

IsoSwitch is an open-source printed circuit board by lilltroll77, from the lilltroll77/IsoSwitch repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 62 × 49.8 mm with 133 parts on 174 nets, routed with 3,483 tracks and 360 vias.

It is built around the KSZ8081MNXCA, ST1S06PUR and 10118193-0001LF, with the 1206L110/6V, DSC6001CI2A-025.0000 and V5.5MLA0603H among its other parts. Its parts include 70 capacitors, 34 resistors, 9 ICs, 9 connectors and 2 inductors.

Main components

6

README

README.md

IsoSwitch.201802

IsoSwitch.201802 is a point-in-time release of the GPLv3-licensed source code and HW design for the CrowdSwitch product. Please do not use the CrowdSwitch name for anything networking related. The CrowdSwitch name is claimed by Travis and Lindsey Martin.

Status

This code is under active development; it's only being released to demonstrate our commitment to free/libre software. It's not ready for use as there are major missing features and missing tests. Please consider not judging the code quality until we declare a stable release :-)

This code is not yet useful as a switch: It only runs under an XMOS simulator.

CrowdSwitch

CrowdSwitch PCB Layout CrowdSwitch Top-Down Render
CrowdSwitch is an open hardware product built using the [IsoGrid](http://www.isogrid.org) protocol. When wired together they form a streaming, scalable, mesh network. The full hardware design files (i.e. mechanical drawings, schematics, bill of materials, PCB layout data) are included in this release.

Our initial plan is to give low cost (or free) CrowdSwitches to low income residents of extremely high-density urban communities. The best funding model still isn't clear, but we intend to build it within a 501(c)(3) organization to make our altruistic motives super clear.

  • 4-port auto-configuring switch
    • 3x RJ45 ~100 Mbps full-duplex ethernet PHY with 1ms worst-case switching latency
    • 1x RJ45 ~25 Mbps full-duplex Ethernet connection to an external controller PC or SoC with 8ms worst-case switching latency
  • The core of the switch is an xCORE-200 XL216-512-TQ128
  • Powered by Micro USB
  • Target BOM cost is ~$15.
  • External controller PC/SoC (~$9) with ~512MB of RAM, ~16GB of flash, and able to create a wireless hotspot

The Wi-Fi on the PC/SoC will be able to work in one of two modes:

  1. Providing Internet access to a user
  2. Connecting to a regular Wi-Fi Internet access point

The IsoGrid formed by the interconnected mesh of CrowdSwitches provides a redundant multi-path backbone to connect nodes operating in Mode (1) to nodes operating in Mode (2).

CrowdSwitch Perspective Render

Declaration & Dedication

text
Copyright (2017-2018) Travis J Martin
Copyright (2017) Lindsey A Martin

IsoSwitch.201802 is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3 as published
by the Free Software Foundation.

IsoSwitch.201802 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License version 3 for more details.

You should have received a copy of the GNU General Public License version 3
along with IsoSwitch.201802.  If not, see <http://www.gnu.org/licenses/>.

A) We, the undersigned contributors to IsoSwitch.201802, declare that our 
   contribution was created by us as individuals, on our own time, entirely for 
   altruistic reasons, with the expectation and desire that the Copyright for our 
   contribution would expire in the year 2038 and enter the public domain.
B) At the time when you first read this declaration, you are hereby granted a license
   to use IsoSwitch.201802 under the terms of the GNU General Public License, v3.
C) Additionally, for all uses of IsoSwitch.201802 after Jan 1st 2038, we hereby waive 
   all copyright and related or neighboring rights together with all associated claims
   and causes of action with respect to this work to the extent possible under law.
SignatureDeclarationsAcknowledgments
Travis J MartinA,B,C,D,EMy loving wife, Lindsey Ann Irwin Martin, for her incredible support on our journey!
Lindsey A MartinA,B,C,D,ETravis' spirit of thinking big, desire to help humanity, and much hard work that has made this project a reality.

Contribution Policy

Join our Slack team and ask us for ways you can help. Those of us working on the CrowdSwitch Project are only trying to do good; contributions that don't further the goals of the CrowdSwitch Project will be rejected. Non-trivial contributions should include the CrowdSwitch copyright/license declaration signed by the contributor. We'll consider pull requests without the declaration if the contribution is small enough to obviously avoid copyright/patent concerns. If you don't like the declaration, let us know why; perhaps we can work something out. Otherwise, feel free to fork it under the terms of the GPLv3 license.

Details

ComponentDescription
HMLM(Test)Prototype HashMatchLogMap route mapping algorithm
HWSchematic, PCB Layout in KiCad format. BoM in xlsx format
HW\DatasheetsArchived datasheets for select components
HW\SnapEdaSymbols and Footprints for some components, freely licensed by SnapEda
IsoSwitchC# implementation of an IsoGrid switch controller (bridging C# interfaces and ETH)
XMOS\
XMOS\EthPluginXSimulation plugin for Ethernet PHY in XMOS\IsoSwitch using named-pipes
XMOS\IsoSwitch16-core XMOS Firmware implementing the High-performance kernel of an IsoGrid switch

Build and Test

Common Instructions for Windows:

  • Install Visual Studio Community 2017 (C/C++) from here
  • Install XMOS's xTIMEcomposer Studio 14.3.2
  • Open xTIMEcomposer and open the Workspace at \XMOS
  • Build the \XMOS\IsoSwitch project in xTIMEcomposer
  • Open the CrowdSwitch.sln in Visual Studio
  • Rebuild the solution

Simulator-Only Test

  • Run IsoSwitchTest.UT1.SimpleStream from Test Explorer
    • It runs for 7-9 minutes

XCore-200 SliceKIT (proof-of-concept test)

  • You'll need an XCORE-200 SliceKIT
  • You'll need 3x Ethernet | XA-SK-E100 SliceCARDs
  • Plug the Ethernet SliceCARDs into Tile-1-Star, Tile-1-Triangle, and Tile-0-Triangle
  • Connect a crossover Ethernet cable between Tile-1-Triangle and Tile-0-Triangle
  • Connect an Ethernet cable between Tile-1-Star and your test PC
  • Build and install the ndisprot driver fork at: https://github.com/IsoGrid/NdisProtocol
  • Enable the IsoSwitch NDIS Protocol driver only on the one Ethernet port on your PC
  • run "net start ndisprot" from an elevated command prompt
  • Run IsoSwitchTest.UT1.SliceKitBringupTest from Test Explorer in the CrowdSwitch Visual Studio solution
    • It runs for 30 seconds

LICENSES

GPLv3: http://www.gnu.org/licenses/

  • IsoSwitch.201802

Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0

  • DamienG.Security.Cryptography

Parts

133
QtyValueFootprintReferences
29100nFCapacitors_SMD:C_0402C103, C104, C106, C108, C113, C114, C116, C118, C123, C124, C126, C128, C133, C134, C136, C138 +13
23100nFCapacitors_SMD:C_0201C5, C6, C70, C71, C72, C73, C74, C75, C76, C77, C78, C79, C102, C112, C122, C132 +7
1022uFCapacitors_SMD:C_0805C2, C4, C105, C107, C115, C117, C125, C127, C135, C137
91KResistors_SMD:R_0603R3, R103, R104, R113, R114, R123, R124, R133, R134
933RResistors_SMD:R_0603R9, R105, R106, R115, R116, R125, R126, R135, R136
62.2uFCapacitors_SMD:C_0603C7, C8, C101, C111, C121, C131
410KResistors_SMD:R_0603R102, R112, R122, R132
46.49KResistors_SMD:R_0603R101, R111, R121, R131
4FERRITE BEADInductors_SMD:L_0603FB101, FB111, FB121, FB131
4KSZ8081MNXHousings_DFN_QFN:QFN-32-1EP_5x5mm_Pitch0.5mmU10, U11, U12, U13
4RJ45_0RJ45_LINK-PP:RJ45_LINK-PPJ10, J11, J12, J13
2Connectors:1pinMount2, Mount3
218KResistors_SMD:R_0603R2, R4
23.3uHInductors_SMD:L_Taiyo-Yuden_NR-40xxL1, L2
24.7uFCapacitors_SMD:C_0805C1, C3
2ST1S06ST1S06:DFN6D_3x3mmU2, U3
110118193-0001LF10118193-0001LF:FCI_10118193-0001LFJ1
11206L110Fuse_Holders_and_Fuses:Fuse_SMD1206_ReflowF1
12.2KResistors_SMD:R_0603R6
12x10 Vertical PinPin_Headers:Pin_Header_Straight_2x10_Pitch2.54mmJ2
13.3KResistors_SMD:R_0603R10
14.7KResistors_SMD:R_0603R1
14.7RResistors_SMD:R_0201R8
147KResistors_SMD:R_0603R7
15.6KResistors_SMD:R_0603R5
1APX811-46UG-7TO_SOT_Packages_SMD:SOT-143U4
1COL_TPMeasurement_Points:Measurement_Point_Square-SMD-Pad_SmallJ9
1CRS_TPMeasurement_Points:Measurement_Point_Square-SMD-Pad_SmallJ8
1DSC6001CI2A-025.0000Oscillators:Oscillator_SMD_Abracon_ASE-4pin_3.2x2.5mmX1
1NCP303LSN10THousings_SSOP:TSOP-5_1.65x3.05mm_Pitch0.95mmU5
1NWAY_TPMeasurement_Points:Measurement_Point_Square-SMD-Pad_SmallJ7
1V5.5MLA0603HResistors_SMD:R_0603RV1
1XL216-512-TQ128_CHIP_VIEWHousings_QFP:TQFP-128_14x14mm_Pitch0.4mmU1

Similar boards

  • 2 layers96 × 74 mmMacroController, the printed circuit board in 3D

    MacroController

    alex1klimovich/nrf52840-macro-controller

    Custom nRF52840 productivity controller for digital artists — PCB, BLE/USB firmware, OLED, haptics, RGB, and enclosure CAD.

    78 parts1
  • 2 layers100 × 100 mmHdmilight v3, the printed circuit board in 3D

    Hdmilight v3

    esar/hdmilight-v3

    HDMI Light v3 - FPGA based Ambilight clone with direct HDMI input

    259 parts8GPL-2.0
  • 4 layers57.9 × 65.7 mmMacropad9key, the printed circuit board in 3D

    Macropad9key

    zlittell/Macro9PadHW

    [MSF] MacroPad with 9 Buttons

    83 parts
  • 4 layers60.8 × 64.8 mmLocketNfc, the printed circuit board in 3D

    LocketNfc

    Kreyl/LocketNFC

    Locket with BT & NFC

    166 parts
  • 4 layers115.5 × 14.4 mmMagicWand, the printed circuit board in 3D

    MagicWand

    Kreyl/MagicWand

    Hardware & firmware for magic wand

    86 parts
  • 4 layers70.8 × 108 mmCastor and Pollux, the printed circuit board in 3D

    Castor and Pollux

    wntrblm/Castor_and_Pollux

    A Juno-inspired dual oscillator

    235 parts587
  • 2 layers66.8 × 34 mmESP8266, the printed circuit board in 3D

    ESP8266

    MaloufSleep/ME-ESP8266

    Malouf Electronics - ESP8266 Dev Board

    127 parts204MIT

Questions

How big is the IsoSwitch PCB?

It measures 62 × 49.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the IsoSwitch use?

133 parts, built around the KSZ8081MNXCA, ST1S06PUR, 10118193-0001LF and 1206L110/6V. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the IsoSwitch KiCad files?

From the lilltroll77/IsoSwitch repository on GitHub, at the commit this page was made from: the board is HW/HW.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the IsoSwitch design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).