flexbv5-logo-transparent-900x

 

 

 

Preamble / The first things to know...

1 - Boardviews are NOT bundled with FlexBV

2 - FlexBV is NOT a subscription service

Understanding Boardviews and their usage

What is a boardview?

A boardview is a representation of the physical layout of a circuit board, as opposed to a schematic which is a representation of the logical design of a circuit. A boardview is a form of a CAD file.

A boardview is generally not a full design file; instead a boardview provides sufficient information to know where to locate a part on the board and what other parts it is connected to. A boardview often does not contain routing/trace or inner layer information.

At the very minimum, a boardview consists only of a list of pins/pads with the following information;

Board sidePosition x,yPart namePin NumberNetwork
Top/bottomPosition of the pinThe associated part that the pin belongs to (or testpad)1, A1, 3 etcPPBUS_G3H, GND etc

With only that simple amount of information a boardview can be constructed, often it's useful to have a board outline as well but it's not a necessity. Package outlines can be deduced/generated from the grouping of the pins with the same part.

Most of the Macbook brd files contain only this information (along with an outline), so when you look at the boardview, what you're seeing as parts/package-outlines has all been generated from a simple list of pins.

Beyond the fundamental data requirements for a boardview some formats additionally add pad and package outlines (such as Teboview and GenCAD) and additionally some contain part data (value, ratings, manufacturer ID).

How a Boardview works with a Schematic ?

For a very long time we only needed to rely on a schematic together with the physical board that we needed to repair, because the PCB was the boardview in real life; PCBs had the part names printed by the parts which enabled you to cross-reference with the schematic ( and sometimes the schematic would help locating parts using a coarse grid coordinate system ).

With modern surface mount boards and extremely high part densities it has become impractical to rely on the physical PCB as the real-life boardview; parts are too small and there's no space to print the part names; this is now where boardview files and software have become a necessity - without them there's no way to know where R7002 is on a board or to know what part it was that has burned out on the board that you need to replace, even if you have a schematic.

Bringing the boardview together with the schematic allows us to now know the name of parts at a given location, and know the location of parts in the schematic. FlexBV ties together the boardview and schematic so that you can cross reference between them with out having to manually copy-paste/search, saving a lot of time and frustration.

Having a boardview lets you see all the other parts on the board that are connected to the same network/rail.

Having a boardview lets you see what other parts are in the same region as a damaged area on the board.

Screenshot at 2024-02-11 21-58-54

Recommended file organisation

For the optimal utilisation of FlexBV, it's recommended that you store boardview files in a one-per-folder configuration so that all associated files / data for the board are contained in a single location.

As an example; if you have a Macbook board 820-00165.brd file, store it in a location such as;

c:\boards\macbooks\820-00165

within this folder associated files will be contained without risk of conflict of other boards.

Name the schematic PDF the same as the boardfile and FlexBV will automatically load this with the BRD without requiring any additional intervention.

It's strongly recommended that you strip away any excess characters/naming of the boardview file so that the name of the file reflects the board file ID explicitly; ie, instead of J113 820-00165_vina.brd rename it to be 820-00165.brd, this will make the automatic searching of the board on Openboarddata simpler with more chances of success of finding a match ( see https://openboarddata.org for a list of currently supported boards )

After use, a board file folder will look similar to the following;

An organisation tree structure similar to below is strongly suggested;

 

ExtensionDescription
brd, tvw, fz, cad, bvr, pcbBoardview actual CAD type file
pdfSchematic of boardview
sqlite3Configuration and metadata for the boardview file. Contains annotations.
*-top.jpg, *-bottom.jpgTop and bottom board images
obdataOpenBoardData file, usually downloaded via FlexBV from openboarddata.org, contains repair guides, component values and diode/volt measurements
obdlocalLocal version of obdata file, this is loaded and overlaid after the main obdata file
obdlogA log of all the data submissions created
obdqContains new obdata measurements pending to be sent to the server

Starting FlexBV

Initially loading FlexBV will result in a blank starting display

Screenshot at 2024-02-11 14-22-29

At the bottom left you should see your licenced details and the current version

Menubar icons

menubar-explanation

Loading a Boardview

 

Use File>Open or select an existing board from the history list.

For the purpose of demonstration, we'll load the Macbook A1466 820-00165 logic board which is well documented and also has OBData support.

a1466-initial-load

The FlexBV boardview window is on the left, the schematic on the right.

You can manipulate the position of the board using;

Board Preferences

Board>Preferences

Schematic file

Selecting the schematic for the board file is normally automatic if you follow the file organisation layout recommendation. If FlexBV does not find a matching schematic automatically you can manually select one using the Select button.

boardpreferences-start

OpenBoardData (OBData) configuration / board selection

Search for board code

Type in the board code in the Search String : field and press the Search Server button. NOTE It's important that you use the minimum / cleanest board code. For a list of currently submitted boards check the OBData site at https://openboarddata.org

 

boardpreferences-search-server

 

Select match

The server will respond with a list of possible matches for the search string. If there are no matches check manually at the OBData server site.

####

boardpreferences-searchresults

Download OBData

Select the board that matches your file and then click Download Data

boardpreferences-downloaddata

If the data download is successful you should see the Net data lists populated and also perhaps the component data lists. You can also check on the info panel (right side bar) to see if there are any repair solutions added.

 

boardpreferences-alldone

 

 

Part hover

Moving the mouse pointer over a part will bring up a tooltip indicating the part name and possible information about the part

a1466-part-hover

Pin Hover

Moving the mouse over a pin of a part will bring up details about the pin in the part and any associated OBData information ( in this case the expected diode mode value of the net and the normal running voltage)

a1466-pin-hover

Selecting a pin (network)

Clicking on a pin in a part will select the pin and all other parts connected to the same network. Lines will be drawn to all the other parts on the board sides allowing for quick and easy examination of where the network is present on the board

1466-pin-clicked-showing-netweb

Pin/Part Context Menu

Depending on the configuration of 'Program Preferences>Mouse Keyboard Preferences' a context menu will be available either via right-clicking the mouse, or ctrl-right-clicking.

The context menu provides schematic search options for the net and/or part as well as an expansion of the OBData (if present) and part and/or pin(network) data.

Annotations can also be added

a1466-part-pin-context-menu

 

Find part in schematic from boardview

To locate the part on the schematic from the boardview, right-click the mouse while hovered over the blank inner body of the part

a1466-right-click-on-part

 

Find network in schematic from boardview

To locate the network on the schematic from the boardview, right-click on the mouse while hovered over the specific pin of the part

a1466-right-click-on-pin

 

Find part in boardview from schematic

Right click on the part name in the schematic, it will momentarily turn inverted-background and the boardview will update to show the part as a selected item

a1466-find-part-from-schematic

 

Find network in boardview from schematic

Right click on the network name in the schematic, it will momentarily turn inverted-background around the name and the boardview will update to show the selected net

a1466-search-net-from-schematic

Mini Map

The MiniMap provides a world view of the currently loaded board, making it easier to track your current position on the board as well as giving the ability for fast navigation by jumping to the clicked location, panning, or zooming.

It may be a small feature but it's big in helping you navigate your way.

MiniMap has adjustable parameters located in Preferences and Colour Preferences

  

 

View Menu

 

Menu entryPurpose
Butterfly ModeIf enabled, show both sides of the board concurrently ( paid version only )
Mirror BoardFor some boards the data is seemingly backwards; use this function to mirror the board
Show Info PanelIf enabled, shows the right hand side information panel
Net webIf enabled, clicking on a pad will draw lines to all other parts on the board on the same network (GND excluded)
Layers 
AnnotationsIf enabled, annotations will be shown on the board
OutlineBoard outline, single width line
Board ImagesIf there are board images assigned ( see Board>Preferences ) they will be shown
PinsIf enabled, draw pins
OBData CoverageIf enabled, all pins/nets with OBData values will be highlighted ( mostly used for when capturing OBData to let you see the areas you still need to work on)
Pin Net NamesIf enabled, show the network names of the pins
Hidden PartsIf enabled, ignore the hidden part attribute of a part and display
Parts (generated)For board files such as Testlink BRD there are no part outlines, instead the outlines are generated - display these
Parts (from file)With formats such as GenCAD and Teboview, parts often have defined outlines - display these
Part NamesDisplay the name of the parts
Part Value/MetadataIf available, part values and metadata will be shown (ie 1uF 16V), this data is sometimes integrated with a file, fz and Teboview commonly do
Overlay(not currently applicable)
Board fillFill the board outline with a fixed flood colour ( see Settings>Color Preferences )
Part fillFill the part outline with a fixed flood colour ( parts can be assigned different colours based on their naming, see Settings>Colour Preferences)
Part outlineDraw part outline from file
Part hullThe part hull is the outline that forms the minimum area around all the pins
Pin fillFill the pins with a fixed colour
Silkscreen(paid version) if the boardfile has a silkscreen layer enable it ( currently Teboview only )

Searching

Search for component / network (ctrl-f)

One of those most common operations, is searching for a part name, or a network name

Bringing up the search dialog the number of search fields is set in Settings>Program Preferences>FlexBV Preferences>Search Columns

Start typing in the component (or net) name that you're searching for, and FlexBV will begin to build a list of possible matches

NOTE: Network searches from the search dialog or PDF search prioritise testpoints as the nucleation point for the netweb.

search-partial-match

Clicking Search will result in all current list items being added to the selected parts/nets list, or you can complete the search selection refined down to the specific part;

part-search-u3510

search-pp3v42-strict

Search controls

ControlPurpose
Search button (or Enter)commit the search process and load the matching parts to the selected list
Reset buttonclear all the current search fields
Exitbutton (or esc)Close the search window
Components (checkbox)Search the board components
Nets (checkbox)Search the board networks
Search modes 
SubstringMatches the field contents to any portion of a name
PrefixLeft aligned match of a name
Strict/WholeMatch only the complete name

 

Part Finder

The part finder feature allows you to search through a collection of schematics looking for a specific part that you require which may be present on another board that you have on hand. This feature was originally created to reduce the number of Macbook boards required to keep on hand.

Search>Part Find

partfind-initial

FieldDescriptionDefault
PDF Collection FolderThe folder which is the root/main folder under which all your schematics are kept that you wish to search throughN/A
Folder Search DepthHow many levels of recursion from the root/main folder the Part Find tool will dive3
Search String [A,B,C]The text portion you're trying to locate 
Search Mode: Left AlignPartial match but must be from the first character 
Search Mode: StrictText must match precisely, including length 
Search Mode: SubstringText can be located anywhere within the a word (ie, 'foo' will match with 'somefoobar') 
Detection RadiusIf searching for multiple strings, the hits must all occur within the detection radius (pts)50

Pressing the search button will begin the process of examining the available schematics

partfind-start-search

As matches are found the successfully matched schematics will be listed

partfind-hits-found

The search can be stopped at any time by pressing the Stop Search button

Clicking on any of the "HIT" schematics will result in a separate window opening with the schematic and the first search hit highlighted; if there is a matching boardview file this will additionally be opened in a separate window independent of your search instance.

NOTE: The part is not highlighted in the boardview because the search is for a component type/name and there's no way of correlating the respective board part number from this information, however with the component highlighted in the schematic you can right-click on the associated part name and it will be highlighted in the boardview.

partfind-hit-clicked

More complex searches are useful for finding parts with multiple parameters needing to be matched

Searching for a 1uF 16V 0201 size capacitor; we break this down in to 1uF, 16V, and 201 (substring). The reason for the separation of the attributes is because they're frequently listed as separate blocks of text around the component, as opposed to a single line.

Sometimes you will have to adjust how you utilise the paramters and perhaps tighten down the detection radius to avoid false positives; it's a bit of an artform but it can save you a lot of time and a lot of money.

partfind-compound-search

partfind-compound-search-hit

 

 

Settings

Program Preferences

Settings>Program Preferences

Screenshot at 2024-02-11 15-23-12

FlexBV Preferences

SettingTypeDescriptionDefault
Boardview|Schematic SplitPercentageSets the desired horizontal display space split between the boardview and the schematic viewer when the BV|Schem split button is pressed on the menu bar60
Height%PercentageSets the desired height percentage of the display to utilise. Due to the SDL2 engine and the varying OS window managers, it's not a guaranteed value; "best attempt"99
Window SizePixelsFlexBV boardview width x height in pixels when started 
OriginPixelsWhere on the display to place the top left corner of the FlexBV window 
[Get current size and position]ButtonWhen clicked the current window size and position will be stored as the startup values (Window Size, Origin) 
Font SizePixels (height)Pixel (height) size of the baseline font size20
Side Panel font size offsetintegerindex size difference from the [Font Size] to use for the sidebar text.

FlexBV preloads a number of font sizes starting from 8px to provide the required text zoom in/out ranges.

This offset size represents the index difference between the Font Size index and the one to be used for the side bar. Lower index = smaller font.
-1
Screen DPIdpiStandard baseline DPI is 96dpi, you can use this value to effectively scale all the text and spacing of the program (ie, 200dpi on 96dpi display will result in larger objects)96
Zoom step Percentage change of the zoom level per click/step3
Zoom modifer Multiplier of Zoom step for when ctrl+click used5
Panning step coordinate change per step (using keyboard control)60
Panning modifier Multiplier of panning step when using shift5
Flip Mode When using the mouse middle-click to flip the board, this mode determines the flip origin.

* mouse: flip around the current mouse pointer position

*viewport: flip entire viewport
Mouse pointer
Part Search Zoom  20
Net Search Zoom  5
Search Columns How many search fields are present with the search dialog.
In the older days we used to utilise 2~4 columns but due to improvements of the boardview rendering and netwebs this has become less required and 1~2 is more functional
2
Center Search ResultscheckboxShift the display to centralise the search resultsenabled
Zoom Search ResultscheckboxAdjust the zoom of the board to maximise the area used for showing the search resultsdisabled
Show Info PanelcheckboxIf enabled, show the right hand side information panelenabled
*Show Net WebcheckboxIf enabled, draw lines from a given pad to all other pads that are on the same net. GND pads are ignored for thisenabled
Web thicknesspxPixel width of the lines used to draw the Net Web1
*Show FPScheckboxShow the current frames-per-second rate of FlexBVdisabled
*Fill PinscheckboxIf enabled, pins will be filledenabled
*Fill PartscheckboxIf enabled, parts will be filledenabled
*Fill BoardcheckboxIf enabled, board will be filled (if no outline present then the minimum-bounding-box will be filled)enabled

PDF / Schematic viewer Preferences

SettingTypeDescriptionDefault
Schematic viewerfixedpath of the binary used for viewing the schematics ( this cannot be changed, it is only for reference ) 
Window sizecoordinatesRequested width and height of schematic viewer when launched 
OrigincoordinatesRequested top-left corner of schematic viewer when launched 
[Use current position and size]buttonWhen clicked the current position and size of the schematic viewer will be queried and stored as the default value 
Scroll for ZoomcheckboxIf enabled, the scroll wheel / functionality will be used for zooming (otherwise it'll be used for page scrolling)disabled
Colour invertcheckboxIf enabled the schematic viewer will start with inverted colouring / high-contrastdisabled
Raise/Focus FlexBV on searchcheckboxIf enabled, when a net/part is clicked in the schematic viewer, a raise request will be issued to FlexBV. NOTE: This unfortunately rarely works now because of the increased level of lockdown from window management systems preventing internal window manipulationdisabled
Highlight ModeselectionIf "filled", search hits will be solid filledFilled
Raise/Focus PDF on searchcheckboxIf enabled, when a net/part is clicked to schematic-search in the boardviewer, a raise request will be issued to the schematic viewer. NOTE: This unfortunately rarely works now because of the increased level of lockdown from window management systems preventing internal window manipulationdisabled
Use search heuristicscheckboxIf enabled the schematic viewer will try search trimmed variations of the net/part name.enabled
Debug modecheckboxIf enabled, schematic viewer will generate a log filedisabled
Path for PDF part searching collectionpathThe Search>PartFind feature requires a root path of where to begin searching recursively through schematics to find parts 

 

Keyboard / Mouse preferences

 

SettingTypeDescriptionDefault
Right Click BehaviourselectionContext Menu: Right clicking brings up the context menu
Search Schematic: Right click searches the schematic for the currently hovered part or net
Search Schematic
Right Click ModifierselectionSelect the suitable key binding to be associated with the alternative right click behaviourCtrl

 

Multimeter preferences

 

SettingTypeDescriptionDefault
Multimeter Data FolderPathFlexBV looks for the mmdata.txt file to acquire the data from the multimeter in this folder 
Poll frames delayintegerHow many FlexBV frames rendered before checking for mmdata.txt again15 (~0.25 seconds)
Averaging sampling sizeintegerHow many data samples to average ( sliding window ) for calculated value3
Font size multiplierintegerFont size increase over the standard FlexBV font size for the multimeter value display4
OK TextcolourText colour used to indicate that the value from the multimeter is stable/ok 
OK BackgroundcolourBackground colour used with OK Text 
Unstable TextcolourText colour used to indicate that the value from the multimeter is not yet stable 
Unstable BackgroundcolourBackground colour used with Unstable Text 
Submission Flash CountintegerHow many times the multimeter text will alternate between OK and flash colour. Submission flashing is used so that you can determine from your peripheral vision if the OBData submission has been successfully accepted3
Submission Flash (colour)colourBackground colour to use for the flashing 
[Test Flashing] Use this button to test how the flashing will appear ( flash count + colour ) 

Part Data Display preferences

SettingTypeDescriptionDefault
Display data if NoStuffcheckboxIf enabled, part data will still be displayed when hovered even though the part will not be visually presentdisabled
Display part value/codecheckboxIf enabled, part data will be displayedenabled
Font size offset for part dataptpt size count change from main font-4

Pin Data Display preferences

SettingTypeDescriptionDefault
Display on NC pinscheckboxDisplay network name on NC pins (usually no reason to)disabled
Display diode valuecheckboxDisplay OBData diode value for net on pinenabled
Display voltage valuecheckboxDisplay OBData voltage value for net on pinenabled
Display resistance valuecheckboxDisplay OBData resistance value for net on pinenabled
Show pin name/number at radiusinteger/pxMinimum pixel pin diameter/size before showing pin name/number ( A1 / 1 etc )9
Show pin OBData at radiusinteger/pxMinimum pixel pin diameter/size before showing OBData text15
Show pin Net name at radiusinteger/pxMinimum pixel pin diameter/size before showing Network name30
Font size offset for OBDatainteger/ptFont size difference relative to main font for OBData text1
Font size offset for Net nameinteger/ptFont size difference relative to main font for Network name-2
Pin Name/Number colourcolourText colour for pin name/number 
BackgroundcolourBackground colour for pin name/number 
Show OBData only if selectedcheckboxIf enabled, OBData is only shown if pin/net is selecteddisabled
OBData text colourcolourText colour for OBData 
(OBData text) BackgroundcolourBackground colour for OBData text 
Show Network name only if selectedcheckboxIf enabled, Network name is only shown if pin/net selecteddisabled
Network name text colourcolourText colour for network name 
(Network name) BackgroundcolourBackground colour for network name text 
Background paddingpxpadding distance around text for background4
Background corner radiuspxcorner radius for background3

OpenBoardData preferences

Do not change these values unless you have a very specific reason to do so

SettingTypeDescriptionDefault
ServerURLOpenboarddata serveropenboarddata.org
PathURLSpecific page on OBData server to useobd.php
PortintegerServer port443
Check server if no local filecheckboxIf there's no local .obdata file, check the server to see if there's a matching boardfile obdataenabled
Check server when board is loadedcheckboxCheck the OBData server for new data each time the board is loadedenabled

Jobs preferences

SettingTypeDescriptionDefault
Folder/Path for jobspathLocation of where the jobs database will be created/found( created on installation)
Default Tech NametextName of the technician who will be creating the jobs ( for autofill ) 
Default Tech EmailtextEmail address of the technician ( for autofill ) 

Grids, Origins and overlay preferences

SettingTypeDescriptionDefault
Display GridcheckboxIf enabled, creates a 1"/0.1" Major/minor dot grid over the boardviewenabled
Display OrigincheckboxIf enabled, displays an origin marker for the boardenabled
Display Board SidecheckboxIf enabled, displays a top/bottom, primary/secondary label for the boardview.
The primary/secondary refers to the butterfly status
enabled
Display Ghost Cursor (5.0386+)checkboxIf enabled, a ring cursor will be displayed on the opposing side of the board indicating the same board position as the main cursor

Colour, diameter, thickness, fill set in theme colour preferences.
enabled
Display Zoom Ring (5.0386+)checkboxIf enabled, when a part is selected via PDF or infopane search a collapsing ring will be displayed to assist in visually locating the item ( useful for areas with dense part packing or if zoomed out ).

Colour is the same as the Pin Halo
enabled

MiniMap

SettingTypeDescriptionDefault
Display MiniMapcheckboxIf enabled, display a minimap on the boardview window, or floating windowenabled (v5.0418+)
Widthnumber sliderSet the width of the minimap in pixels. The height of the minimap will be calculated based on the board size and orienation300(px)
Positionradio checkboxSelects the preferred position of the minimap on the boardview canvas area.

Selecting "Floating" will allow you to move the minimap to anywhere in the FlexBV5 application but it will not change position even if you resize the application
 
  See Colour Preferences for more options for the MiniMap feature 

 

Debugging preferences

SettingTypeDescriptionDefault
OBDatacheckboxIf enabled, OBData parsing will be logged to the FlexBV logfiledisabled
ImGuicheckboxIf enabled, the ImGui debugging console dialog will be enableddisabled

 

Colour Preferences

FlexBV supports theme files. The location of the files can be found by inspecting Help>About>Theme Path. By default four (4) themes are generated initially

 

To create your own theme you can copy one of the existing files (*.fbvtheme) to a new name in the theme folder and FlexBV will automatically detect its availability

NOTE: Adjusting the colours of the theme modify the theme file immediately

Exporting Files

FlexBV currently supports exporting any loaded boardview file in to the following formats

SVG Export

File->Export SVG

While not used as an actual boardviewing format, exporting to SVG is useful for other purposes perhaps such as CAM/CAD work and presentations or task/job specific diagram work.

The exported SVG is grouped as follows;

 

 

BVR3 Export

File->Export BVR3

 

Supported File Formats

FormatExtension(s)DescriptionOutlinesPad/Part shapesComponent/Net data
Testlink BRD (Landrex)brdDefacto Macbook boardview file format. Only provides board outline (usually) and pin:part:network associations.
* No pad or part outlines
* No network/part data
yesnono
TeboviewtvwLenovo laptops and graphics cards commonly use this format
yesyesyes
GenCADcadBecoming a more popular export format from EDA suites. Plain text and documented which makes it favourable as a portable formatyesyesno
AsusFZfzEncoded format used for a lot of ASUS boards.yesnoyes
ASCFile     
CST     
FAB     
Hyperion     
OBD     
ADFile     
BDV     
CADFile     

Configuration Paths and Files

...to be filled.

Logging

FlexBV provides an internal logging service and you can submit your log files for analysis if you are having issues

Use Help>View Log To inspect the current (live) log file. The log file is overwritten with each new session of FlexBV.

Click the [Submit Log] button to upload the log for analysis. Support will receive notification that the log file has been uploaded. It is recommended that you also send an email to pldaniels@gmail.com with details about your situation/fault.

submit-log

 

END OF MANUAL