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,
- Uses Raspberry-pi CM4 form-factor for main SBC.
- 5inch or 4.3inch TFT display can be used with another External Display out port.
- 1,2,4,8 GB ram, Wifi, either EMMC or SD card for the storage depending on SBC.
- Uses ESP32-S2 for all the secondary functions including keyboard and mouse control.
- Expansion supports 1x3gen PCIE for many posibilites with add-on cards like SSD, OCuLink.
- Expansion also supports 2 USB2.0 ports, 17 GPIO which includes SPI, I2C, PWM.
- 61 key customizable keyboard, 6 shoulder button for navigation.
- 3D hall-effect joystick is used for proper Mouse control.
- NeoPixel connected to the main SBC for customizable notification.
- 10000mAh(21700) or 7000mAh(18650) 2S battery can be used for main power source.
- Using USB-PD chargers for 2Amps fast charging and powering the device.
- One USB-A and display out for external display.
- USB-C formfactor Nurolink/docking port with UART, I2C.
- Additionally USB-A, USB-C, Audio out and Ethernet can be added with Add-on board.
- Full-Size 2280 M.2 SSD can be added with Add-on board.
- Full power off using OS and keyboard key.
- Read battery Power level and power off the device when battery is low with Add-on board.
- 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
Supplies
Basic tools that can do the job
- Good soldering Iron that at lest can go 350 degrees
- Soldering wick to remove extra solders
- Soldering wire to solder
- Flat head clippers to cut
- Soldering flux.
- Surgical knife to fix the 3D parts.
- USB to TTL/Serial converter, 3.3v
For better job
- Good hot-air station for reworking the soldering
- Hot plate for Quick soldering or can use a modified oven.
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
- Regular version
- 7000mAh capacity, uses 2x18650 protected batteries
- 39mm device thickness
- 3D printed parts needed
- Display_Bottom x 1
- Display_Top-Touch x 1
- Joystick_Spacer x 1
- KeyCap-Keyboard x 55
- KeyCap-Shoulder x 3
- Body_Top x 1
- Body_Bottom-18650 x 1
- Mid_Frame-18650 x 1
- PCB needed
- mainPCB x 1 - Order from here
- displayPCB x 1 - Order from here
- Components for PCB
- Parts for mainPCB - in the folder displayPCB/bom/ibom.html
- Parts for displayPCB - in the folder displayPCB/bom/ibom.html
- Extended-battery version
- 10000mAh capacity, uses 2x21700 batteries
- 42mm device thickness
- 3D printed parts needed
- Display_Bottom x 1
- Display_Top-Touch x 1
- Joystick_Spacer x 1
- KeyCap-Keyboard x 55
- KeyCap-Shoulder x 3
- Body_Top x 1
- Body_Bottom-21700 x 1
- Mid_Frame-21700 x 1
- PCB needed
- mainPCB x 1 - Order from here
- displayPCB x 1 - Order from here
- Components for PCB
- Parts for mainPCB - in the folder displayPCB/bom/ibom.html
- Parts for displayPCB - in the folder displayPCB/bom/ibom.html
Solder the PCBs
In this step solder the both PCB,
- mainPCB
- displayPCB
You can use PCBA service when you order the PCB from PCBWay. Use the BOM list when ordering.
- Parts for mainPCB - in the folder displayPCB/bom/ibom.html
- 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
Flash the Firmware and EDID EEPROM
There are 2 chip needs to be programmed, ESP32 and the EEPROM. You need 2 part
- FPC brakout board - 40pin/ 0.5mm pitch
- 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
Connection required from the Debug FPC Port
- RX-ESP
- TX-ESP
- RESET
- BOOT0
- GND
- 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.
Connection required from the Debug FPC Port
- HDMI0_SDA
- HDMI0_SCL
- GND
- 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.
Putting All Together
First Boot Up
This device don't need any custom OS or drivers for normal operation.
- Raspberry Pi CM4 with Official Raspberry Pi OS than no modification is needed.
- Pine64 Soquartz, i have tested with Manajaro ARM
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
- Ethernet
- RTC
- 2280_M.2_SSD
- Battery_Monitor
- Audio_Out
- NuroLink+
- USB-A
Order the PCB from PCBWay
Building the add-on
- use this scetion to for more build info here
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.
Help Me Out
There might be several things missing in this guide, so please help me out improving it
- Add a comment here below the guide
- Open an issue here