• 1
    Making a Board

    Using JLCPCB you can upload the Gerber, BOM, and Pick and Place files and get boards made.

  • 2
    Once you have the board, you will need to upload the software

    In order to do this you will need an FTDI programmer.  This one from Amazon works well - https://amzn.to/3DNSssw

    To also make things easier, female to female jumper wires will be needed if you don't already have some.  If you don't you can order some from Amazon here - https://amzn.to/3KfU6G7 

    When you get the FTDI programmer, you will see there are 3 pins on the top with a jumper.  Move the jumper so that 3V3 is connected to VCC.  This board runs on 3.3V and could be destroyed if you connect 5V to it.

    Next take 4 female to female jumper wires from your kit and connect them to VCC, GND, TXD and RXD on the FTDI programmer.

    On your computer you will need to download the drivers from here - https://ftdichip.com/drivers/vcp-drivers/. This will allow the device to show up as an additional com port so that you can program the microcontroller.

    Next connect the opposite end of the FTDI female to female jumper wires as follows:

    FTDI GND - > PCB GND

    FTDI  VCC -> PCB VCC

    FTDI TXD -> PCB RX

    FTDI RXD -> PCB TX

    Below is a picture showing the pin layout on the PCB:

    If you haven't done so already, on your computer, you will need to install Arduino IDE here - https://www.arduino.cc/en/software

    You will also need to download the following libraries by opening the arduino IDE, and on the top bar going to Tools-> Manage Libraries and searching for/adding the following:

    TCA9555

    Adafruit LED Backpack Library

    Adafruit GFX Library

    SD 

    Next you will need to add a library from another source:  This library is used to make the music.

    You will need this library for Audio: https://github.com/schreibfaul1/ESP32-audioI2S  To do that, hit the green button that says "Code" and then hit download zip.  Once you have that zip go back to your Arduino IDE and in the top dropdown select Sketch -> Include Librariy -> Add .zip library.  Navigate to the .zip file that downloaded and add it.

    Next you will need to add the ESP32 to boards.  Follow this tutorial but paste this link into the additional boards manager instead of the one in the tutorial -https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

    Tutorial - https://microcontrollerslab.com/install-esp32-arduino-ide/

    Download the .ino file from here - https://github.com/Simply-Connected-LLC/Cognition-Pedal-Powered-Display

    Open that file, and now we will setup the Arduino IDE to be able to upload the board.

    Go to Tools-> Board and select ESP32 Wrover Module

    Within tools make sure the following is set as follows:

    upload speed: 115200

    Flash frequency: 80MHz 

    Flash Mode: QOUT

    Partition Scheme: Default 4MB with spiffs (1.2MB APP/ 1.5MB SPIFFS)

    Look at Tools->Port and not down everything you see in a notebook.

    At this point, go ahead and plug the FTDI USB Dongle into your computer.  Go back to the Arduino IDE and under Tools->Port select an item that wasn't there before.  This will be your new dongle and connection to your PCB.

    Finally, you need to tell the microcontroller that you are looking to send it data.  To do so, you will use the two switches labeled in the picture above as program and RESET.  First, orient the board as the picture above.

    Make sure both switches are pushed upwards. This is the off state for both and is where they will be during normal running operation.

    Now, slide the Prog switch to on.  Next toggle the RESET switch to on and then to off. 

    The board will now be ready for programming.

    In the Arduino IDE, press the button in the top lefthand corner that looks like an arrow to the right.  As long as everything is working correctly, this will build the program and upload it to your device.  

    Wait until in the bottom of the IDE it says upload successful.

    Now you can slide the Prog switch to off and toggle the reset switch one more time. 

    Your device is programmed and ready to run.

    The final thing you will need to do to use all of the functionality of the device is to load the following .wav files to a micro SD card and insert the card into the reader slot on the PCB:

    -train3.wav. - This plays the sound of a train when that switch is on

    -plane.wav. -  This plays the sound of a plane when that switch is on

    -thunder.wav.  - This plays the sound of thunder when the lightning switch is on

    -light.wav.   -  This plays the sound of waves crashing on a shore when the lighthouse switch is turned on.