User Tools

Site Tools


projects:maico_fan

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:maico_fan [2025/11/29 14:17] – [PCB scan] adminprojects:maico_fan [2025/12/01 07:39] (current) – [Bonus: the fan itself] admin
Line 1: Line 1:
 +~~META:
 +title=Maico ECA 100 ipro MCU replacement
 +description=reverse engineering and hacking Maico fan PCB
 +keywords=SEO, dokuwiki, reverse engineering, disassembly, Maico, fan, PCB, MCU, ESP, ESP8266, LDO, humidity, sensor, webinterface, WiFi, repair, hack, hacking, bathroom
 +~~
 +
 +
 ⚠️ PAGE UNDER CONSTRUCTION!⚠️⚠  ⚠️ PAGE UNDER CONSTRUCTION!⚠️⚠ 
  
Line 20: Line 27:
  
 ===== Disclaimer ===== ===== Disclaimer =====
- 
 ⚠️ The PCB is connected to mains 230VAC! Be aware of what you do. This is no kids game, it can be life threatening or worse if you are not careful. \\ ⚠️ The PCB is connected to mains 230VAC! Be aware of what you do. This is no kids game, it can be life threatening or worse if you are not careful. \\
 I am not responsible for anything you do, this is not meant to be a tutorial to mimic. It is just a write up of the steps I have taken to achieve a goal I have striven for. \\ I am not responsible for anything you do, this is not meant to be a tutorial to mimic. It is just a write up of the steps I have taken to achieve a goal I have striven for. \\
Line 27: Line 33:
  
 ===== reverse engineering ===== ===== reverse engineering =====
- 
 The fan consists of a 1-phase AC motor, a PCB controlling it and the shell/casing. \\ The fan consists of a 1-phase AC motor, a PCB controlling it and the shell/casing. \\
 Unmodified ECA 100 ipro series has the following hardware on PCB: Unmodified ECA 100 ipro series has the following hardware on PCB:
Line 65: Line 70:
  
  
-{{:projects:maico-fan:hardware:photos:img_20220304_153631.jpg?200|}}+{{:projects:maico-fan:hardware:photos:img_20220304_153631.jpg?200|}} \\ 
 ==== logic analyzer capture ==== ==== logic analyzer capture ====
 The Triac is triggered by PIC16 synced to AC-wave signal (provided by opto-coupler). Triacs do not turn off automatically again if fired, unless voltage drops to 0V (or complicated circuit added). So what you see on logic analyze capture is just the triggering signal for Triac (//D0//), not its durance it is turned on. The durance is the point the Triac is triggered till signal of opto-coupler (//D1//) is low (and therefore AC-wave crossing 0V). \\ The Triac is triggered by PIC16 synced to AC-wave signal (provided by opto-coupler). Triacs do not turn off automatically again if fired, unless voltage drops to 0V (or complicated circuit added). So what you see on logic analyze capture is just the triggering signal for Triac (//D0//), not its durance it is turned on. The durance is the point the Triac is triggered till signal of opto-coupler (//D1//) is low (and therefore AC-wave crossing 0V). \\
Line 74: Line 80:
  
 ==== PCB scan ==== ==== PCB scan ====
- 
 In 2025 I got hands on a broken PCB (due to water damage) on Kleinanzeigen, more than three years after the start of the project. I desoldered all parts and scanned the PCB for your convenience. I did not have any [[life_hacks:glue#solvent_cement|solvents]] but acetone nail polish at hand, which does not work that well with the sticky glue. What I did is heat the glue with hot-air rework station and wipe most of it off with a cloth - the mite rest was removed with acetone (nail polish). \\ In 2025 I got hands on a broken PCB (due to water damage) on Kleinanzeigen, more than three years after the start of the project. I desoldered all parts and scanned the PCB for your convenience. I did not have any [[life_hacks:glue#solvent_cement|solvents]] but acetone nail polish at hand, which does not work that well with the sticky glue. What I did is heat the glue with hot-air rework station and wipe most of it off with a cloth - the mite rest was removed with acetone (nail polish). \\
    
Line 82: Line 87:
 The trace of L-line was burned up of this broken PCB, I have redrawn it in pink to show the original trace. \\ The trace of L-line was burned up of this broken PCB, I have redrawn it in pink to show the original trace. \\
 Thanks to the PCB scan, you can see the needed points easily where to solder the wires to. \\ Thanks to the PCB scan, you can see the needed points easily where to solder the wires to. \\
 +
 ==== Board repair ==== ==== Board repair ====
 The broken board I got from Kleinanzeigen has (at least) burned Varistor (VDR1) and capacitor C1. Check for burned through PCB traces and replace those two parts. \\ The broken board I got from Kleinanzeigen has (at least) burned Varistor (VDR1) and capacitor C1. Check for burned through PCB traces and replace those two parts. \\
 Also try disconnecting the original sensor (if your version has one) - the humidity sensor I got bundled with is bad too. \\ Also try disconnecting the original sensor (if your version has one) - the humidity sensor I got bundled with is bad too. \\
-==== original humidity sensor ==== 
  
 +==== original humidity sensor ====
 Together with the broken PCBs, I got a humidity sensor (which I did not have at the time of the project). The sensor is glued into a plastic shell, the glue looks to be the same as on the backside of the PCB. \\ Together with the broken PCBs, I got a humidity sensor (which I did not have at the time of the project). The sensor is glued into a plastic shell, the glue looks to be the same as on the backside of the PCB. \\
 The plastic cover of the housing has a rubber cover, which is cut open if a sensor is installed. Tip to close it up again: put crepe tape over the hole and close up with [[life_hacks:glue#hot_glue|hot glue]] from the other side. \\ The plastic cover of the housing has a rubber cover, which is cut open if a sensor is installed. Tip to close it up again: put crepe tape over the hole and close up with [[life_hacks:glue#hot_glue|hot glue]] from the other side. \\
Line 93: Line 99:
  
 Don't have a sensor (version) like me? Read on. \\ Don't have a sensor (version) like me? Read on. \\
-==== PIC16 Firmware dump ==== 
  
 +==== PIC16 Firmware dump ====
 As I now own a PICKit (I have not at the time of doing this project), here is the firmware dump of a PCB with humidity sensor: **<insert dump>**. \\ As I now own a PICKit (I have not at the time of doing this project), here is the firmware dump of a PCB with humidity sensor: **<insert dump>**. \\
 I do not know if firmware differs for models w/o sensor, as the original PCB is still doing its duty in the shared flat. My //guess//: probably same firmware; the pin header is unpopulated. \\ I do not know if firmware differs for models w/o sensor, as the original PCB is still doing its duty in the shared flat. My //guess//: probably same firmware; the pin header is unpopulated. \\
Line 100: Line 106:
  
 ===== Hardware modification ===== ===== Hardware modification =====
- 
  
 **MCU replacement**: cut traces of PIC16 (at least pins 1,2,3 and 17) or desolder completely. \\ **MCU replacement**: cut traces of PIC16 (at least pins 1,2,3 and 17) or desolder completely. \\
Line 144: Line 149:
 ^ Pin# ^ name ^ description ^ ^ Pin# ^ name ^ description ^
 | 1      |      | 1      |     
 +\\
 +
 ===== Firmware ===== ===== Firmware =====
 As this project was intended to be for a shared flat which I actually do not live in, I made the mistake to start the project using Arduino. Why? Actually, I don't know anymore 🤡 I wanted it to be maintainable easily by another person. Oh, well, there is always a next project to avoid Arduino. \\ As this project was intended to be for a shared flat which I actually do not live in, I made the mistake to start the project using Arduino. Why? Actually, I don't know anymore 🤡 I wanted it to be maintainable easily by another person. Oh, well, there is always a next project to avoid Arduino. \\
Line 185: Line 192:
  
 === MQTT === === MQTT ===
- 
 #TODO: Still missing. HeartBeat for smoke detector. \\ #TODO: Still missing. HeartBeat for smoke detector. \\
 As ESP8266 only provides WiFi as wireless communication, MQTT is added for a proper way to add the fan to smart homes. \\ As ESP8266 only provides WiFi as wireless communication, MQTT is added for a proper way to add the fan to smart homes. \\
Line 215: Line 221:
 So, how do disassemble it?  So, how do disassemble it? 
    - pull off fan rotor to the front (it is tightly stuck onto the shaft, consider winding a string behind all rotor blades and pull on that)    - pull off fan rotor to the front (it is tightly stuck onto the shaft, consider winding a string behind all rotor blades and pull on that)
-   - losen all obvious screws+   - losen all obvious screws on front and backside of fan 
 + 
 +{{gallery>:projects:maico-fan:hardware:photos:fan-motor}} \\
projects/maico_fan.1764422274.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki