First of all, A special thanks to Flavor for his help and his patience
The idea about this project is to combine all additional features you could need on a handheld machine but keeping modification on the motherboard as low as possible, Note: this is intended to work on the Freeplay CM3 platform.
The PCB borders, headers position, CPU heatsink clearance and L2/R2 switches positions are the same.
This addon board embed a USB Nanohub with 2 ports, a BL-R8188FU3 WiFi module (RTL8188FTV with IPEX connector), a DS3231M RTC chip, 3 MCP3021A ADC chips (2 chips for the the Joystick and one for the battery monitoring), a 16x16x4.5 fan (the same used in the original addon board). Revision 3 now use a ADS1015 to allow use of 2 joystick at the same time.
Due to USB hub and WiFi module needing to be in the USB header side, the fan position has been switch to the other side of the CPU heatsink but because of this the hotkey switch needed to be moved as well.
A AMS1117-3.3 is used to power the WiFi module and the ADC chips reading the joystick position.
Following recommendation from Flavor, the ADC chip used to monitor battery voltage is running at 4.5v using a MAX6107 voltage reference chip.
The battery voltage also feed the VBAT pin on the RTC chip, the power consumption when the console is off is negligible.
The fan is still controlled with pin 40 using a NPN transistor.
I own a CNC milling machine and all milling bits for this kind of project, machining the PCB with a 0.2mm engraving bits take arround 5 hours. I can only solder components using soldering iron (not hot air or other process) so soldering and checking continuity during this build took me about 4 hours.
I am not really good with PCB design softwares so I falled back to the software I known for CNC machining : Cambam, anything need to be drawn by hand, if you move a component you need to update any traces that goes to it one by one so it was kind of a pain.
About power consumption (of the whole machine, on the battery level), tests done without EmulationStation running, TFT backlight at 15%:
- WiFi unpaired : 0.28A
- Paired to network + SSH session : 0.42A
- Transferring a big file thru SSH (some power go to the SSH decoding itselft) : 0.48A, 0.51A (peek)
- if wlan0 down + rfkill (thru a custom item in Retropie menu) : 0.28A
- WiFi disconnected (thru a WiFi in Retropie menu) : 0.28A
Results are not that bad, around 140mAh when paired and 230mAh when transferring data.
I live in France so getting IC parts (especially ADC chips) is far from cheap:
eBay - SMD 0805 resistor/capacitor : 10usd
eBay - Switches : 1usd
Tindie - NanoHub USB : 10usd
eBay - AMS1117-3.3 regulator : 1usd
eBay - BL-R8188FU3 WiFi module (RTL8188FTV) : 5usd
eBay - DS3231M RTC module : 2usd
eBay - MMBT2222A NPN Transistor : 1usd
eBay - MCP3021 ADC chip (3pcs) : 18usd
eBay - MAX6107 : 5usd
Digi-Key - 16mm Fan : 7usd
Total : 60usd
Price example if you order more parts on Digi-Key:
Digi-Key - SMD 0805 resistor/capacitor : 5usd
Digi-Key - Switches : 0.5usd
Tindie - NanoHub USB : 10usd
eBay - AMS1117-3.3 regulator : 1usd
eBay - BL-R8188FU3 WiFi module (RTL8188FTV) : 5usd
eBay - DS3231M RTC module : 2usd
Digi-Key - MMBT2222A NPN Transistor : 0.2usd
Digi-Key - MCP3021 ADC chip (3pcs) : 3usd
Digi-Key - MAX6107 : 2usd
Digi-Key - 16mm Fan : 7usd
Total : <35usd
These prices don't include time need to milling the PCB, the soldering time or any kind of labor.
Design files : https://github.com/porcinus/Freeplay-Custom-Addon-Board
If you have any questions, feel free to ask
The idea about this project is to combine all additional features you could need on a handheld machine but keeping modification on the motherboard as low as possible, Note: this is intended to work on the Freeplay CM3 platform.
The PCB borders, headers position, CPU heatsink clearance and L2/R2 switches positions are the same.
This addon board embed a USB Nanohub with 2 ports, a BL-R8188FU3 WiFi module (RTL8188FTV with IPEX connector), a DS3231M RTC chip, 3 MCP3021A ADC chips (2 chips for the the Joystick and one for the battery monitoring), a 16x16x4.5 fan (the same used in the original addon board). Revision 3 now use a ADS1015 to allow use of 2 joystick at the same time.
Due to USB hub and WiFi module needing to be in the USB header side, the fan position has been switch to the other side of the CPU heatsink but because of this the hotkey switch needed to be moved as well.
A AMS1117-3.3 is used to power the WiFi module and the ADC chips reading the joystick position.
Following recommendation from Flavor, the ADC chip used to monitor battery voltage is running at 4.5v using a MAX6107 voltage reference chip.
The battery voltage also feed the VBAT pin on the RTC chip, the power consumption when the console is off is negligible.
The fan is still controlled with pin 40 using a NPN transistor.
I own a CNC milling machine and all milling bits for this kind of project, machining the PCB with a 0.2mm engraving bits take arround 5 hours. I can only solder components using soldering iron (not hot air or other process) so soldering and checking continuity during this build took me about 4 hours.
I am not really good with PCB design softwares so I falled back to the software I known for CNC machining : Cambam, anything need to be drawn by hand, if you move a component you need to update any traces that goes to it one by one so it was kind of a pain.
About power consumption (of the whole machine, on the battery level), tests done without EmulationStation running, TFT backlight at 15%:
- WiFi unpaired : 0.28A
- Paired to network + SSH session : 0.42A
- Transferring a big file thru SSH (some power go to the SSH decoding itselft) : 0.48A, 0.51A (peek)
- if wlan0 down + rfkill (thru a custom item in Retropie menu) : 0.28A
- WiFi disconnected (thru a WiFi in Retropie menu) : 0.28A
Results are not that bad, around 140mAh when paired and 230mAh when transferring data.
I live in France so getting IC parts (especially ADC chips) is far from cheap:
eBay - SMD 0805 resistor/capacitor : 10usd
eBay - Switches : 1usd
Tindie - NanoHub USB : 10usd
eBay - AMS1117-3.3 regulator : 1usd
eBay - BL-R8188FU3 WiFi module (RTL8188FTV) : 5usd
eBay - DS3231M RTC module : 2usd
eBay - MMBT2222A NPN Transistor : 1usd
eBay - MCP3021 ADC chip (3pcs) : 18usd
eBay - MAX6107 : 5usd
Digi-Key - 16mm Fan : 7usd
Total : 60usd
Price example if you order more parts on Digi-Key:
Digi-Key - SMD 0805 resistor/capacitor : 5usd
Digi-Key - Switches : 0.5usd
Tindie - NanoHub USB : 10usd
eBay - AMS1117-3.3 regulator : 1usd
eBay - BL-R8188FU3 WiFi module (RTL8188FTV) : 5usd
eBay - DS3231M RTC module : 2usd
Digi-Key - MMBT2222A NPN Transistor : 0.2usd
Digi-Key - MCP3021 ADC chip (3pcs) : 3usd
Digi-Key - MAX6107 : 2usd
Digi-Key - 16mm Fan : 7usd
Total : <35usd
These prices don't include time need to milling the PCB, the soldering time or any kind of labor.
Design files : https://github.com/porcinus/Freeplay-Custom-Addon-Board
If you have any questions, feel free to ask