Mind Chasers Inc.
Mind Chasers Inc.

Open Source Network Security, Programming, and Hardware Design

Private Island / FPGA :

A summary of various Cyclone 10 GX features relevant to the Private Island open source project
We review a new FMC expander prototype that we recently designed & built for the Intel Cyclone 10 GX FPGA Development Kit.
We examine the fields within an Ethernet packet and discuss how they are processed by an open source FPGA network processor.
We build the RISC-V software tools from their Git repositories and create & verify assembly instructions against the open source ISA specification for an RV32IM core.
A high level overview of the usage and configuration of the ECP5UM DCU (PCS/SERDES) for Private Island Open Source Project
Overview of the Private Island project for networking including highlights, goals, and a brief description of the development board.
We document our findings while ramping up with the Efinix Efinity FPGA toolchain for their Trion architecture using a Trion T20 BGA256 Development Kit on Ubuntu Linux 18.04
I2C Lab Exercise with Private Island, Open Source FPGA Network Processor using Reveal Inserter and Analyzer
A summary and concise reference of ECP5UM features and capabilities as applied to the Private Island open source project
Working towards a port of our open source networking project for the Lattice ECP5UM with Yosys on Ubuntu
We review use of Git with Lattice Diamond for ECP5 FPGA development on Windows 10 using the Private Island open-source network processor.
Architecture and Code Description for the Private Island Open Source, FPGA-based Network Processor
A description of the open source Verilog source for a SPI Slave implementation used on the Private Island Network Processor Project
Use a Serial Peripheral Interface (SPI) Bus to access internal FPGA memory including Ethernet packets
Documentation of FPGA'S memory and register interface

Hardware / Darsena / Shields :

Darsena FPGA Development Board for Open Source FPGA-Based Network Security Project
A quick start guide for working with Darsena, the Private Island development board for FPGA-based open source networking
A review of configurations and connector choices for systems that are compatible with an Arduino form factor.
An overview on our plans to offer M.2 shields for Darsena for WiFi and SSD expansion
Gigabit data rate shields using standard 100-mil connectors for Arduino form-factor boards including Darsena. Our new SMA Shield design now released as open source.
This article describes the demonstration of an open source, FPGA-based Ethernet networking project shown at the Bay Area Maker Faire 2019 in Samtec's booth.
We review the design and PCB fabrication of our new GigE Ethernet Shield for our FPGA-based development board
A review of the Arduino UNO and MEGA Power Circuitry and PCB Layout
Take control of your network and obtain unprecedented visibility with this FPGA-based network processor and dual Gigabit Ethernet.

Circuit Design:

We review issues that we have had with stencil design, paste transfer, and cleaning including a new stencil cleaning chemistry that we're using that is providing great results.
BTC packages with thermal pads present a myriad of challenges. A recent approach to BTC PCB land pattern design is the use of an SMD Window. This article shows the construction of such a land pattern and results after reflow.
An analysis of pattern recognition's dependence on search window size and error minimization during a pick & place operation with a 7 mm2 QFN device is discussed.


The Serial Gigabit Media Independent Interface (SGMII) is a popular Gigabit Ethernet PHY interface, and it holds various advantages over both GMII and RGMII. This article reviews some of the core SGMII concepts with the help of a scope and lab bench examples.
A review of Ethernet Management Bus basics, architecture, and design with the aid of oscilloscope screen shots for FPGA-based open source networking project

Debug / OpenOCD / FTDI:

We show how to build OpenOCD from source on Windows 10 using a Cygwin environment. The JTAG controller is an FTDI FT2232H on our Darsena development board for network security.
Example Python code is provided to perform basic remote operations with a Rohde and Schwarz RTO1044 Oscilloscope including waveform capture, display, and FFT.
We review the steps necessary to use OpenOCD with Darsena on Linux. Also, we build OpenOCD from source using its Git repo and run it on an Ubuntu 16.04 system making use of an Eclipse-based IDE.
Although a Lattice programming cable is relatively low cost, there is an even lower cost option available: FTDI FT2232H Mini Module. This tiny module is available for approximately $20 from distributors like Digi-Key and Mouser, and it can be used directly as a programming adapter for Lattice devices (and others) by following the setup described in this article.

System / Linux / Networking:

Various Notes on Using and Managing a Linux System from the Command Line
A brief review of cloning, building, debugging, and experimenting with the master branch of the OpenSSL project. Includes stepping into the crypto library with GDB.
We build Squid Version 5 from source (Git) on Ubuntu Linux and show some basic examples on how to use it.
We show how to checkout, configure, build, and setup a local Apache HTTP Server on Ubuntu 18.04 along with configuring it to work as a smart HTTP Git server.
Clone, build, and configure PostgreSQL Master Branch (13+) on Ubuntu Linux 18.04 and use C language or Python to interact with a basic database via the libpq library
A Step-by-Step cookbook to install Apache and Django using WSGI on Ubuntu Linux
Review of steps to create a local Git repo and clone it into a bare, centralized Git repo (git clone --bare)
Bare metal / no-stack implementation of ICMP ECHO ( ping ) based on insight from the implementation of ping on Linux
A brief summary of getting started with cgit on Ubuntu Linux along with debugging a segfault we encountered
We review some options and examples for use of tcpdump in network testing and probing.
Iptables enables the blocking & logging of network traffic entering, exiting, or being forwarded across a Linux CPU. This article discusses its configuration and application to protecting surveillance cameras.
Various Notes and Examples for Using and Managing a Network from the Linux Command Line
We show the steps to configure a proxy using macOS System Preferences Panel
Use public key authentication (asymmetric encryption) to automate your SSH login on LInux and macOS
Article discusses a Python3 redirector for Squid for the purpose of filtering content. Example provides a starting point for developing a full content filter / ad blocker
Configure a Linux host to act as a DHCP server and assign known IP addressees to the nodes on your network. Configuration and debug tips are provided for both Ubuntu 18.04 and Yocto systems.
Article discusses using Python with sockets to create and deploy a honey pot for the purpose of detecting malicious activity on a network. A sample Python 3 script is provided.
For some Python packages, we prefer to work with the Git repos in the cloud, but there can be some issues in setting it up.
Use Java to determine whether another host is present and responsive on a network. Two approaches are provided: low level and layer 4, connection oriented. The lower level approach will result in a ping if used with the right permissions.
Each working command and option presented during Pablo's talk is executed on a live Linux embedded system
A high level overview of a home or small business network utilizing a Linux server to perform functions such as filtering, reporting, intrusion detection, management, and segmentation.
Brief writeup on mounting an ISO image locally without having to burn it to CD


We provide a simple Python script and examples to model and visualize square and triangle waves with applications to circuit design and test.
A discussion and example of the use of Python3 and the http.server library to create a simple web server / framework / application for development and testing

Privacy Related :

Federal Government Cybersecurity resources for Vulnerability Databases, Internet Crimes, Cyber Attacks by Foreign Governments, Legal Wire Tapping, and more.
Big Tech has had a long history of spying on us. It's in their DNA. If you have your doubts, then review this list of recent evidence.
We must stop trusting our private data to untrustworthy devices. This predicament requires us to call for fully open systems including its underlying hardware.
Testing shows that Don't Track doesn't work. However, identifying tracking sites and blocking them does...

Vision Related :

Two simple C/C++ programs are provided that generate and display an 8-bit RAW pixel test pattern. The display program makes use of the OpenCV 4 library.
This article reviews building a simple OpenCV 4 video playback application using the OpenCV Git repos with Ubuntu Linux 20.04.

Web Design:

Here's a way to have multiple HTML buttons call discrete functions on a Web Server with a single Javascript handler. We also show how to handle the call when using the Django Web framework.
Using a script embedded in the page and the developer console, we review the use of objects, prototypes, and constructors to achieve inheritance.
Brief review of the use of the Javascript undefined and null primitives using the Debugger Console and ad blocking as an example


Techniques to accelerate development with the Linux Kernel and related when working with the Yocto Project and an NXP i.MX8 EVK system.
We show how to build the latest NXP Yocto BSP for the NXP MCIMX8M-EVK evaluation kit for the i.MX 8MQuad processor
Summary of steps used to install and boot an embedded Linux image on a T1040RDB. Image was built with Yocto Project 2.7 using mainline Linux 5.0 kernel and our custom layer.
We show an example of the use of DNF package manager along with supporting notes with our Yocto-built T1040RDB development board.

Other / Miscellaneous:

Tables and a python script to make life a little easier in converting board designs to all metric (mm)
Using the Windows Control Panel, we configure a static IP address for our PC.
We review settings for configuring Eclipse CDT to work with Matlab Engine on Ubuntu Linux.
Review of recovering an Apple iPad Air from Activation Lock with the help of Apple.
Review of how cloud based email accounts are being hacked and what you can do to prevent it
Discussion on why you shouldn't use the same username and password across the Internet and how to manage and keep secret a large set of unique usernames and passwords.

Your IP address is

previous month
next month