FlexSEA Wiki


User Tools

Site Tools


FlexSEA-Execute > Unboxing

If your board is new-in-box (bare PCB, no wires), start here!


List of parts:

  • 1x FlexSEA-Execute 0.x assembled PCB
  • 1x aluminum mounting plate
  • 1x thermal pad
  • 5x M2x4 screws
  • AWG16 wire in red, black and white (McMaster 6659T48)
  • PowerPole housings and crimps

Estimated time: 1h00 (1h15 if Step 0 is required).

Step 0A) FlexSEA-Execute 0.1 only

If you are using the first batch of PCBs, the pull-ups I selected for the on-board I2C bus are too resistive for speeds above 100kHz (we are using 400kHz). R45 and R46 are currently 4.7k and they should be 1.8k. You can de-solder the 4.7k and solder 1.8k resistors (recommended) or add a 3k resistor in parallel to the 4.7k one. Failure to change these resistors will lead to inconsistent behavior as the code will sometimes hang in the I2C routines.


Step 0B) FlexSEA-Execute 0.2 only

The first production batch of FlexSEA-Execute 0.2 uses an MCP1700T-3302E/MB as the 3V3 voltage regulator. I used the wrong pad numbers, therefore we need to change the IC for a RT9064-33GX. Make sure that the board you have has the RT9064, or swap it

How to swap the IC: Soldering on this PCB is harder than usual, because of the numerous power planes. The best solution I found is to heat the top of the IC with my 160W iron for 20-25s, then apply hot air (Hakko FR-801: max temperature, 22/25 airflow) for ~10s while holding the chip with tweezers.

Step 1)

Cut 3 pieces of wire, 4″ long, one piece per color. Cut 2 pieces of wire, 3″ long, black and red. Remove 3mm of insulation from one end and 5mm from the other end.


Step 2)

Crimp the terminals to the 5 wires, on the end with 5mm of exposed copper. Make sure to crimp on the sleeve and not just on the copper. Insert the crimped wires in their housings.


Step 3)

Solder the wires to the PCB. +VB = Red, GND = Black, A = White, B = Black, C = Red. There is copper planes on all 6 layers: a regular (60-80W) soldering iron will have a hard time melting solder. Use a high power soldering iron (such as a Weller WD 1 M 160W) or pre-heat the PCB with a hot air gun (careful, you can easily de-solder components with that!). On the picture below you can see the solder joints on the white and black wires. The red solder joint was cut close to the PCB with cutters. When all 5 wires are soldered clean the flux with alcohol (I use 91%) and a toothbrush.


Step 4)

Link the PowerPole connectors together, and wist the cable assemblies. The color coding and order is up to you (it depends on the motor you use, and on the way you connect the Hall effect sensors (if you use Hall)).


Step 5)

I’m using a phase-change thermal transfer pad made by Laird, TPCM 585 (Digikey 926-1155-ND). It comes in sheets of 9×9 in. I laser cut 16 pads per sheet. Epilog settings: 90% speed, 80% power, 2500Hz. You can also use a blade or scissors, cut a square and make little openings for th 5 screws.


Remove the plastic protection, stick the thermal pad to the PCB and screw it to the aluminum plate. If you are using v0.1, make sure that the two FFC programming ports are in the unlocked position first.


Step 6) (optional)

It’s easy to rip the USB connector from the PCB if you often plug & un-plug it, or if you can’t provide stress-relieving in your application. You can use Epoxy glue over the backing of the connector for extra strength (make sure not to glue the contacts!)


Note: follow this tutorial the first time you use a new FlexSEA-Execute board (one that was never programmed).

FlexSEA-Execute has two microcontrollers. The first one that needs to be programmed is the Safety-CoP, a PSoC 4. Unless you work on low-level security code, you will only need to program this microcontroller once.

List of parts:

  • 1x FlexSEA-Execute 0.x with connectors
  • 1x MiniProg3
  • 1x Execute Prog Adapt
  • PSoC Creator and 2x code projects

Estimated time: 0h20.

Step 1) Power the board

Connect a power cable between Execute and a lab power supply. It is recommended to start with 0V and a low current limit, then slowly increase the voltage while making sure that the current stays low the first time that you power a new board. When you reach reach a few volts 4 LEDs should turn on. You can use any voltage from 10 to 48V. I usually keep it low while programming for the first time (my current setup is 15V with a current limit <100mA), just in case something is wrong on the board.

Other power options include using the USB port, or powering at 5V from the MiniProg. Using an external supply is usually the most stable option.

Step 2) Code project, programmer connection (PSoC 4)

Open PSoC Creator, File > Open > Project/Workspace > navigate to …\execute-cop\execute-cop.cydsn\ and select the .cywrk file. Build execute-cop and make sure that there is no error message. Connect the FFC to the Execute board. You will want to use the connecter that says “4”, or “CoP”. The FFC connectors accept two orientations. The most convenient one is to have the conductors facing the PCB. In any case, make sure to use the same orientation on both ends of the cable.

Click Program. You’ll get a log similar to this:

Programming started for device: ‘PSoC 4200 CY8C4245LQ*-483’.
Device ID Check
Programming of Flash Starting…
Verify Checksum…
Device ‘PSoC 4200 CY8C4245LQ*-483’ was successfully programmed at 03/17/2015 14:54:08.

The Red LED right next to the PSoC 4 (The one marked with an ‘E’ on hardware v0.2) should flash “aggressively” because the PSoC 5 isn’t programmed. The picture below is of a new Execute 0.1 being programmed for the first time:


Step 3) Program the PSoC 5

execute/unboxing.txt · Last modified: 2018/02/13 20:17 by stephku