projects:maico_fan
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:maico_fan [2025/11/29 13:46] – admin | projects: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, | ||
| + | ~~ | ||
| + | |||
| + | |||
| ⚠️ 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/ | The fan consists of a 1-phase AC motor, a PCB controlling it and the shell/ | ||
| Unmodified ECA 100 ipro series has the following hardware on PCB: | Unmodified ECA 100 ipro series has the following hardware on PCB: | ||
| Line 62: | Line 67: | ||
| | 20 | GND | Ground | ⚠ directly connected to N-line! | | | 20 | GND | Ground | ⚠ directly connected to N-line! | | ||
| - | **for alternative (test) points, see newly created PCB scan :) \\** | + | **for alternative (test) points, see newly created |
| - | {{: | + | {{: |
| ==== 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) | |
| - | In 2025 I got hands on a broken PCB on Kleinanzeigen, | + | |
| {{: | {{: | ||
| 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: | 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: | ||
| 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: **< | 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: **< | ||
| 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**: | **MCU replacement**: | ||
| 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 180: | Line 187: | ||
| ==== pee game ==== | ==== pee game ==== | ||
| - | What the heck is a pee game? Not another fetish, you already have all those cables and electronics? | + | What the heck is a pee game? Not another fetish, you already have all those cables and electronics? |
| - | Relax, it's a time based game which was played in the shared flat: \\ | + | |
| Are you quicker (with washing hands thoroughly!) than a predefined time (~1min)? Turn light on, do your duty and turn light off again. If you are too slow, the fan spins shortly to acoustically signal that time has passed and you have lost! Check your time on the web frontpage - you can start+stop the stopwatch game there too. \\ | Are you quicker (with washing hands thoroughly!) than a predefined time (~1min)? Turn light on, do your duty and turn light off again. If you are too slow, the fan spins shortly to acoustically signal that time has passed and you have lost! Check your time on the web frontpage - you can start+stop the stopwatch game there too. \\ | ||
| #Todo: add scoreboard leadership with acronyms/ | #Todo: add scoreboard leadership with acronyms/ | ||
| === MQTT === | === MQTT === | ||
| - | |||
| #TODO: Still missing. HeartBeat for smoke detector. \\ | #TODO: Still missing. HeartBeat for smoke detector. \\ | ||
| As ESP8266 only provides WiFi as wireless communication, | As ESP8266 only provides WiFi as wireless communication, | ||
| Line 193: | Line 198: | ||
| - build external, wireless WC-occupied LED-sign \\ | - build external, wireless WC-occupied LED-sign \\ | ||
| + | - add leadership score board for pee game \\ | ||
| - play tones over fan noise - feasible? \\ | - play tones over fan noise - feasible? \\ | ||
| - interconnect several fans \\ | - interconnect several fans \\ | ||
| 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 |
| + | |||
| + | {{gallery>: | ||
projects/maico_fan.1764420411.txt.gz · Last modified: by admin
