It is 2023 and I just bought the Chuwi MiniBook 6GB/128GB Intel® Celeron J4125. I did own a few of this micro computers over the years and all of them have this issue with the fan. Well, the GPD had some models with a physical switch on the keyboard, specifically to turn off completely the fan!!
I really like the EC change but that is not available for my version of MiniBook and I will not risk to brick it as did happen to others.
My plan is to explore a “man in the middle” attack - the FAN has 4 wires: +12V and GND for power. A PWM signal to control the fan power and another digital signal that fan outputs representing his speed.
Obvious, the MiniBook will increase the PWM signal with the expectation that the fan speed signal will also increase.
I wounder if someone already did a small DIY circuit with a microcontroller to read PWM signal and provide a cheat / fake fan speed signal. Ideally, this microcontroller firmware would keep the fan stopped at lower temperatures and just turn it on at high temperatures - just like what the EC change does.
For the microcontroller, I would try to use an ESP32 (the smaller I could find) that can be programmed in Python (CircuitPyhton) and also by wireless, this way I could change / improve at anytime the firmware / fan speed without ever need to touch on this board.
Anyone that can help here, even if with only ideas??
I thought about adding a fan to my Minibook X which is normally without a fan. There’s a 4-pin connector which is clearly intended for one though. I ordered a fan, and if it doesn’t work because the header isn’t enabled, a PWM speed controller from aliexpress:
Unfortunately it seems like it might not fully stop the fan at low speed, but we’ll see. I’ll give a chance before spending hours on my own solution
An ESP32 I think would use too much power for the purpose. Wireless is nice but you really just need to calibrate the fan curve once and then never touch it again. So I’d go with something like ATtiny probably if it came to it.
I just found the Minibook fan has +5V instead of 12V. That will make much more easier.
Yes, you are correct that ESP32 should use to much power.
So, instead I would go with this NRF52840 board that is low power, has Bluetooth but it can be disabled to save the power. It also runs CircuitPyhton, is great for a user to just connect the board by USB to PC and have a USB mass storage device, edit the main.py Pyhton code text file, save and the code will run – can’t be easier!!
I did open my Chuwi Minibook. A picture of the fan connector, near a rule with 1mm scale, so, I would say the pitch of this connector is about 0.875mm (4 wires in 3.5mm). Anyone can find the reference of this type of connector?
And I tested a RPI2040 very small board that is programmed using the USB-C connector. It can run high level Pyhton firmware. Since it can be installed on the SSD M2 disc space, it will be great to open the M2 cover and connect the USB-C cable, during the development:
But for now, I just did as other user did – I just left the fan unconnected!! and the Minibook boots and runs as if there is no issue at all. Maybe the system firmware do not force the fan to run, maybe it is ready for a fanless system. And as the other user wrote, if the Minibook get’s hot, it will probably protect itself by reducing the system clock, making the system slow but keep the temperature at safe levels.
After using it some days with the fan disconnected, it is perfect as there is no noise at all and with the light usage I do with it, mainly reading, and with Linux Ubuntu, it only keeps warm after 1h or more. For now, I am happy to use it like that.
After some days of usage, I really think the fan is needed at least for when I am watching Netflix and the Minibook get’s really hot!!
Meanwhile I received the new fan (SEPA HY40H-05A) that is supposed more silent than the original.
I was thinking that if the system do not require the fan, as it works as usual with the fan disconnected, so I can fully control the fan by adding a temperature sensor!!
I have with me the AHT21 temperature sensor board, and it fits well on top of the metal part that get’s hot when the CPU get’s hot – the small blue board on the following picture.
So my plan now is to connect the AHT21 temperature sensor to the microcontroller board (already did on another project) and also connect the fan pins. Then I will read the temperature and increase the fan speed as the temperature increases. And I will define which the temperature value the fan should start and the maximum speed it should rotate. It will be easy to prototype this little system outside and then finally install on my Minibook.