Introduction: MutantC V5 - Handheld PC

A small Handheld PC with a physical keyboard, 5inch Display with External display port, USB-A port and Expansion port with PCIE, GPIO and USB support.

Here we will discusses what you need to build one and show step by step guide. This device is very easy to make, you don't need lots of tools and parts. No codding skill is needed. just basic stuff like upload a code to Arduino. with acquitted soldering skill that's all.


This guide is for mutantC v5.1


Here is the list of features that you can get with this device,

  1. Uses Raspberry-pi CM4 form-factor for main SBC.
  2. 5inch or 4.3inch TFT display can be used with another External Display out port.
  3. 1,2,4,8 GB ram, Wifi, either EMMC or SD card for the storage depending on SBC.
  4. Uses ESP32-S2 for all the secondary functions including keyboard and mouse control.
  5. Expansion supports 1x3gen PCIE for many posibilites with add-on cards like SSD, OCuLink.
  6. Expansion also supports 2 USB2.0 ports, 17 GPIO which includes SPI, I2C, PWM.
  7. 61 key customizable keyboard, 6 shoulder button for navigation.
  8. 3D hall-effect joystick is used for proper Mouse control.
  9. NeoPixel connected to the main SBC for customizable notification.
  10. 10000mAh(21700) or 7000mAh(18650) 2S battery can be used for main power source.
  11. Using USB-PD chargers for 2Amps fast charging and powering the device.
  12. One USB-A and display out for external display.
  13. USB-C formfactor Nurolink/docking port with UART, I2C.
  14. Additionally USB-A, USB-C, Audio out and Ethernet can be added with Add-on board.
  15. Full-Size 2280 M.2 SSD can be added with Add-on board.
  16. Full power off using OS and keyboard key.
  17. Read battery Power level and power off the device when battery is low with Add-on board.
  18. Improvements to casing to better fit out from the print compare to v4.


Project page - https://mutantcybernetics.com/mutantC_V5.html


Support this project: https://www.paypal.me/mutantCybernetics


If you have any question or suggestion

  1. https://discord.gg/RbYJhYjH3Z
  2. https://gitlab.com/mutantcybernetics
  3. https://mutantcybernetics.com/index.html
  4. https://www.reddit.com/r/mutantC/
  5. https://riot.im/app/#/room/#mutantC:m...

Supplies

Basic tools that can do the job

  1. Good soldering Iron that at lest can go 350 degrees
  2. Soldering wick to remove extra solders
  3. Soldering wire to solder
  4. Flat head clippers to cut
  5. Soldering flux.
  6. Surgical knife to fix the 3D parts.
  7. USB to TTL/Serial converter, 3.3v

For better job

  1. Good hot-air station for reworking the soldering
  2. Hot plate for Quick soldering or can use a modified oven.

Step 1: Chose Your Build and Parts Needed

You need to collect all the parts that you need to build the PCB and the case. There are 2 official version of this device, main part that is different is the battery. So some parts will be slightly different.

Warning: The source files in the git repository may not reflect a stable build and could cause failed build if used as-is. Use the latest stable release


mutantC v5.1 - download the files


Note you can print the 3D printed parts by your self or outsource them.

As for the PCB I highly recommend you to use the link(affiliated) I provided to order them

  1. Regular version
  2. 7000mAh capacity, uses 2x18650 protected batteries
  3. 39mm device thickness
  4. 3D printed parts needed
  5. Display_Bottom x 1
  6. Display_Top-Touch x 1
  7. Joystick_Spacer x 1
  8. KeyCap-Keyboard x 55
  9. KeyCap-Shoulder x 3
  10. Body_Top x 1
  11. Body_Bottom-18650 x 1
  12. Mid_Frame-18650 x 1
  13. PCB needed
  14. mainPCB x 1 - Order from here
  15. displayPCB x 1 - Order from here
  16. Components for PCB
  17. Parts for mainPCB - in the folder displayPCB/bom/ibom.html
  18. Parts for displayPCB - in the folder displayPCB/bom/ibom.html
  19. Extended-battery version
  20. 10000mAh capacity, uses 2x21700 batteries
  21. 42mm device thickness
  22. 3D printed parts needed
  23. Display_Bottom x 1
  24. Display_Top-Touch x 1
  25. Joystick_Spacer x 1
  26. KeyCap-Keyboard x 55
  27. KeyCap-Shoulder x 3
  28. Body_Top x 1
  29. Body_Bottom-21700 x 1
  30. Mid_Frame-21700 x 1
  31. PCB needed
  32. mainPCB x 1 - Order from here
  33. displayPCB x 1 - Order from here
  34. Components for PCB
  35. Parts for mainPCB - in the folder displayPCB/bom/ibom.html
  36. Parts for displayPCB - in the folder displayPCB/bom/ibom.html

Step 2: Solder the PCBs

In this step solder the both PCB,

  1. mainPCB
  2. displayPCB

You can use PCBA service when you order the PCB from PCBWay. Use the BOM list when ordering.

  1. Parts for mainPCB - in the folder displayPCB/bom/ibom.html
  2. Parts for displayPCB - in the folder displayPCB/bom/ibom.htm

If you are soldering the PCBs by yourself, then follow the module number for soldering and testing. That way you can easily test and debug while building.


For Extended-battery version don't solder the battry holder

Step 3: Flash the Firmware and EDID EEPROM

There are 2 chip needs to be programmed, ESP32 and the EEPROM. You need 2 part

  1. FPC brakout board - 40pin/ 0.5mm pitch
  2. FPC cable - 40pin/ 0.5mm pitch ( same connection orentation)

You have to use the Debug FPC Port to flash them. See the connection required to flash them in the pic above. You can use a FPC breakout to make the connections.

Flash ESP32-S2

Follow this guide to flash the ESP32-S2. This is the firmware code

  1. Firmware

Connection required from the Debug FPC Port

  1. RX-ESP
  2. TX-ESP
  3. RESET
  4. BOOT0
  5. GND
  6. POWER_BUTTON

Power the PCB using the changing USB-C port. Now connect the POWER_BUTTON pin to the GND to power on the device. And connect rest of the connection to flash the ESP32.


Flash EDID

To flash the EDID EEPROM follow this guide from Adafruit, use the code as it is.

  1. Flashing/ Editing the EDID

Connection required from the Debug FPC Port

  1. HDMI0_SDA
  2. HDMI0_SCL
  3. GND
  4. POWER_BUTTON

Power the PCB using the changing USB-C port. Now connect the POWER_BUTTON pin to the GND to power on the device. And connect rest of the connection according the guide to flash the EEPROM.

Step 4: Putting All Together

Step 5: First Boot Up

This device don't need any custom OS or drivers for normal operation.

  1. Raspberry Pi CM4 with Official Raspberry Pi OS than no modification is needed.
  2. Pine64 Soquartz, i have tested with Manajaro ARM

Step 6: Add an Add-on

You can add an add-on to have more functionalities/ features in the mutantC. There is this add on currently avilable and can be ordered from PCBWay

Add_on - Apollo - features

  1. Ethernet
  2. RTC
  3. 2280_M.2_SSD
  4. Battery_Monitor
  5. Audio_Out
  6. NuroLink+
  7. USB-A

Order the PCB from PCBWay

Building the add-on

  1. use this scetion to for more build info here

Step 7: Troubleshooting

Internal display is not working - make sure the FPC cable is good, and the length is not longer than 50mm. Also see if there is any solder bridging in the FPC connector in the both display and main PCB, as well as in the CM connector.

No charging light - Device uses USB-PD, so the charger needs to support USB-PD so as the cable. The cable is usally have USB-C on both ends.

No Display-out - Make sure the Compute Module connector on the main PCB has good soldering, and push the CM on the connectors to see if the display is working or not. If using Pi CM4, the display should show some info even if there is no OS present.

Step 8: Help Me Out

There might be several things missing in this guide, so please help me out improving it

  1. Add a comment here below the guide
  2. Open an issue here