Skip to the content
PCBKitNew board
2 layers100.5 × 76 mmBitstream Evolution FilterBoard, the printed circuit board in 3D

Bitstream Evolution FilterBoard

manthelt/Bitstream-Evolution-FilterBoard

In short the signal generator was connected to the port where the FPGA signal is normally coming from and this is then connected to the ardunio nano through the PCB as normal.

Size
100.5 × 76 mm
Copper layers
2
Thickness
1.6 mm
Parts
8
Nets
58
Pads
66
Tracks, vias
24, 0
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
19 Apr 2024
Updated
22 Apr 2024

Overview

Bitstream Evolution FilterBoard is an open-source printed circuit board by manthelt, from the manthelt/Bitstream-Evolution-FilterBoard repository on GitHub. It is a 2-layer board of 100.5 × 76 mm with 8 parts on 58 nets, routed with 24 tracks and 0 vias.

Its parts include 6 connectors, 1 capacitor and 1 resistor.

README

README.md

Bitstream-Evolution-FilterBoard

Logan Manthey Spring 2023-2024

Table of Contents

Purpose

This board is a simple header board to be able to mount an FPGA, Ardunio Nano Microcontroller, and as ESPOtek Labador to it. This board also includes a basic passive low pass filter which will filter measurements on the ardunio to be more accurate to what we can accurately gather it will also ensure consistency with how we are gathering measurements as well. This PCB also allows us to test fit headers for future boards to build as well.

PCBRende:r
Populated PCB
PCBRende:r
Unpopulated PCB
PCBRende:r
PCB Render

Use

Scope

The following scope was used in this project. To find further documentation about both software and how to use the scope take a look at this link. EspoTek Link

Ardunio Nano

Given this board has some filtering on it there needs to be some slight modification to the ReadSignal.ino file that has been used in the past. These modifications include filtering out values which are outside of the range of testing. To start I had this value just at 10K so basically filtering out any values below 10K which would include both values beyond what the nano can read and some that the nano can read. This will ensure that the only values sent back to the computer will be accurate values. Further testing to adjust this value may be required and will be updated in later revisions. See the below section [Testing the Filter](### Testing the Filter) for more infomation about finding this value.

Filter

The filter used has a 160 ohm resistor and a 0.01 uF capacitor this gives a -3dB cutoff frequency of 99471.8394 Hz. In testing at 3.3 volts this will give us an accurate interrupt reading range on the ardunio of between 10kHz and 60Khz with only some aliasing around the 55kHz to 60Khz range. This is much better than not using as there will be aliasing anywhere above about 100kHz whereas this will simply just filter those values out. Though this is an extremly simple filter it will allow us to ensure that our measurements we are getting are in a certain measureable range while still maintaining affordability. During some initial testing of this I found that the max value we could accurately measure with the interrupt counter was at about 60Khz.

PCBRende:r
Bode Plot
PCBRende:r
Step Response

Testing the Filter

To test the filter the following configuration on the board was used.

PCBRende:r
Filter Testing Setup

In short the signal generator was connected to the port where the FPGA signal is normally coming from and this is then connected to the ardunio nano through the PCB as normal. The scope section was connected as normal as well to monitor the filter.

Results of the Filter Plus Software Modifications

BOM

PartQuanity
160 Ohm Resistor1
0.01 uF Capacitor1
10 Pin 2.54mm Female Header3
15 Pin 2.54 Female Header2

Future Work

Notes for Next Revisions

FPGA Header Placement

Due to measuring with a ruler the pin placement is less than ideal. Getting better measurements using a caliper instead should fix this in the next revision.

Through Hole Parts

I wasn't quite a fan of how the through hole parts fit with the footprints that I had. This isn't a huge issue but may want to fix for the next revision of this board.

Current Timeline

This board is a part of a series of more iterative and rapid prototyping boards rather than a complete all encompassing board. This is the first in that series which is meant to test the specifics of the pulse count experiment.

  • Revision 1
  • Revision 1.1
    • Fix FPGA Header Placement

Parts

8
QtyValueFootprintReferences
3Conn_01x10_FemaleConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ3, J4, J6
2Conn_01x15_FemaleConnector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_VerticalJ1, J2
10.01uCapacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mmC1
1160Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
1Conn_01x02_MaleConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ5

Questions

How big is the Bitstream Evolution FilterBoard PCB?

It measures 100.5 × 76 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bitstream Evolution FilterBoard use?

8 parts. 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 Bitstream Evolution FilterBoard KiCad files?

From the manthelt/Bitstream-Evolution-FilterBoard repository on GitHub, at the commit this page was made from: the board is Bitstream_Evolution_Filterboard/Bitstream_Evolution_Filterboard.kicad_pcb and its schematic Bitstream_Evolution_Filterboard/Bitstream_Evolution_Filterboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bitstream Evolution FilterBoard design in my own project?

Its repository states no licence, so its author keeps all rights: ask manthelt before reusing the design.

Similar boards

  • 2 layers20.5 × 24.8 mmPi interface, the printed circuit board in 3D

    Pi interface

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    8 parts3.7k
  • 2 layers59.9 × 25.7 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    8 parts1kGPL-3.0
  • 2 layers52 × 12.6 mmUSB, the printed circuit board in 3D

    USB

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    8 parts960Apache-2.0
  • 2 layers87.5 × 48.5 mm7 input macropad, the printed circuit board in 3D

    7 input macropad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    8 parts915
  • 2 layers36.2 × 63.1 mmPicoMemcard pico, the printed circuit board in 3D

    PicoMemcard pico

    dangiu/PicoMemcard

    Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico

    8 parts694GPL-3.0
  • 2 layers36 × 10 mmPCB4-PWR BTN Rev.A, the printed circuit board in 3D

    PCB4-PWR BTN Rev.A

    OLIMEX/DIY-LAPTOP

    Do It Yourself Open Source Hardware and Software Modular Hacker's Friendly Laptop

    8 parts578Apache-2.0