Skip to the content
PCBKitNew board
2 layers42 × 65 mmDash pcb, the printed circuit board in 3D

Einstein Motorsport dashboard

Size
42 × 65 mm
Copper layers
2
Thickness
1.6 mm
Parts
79
Nets
61
Pads
222
Tracks, vias
411, 38
Pours
5
Routed
Yes
KiCad
KiCad 4
Created
17 Apr 2018
Updated
21 Jul 2018

Overview

Dash pcb is an open-source printed circuit board by tpwrules, from the tpwrules/emdash repository on GitHub. It is a 2-layer board of 42 × 65 mm with 79 parts on 61 nets, routed with 411 tracks and 38 vias.

It is built around the LPC11C24FBD48/301, TPS62175DQC and PESD1CAN-U, with the SMLJ22A-Q and SS14 among its other parts. Its parts include 17 capacitors, 12 resistors, 4 connectors, 3 ICs and 3 diodes. It belongs with the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

5

README

README.md

Installation Instructions

The code can be built both for an included Mac/Windows/Linux simulator and the LPC11C24 ARM microcontroller. Please follow these directions carefully to learn how to build the code. I assume you have a basic knowledge of command line operation.

Building the Base

Building the base covers downloading the code and installing Python. Python is required to build the various data files.

Installing Git

The Git source control system is used to hold the code. You must install the Git client in order to download the code correctly.

  • Download and install Git for your operating system from https://git-scm.com/downloads.
    • for the Windows installer, the default options are fine
  • Clone the source code
    • open a command prompt and change to the directory you want the source to be downloaded to
    • execute git clone https://github.com/tpwrules/emdash to get the code
Installing Python

The Python scripting language is used to build data files and run the simulator. These directions have been tested with Python 3.6.6. They will most likely work with 3.5 and 3.6. Python 3.7 is not yet supported.

  • Download and install the latest version of Python 3.6 for your operating system from https://www.python.org/downloads/
    • For the Windows installer, you must check "Add Python to Path" on the first page
    • Otherwise, the default options are fine
Installing Python Packages

Some Python packages are required to build the data files and run the simulator. Fortunately, Python makes them easy to install.

  • Open up a command prompt.
  • Run the command python3 -m pip install pypng or py -3 -m pip install pypng (on Windows)
  • If python isn't found, close and re-open the command prompt.
Testing the Base

Now that the base has been prepared, it's time to test to make sure it works.

  • Open a command prompt
  • Change directories to the dashboard directory within the downloaded code
    • Hint: you can drag that folder into the command prompt instead of typing out its location
  • Run the command build_src_gen.py. If you see the message SOURCE GENERATED SUCCESSFULLY, the base has been successfully built!

Building for LPC11C24

Building for LPC11C24 requires a working install of the base. It does not require the simulator. I use the free MCUXpresso IDE for development on the LPC11C24. You must install it and import the project in order to deploy the code onto the chip.

Installing MCUXpresso

You can download the MCUXpresso 10.1.1 installer from here. Click the Download button, log in with an NXP account (required), then select 10.1.1 under the Previous tab. Version 10.2 seems to be broken, so don't use it.

Run the installer using all the default options. Make a workspace in your favorite place.

Importing the code

Now that the projects are downloaded, they can be imported into MCUXpresso.

  • Select File -> Import
  • Select to import Git -> Projects from Git and click Next
  • Select the Existing local repository source and click Next.
  • Click Add... and then Browse...
  • Select the emdash folder in the code you downloaded and click OK.
  • Check the emdash\.git repository in the results list and click Finish.
  • Select the emdash repository in the repository list and click Next twice, then Finish. Code import is now complete.
Building the code

Build the code for the chip by selecting the dash_11c24 project in the left pane and clicking the hammer icon in the top bar. If everything works, you will see a blue Build finished in the bottom window.

You can then use the green bug icon to program the chip with the code and enter the debugger. The first time you click the button, you will be asked to create a run configuration. Double-click the C/C++ (NXP Semiconductor) option in the left pane to create the correct configuration, then click Debug in the bottom to start it. Once this is done, the green button will launch the correct configuration automatically.

Building for Simulation

A custom simulator is included which runs the same code that is downloaded on the chip. Running the simulator requires a working install of the base, but does not require MCUXpresso or the other LPC11C24 stuff. It also requires a compatible install of the Visual C++ Build Tools, which use several gigabytes of disk space.

Installing Python Packages

The simulator requires some additional Python packages to operate.

  • Open a command prompt
  • Run the command python3 -m pip install cffi numpy pygame or py -3 -m pip install cffi numpy pygame (on Windows)
Installing Visual C++ Build Tools

The build tools provide the compiler used to compile the application for simulation. You try to compile the application to see if the tools are already installed. If they are not, an installation is necessary.

  • Open a command prompt
  • Change directories to the dashboard/pc directory inside the code
  • Run the command build_pc_app.py. If there are no errors, you're finished building for simulation
  • If it says you need to install Visual C++ 14.0, a compatible version of the build tools could not be found.
  • Download the Build Tools for Visual Studio 2017 installer from https://go.microsoft.com/fwlink/?linkid=840931.
  • Once the main installer loads, check 'Visual C++ build tools' under the 'Workloads' tab and click Install
  • Wait quite a while. Once finished, try to run the script again. If it says PC APP BUILT SUCCESSFULLY, you've successfully built the simulator and you should be able to run it by running pc_app.py.

Installing the CAN libraries

The LPC11C24 code has a bootloader and PC-based programming application so that the devices can be reprogrammed over CAN. The simulator can generate and receive CAN messages for test purposes. Both of these functionalities require the installation of CAN libraries for Python and the appropriate hardware drivers.

Installing the Python libraries
  • Open up a command prompt.
  • Run the command python3 -m pip install python-can or py -3 -m pip install python-can (on Windows)
Installing the Vector drivers

The program uses Vector CAN interfaces. You can try to run the programming application to see if the correct drivers are already installed. If the Vector interface drivers are not installed, they are available here. Download the latest version of "Vector Driver Setup".

  • Open a command prompt
  • Change directories to balsdjfsldf
  • Run the bootloader program. If you see the error message The Vector API has not been loaded, the drivers must be installed. If you see a different error, continue to dkjfas;.
  • Run the Vector Driver Setup installer program. Select and install the interface types you wish to use.
  • Driver installation is now complete.
Configuring the Vector drivers

The Vector drivers require you to create an application configuration, which tells the application which hardware to use.

  • Open the Windows Control Panel and select the Vector Hardware option.
  • Select Application -> Add in the top bar to create a new application.
  • Name the application emdash, set 1 CAN channel and 0 for all other types, and click OK.
  • Select Application -> emdash in the left pane, then right-click on CAN 1 and select the interface you wish to use. You may have to plug in your interface first.
  • Close the window. Configuration is now complete.

Parts

79
QtyValueFootprintReferences
7100nCapacitors_SMD:C_0603C1, C3, C6, C14, C15, C16, C17
3100Resistors_SMD:R_0603R5, R6, R7
310nCapacitors_SMD:C_0603C2, C4, C5
32.2uCapacitors_SMD:C_0603C8, C10, C11
210kResistors_SMD:R_0603R1, R3
236Resistors_SMD:R_1206R11, R12
239pCapacitors_SMD:C_0603C12, C13
262Resistors_SMD:R_0603R2, R4
1100kResistors_SMD:R_0603R8
110kcustom_footprints:Bourns_3362XRV1
110ucustom_footprints:Coilcraft_LPS4018L1
112MHzCrystals:Crystal_SMD_HC49-SDY1
11nCapacitors_SMD:C_0603C7
122uCapacitors_SMD:C_0603C9
12MResistors_SMD:R_0603R9
1383kResistors_SMD:R_0603R10
1CARPin_Headers:Pin_Header_Angled_1x04_Pitch2.54mmJ4
1DEBUGcustom_footprints:Pin_Header_Angled_2x05_Pitch1.27mm_AMPHENOL_SHROUDEDJ2
1LCDSocket_Strips:Socket_Strip_Straight_2x10_Pitch2.54mmJ1
1LCD_BLPin_Headers:Pin_Header_Angled_1x03_Pitch2.54mmJ3
1LPC11C24FBD48Housings_QFP:LQFP-48_7x7mm_Pitch0.5mmU1
1PESD1CAN-UTO_SOT_Packages_SMD:SOT-23D3
1SMLJ22A-QDiodes_SMD:D_SMCD2
1SS14Diodes_SMD:D_SMA_HandsolderingD1
1TERMButtons_Switches_THT:SW_DIP_x2_W7.62mm_SlideSW1
1TLV70233_SOT23-5TO_SOT_Packages_SMD:SOT-23-5U3
1TPS62175custom_footprints:DQCU2

The 43 most common of 79 parts.

Questions

How big is the Dash pcb PCB?

It measures 42 × 65 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Dash pcb use?

79 parts, built around the LPC11C24FBD48/301, TPS62175DQC, PESD1CAN-U and SMLJ22A-Q. 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 Dash pcb KiCad files?

From the tpwrules/emdash repository on GitHub, at the commit this page was made from: the board is dashboard/hw/dash_pcb.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Dash pcb design in my own project?

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

More from tpwrules/emdash

1
  • 2 layers36 × 67 mmWheel pcb, the printed circuit board in 3D

    Wheel pcb

    tpwrules/emdash

    Einstein Motorsport dashboard

    71 parts1

Similar boards

  • 2 layers46 × 46 mmMaiana Blue N2000 v8.2, the printed circuit board in 3D

    Maiana Blue N2000 v8.2

    Haimana/MAIANA_BLUE

    Firmware and hardware materials for the MAIANA-class AIS transponder ecosystem. The design builds on the open MAIANA project (GPL v3, Peter Antypas).

    54 parts3
  • 2 layers46 × 46 mmNMEA2000Adapter-8.1, the printed circuit board in 3D

    NMEA2000Adapter-8.1

    rolandvs/ais_transponder

    A real, functioning low-power AIS transponder (class B)

    52 parts1GPL-3.0
  • 4 layers40.6 × 17.8 mmPD Micro, the printed circuit board in 3D

    PD Micro

    ryan-ma/PD_Micro

    USB-C PD3.0 PPS on ATMega32U4 Arduino board

    61 parts439MIT
  • 4 layers204 × 85 mmNixie clock, the printed circuit board in 3D

    Nixie clock

    MG-5/nixie-clock-hardware

    Hardware for controlling six Nixie IN-14 tubes as clock (HH:MM:SS)

    168 parts2MIT
  • 4 layers192 × 71.8 mmVfd clock, the printed circuit board in 3D

    Vfd clock

    MG-5/vfd-clock-hardware

    Hardware for controlling six VFD IV-17 tubes as clock (HH:MM:SS)

    130 parts1MIT
  • 2 layers127.4 × 128.1 mmEk80-pico, the printed circuit board in 3D

    Ek80-pico

    e-abdi/EK80-Seaglider

    Integration of a Simrad EK80 echosounder on a Seaglider: mounting brackets and the noise suppressor interface board.

    112 parts
  • 2 layers65 × 71.5 mmAlarm clock v3, the printed circuit board in 3D

    Alarm clock v3

    MG-5/alarm-clock_hardware

    155 partsGPL-3.0
  • 2 layersLighthouse, the printed circuit board in 3D

    Lighthouse

    MG-5/lighthouse_led_pcb

    67 partsGPL-3.0