-
-
Notifications
You must be signed in to change notification settings - Fork 713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Miniware MHP50? #1872
Comments
MCU marking reads CH32F208WBU6 - a STM32 clone by Nanjing Qinheng Microelectronics (WCH). Vendor website has CH32F208WBU6 which does have BLE. I don't see any obvious debug headers (other than UART?) - so maybe it supports SWD via USB D+/D- like the MHP30? |
Honestly this looks like a better design than the MHP 30. Same rules would apply to this being supported as anything else really:
|
For the record, there's a thread about it at eevblog: https://www.eevblog.com/forum/reviews/miniware-mhp50/ |
@SimGas Short question dio you also have the problem that the temperature isnt correctly displayed? So it should heat up to 300°C but only displays around 150°C? ALso did it run for longer and ever encountered the problem that the controler says "over temperature"? |
@TowerDefender007 I have not yet observed any problems with my MHP50. I've used it in reflow mode around 5-10 times with temperatures up to 260 degrees. Everything was displayed properly. Right now, I tried heating in "heat" mode and this also seems to show the correct temperature. Which power supply do you use? If you use one with a low voltage, that could maybe overheat it? I use a 65w lenovo laptop power supply right now. I never had the over temperature error, but longest I used it was maybe 25 minutes or so. |
@SimGas I am using an Anker PowerPort Speed 5 with USB-C with PD but I also tried using my Shargeek battery bank that is capable of outputting 100W on the USB-C (20V at 5A) also I can see that the MHP 50 is using around 82W from the powerbank. But the biggest problem isnt that the temperature isnt accurate (or at least it would take 10min to read the right temperature) because it turns off at some point and says that the controller overheated. |
@SimGas The info menu only says 0 r/min but the funny thing is after I let it heat up and the error occured I unplugged it and plugged it back in again the fan started for a short time and then turned off again. Do you know how I can open it up to take a look at the fan because I thing the fan is the problem here? |
Well, there are four screws under the rubber pads on the underside. Losen those and wiggle the plate slightly. When it comes off you should be left with what you can see in photo 7. |
I opened it and the fan is working but there is something odd happening after rebulding it the MHP 50 turns on the fan at the start and says there is no fan connected. Then I dissambled it again and rebuild it again and now it works again. |
Maybe the pin for reading back the fan speed has a slack joint? |
I didnt checked that. I only checked the cable because it looked a little bit crushed. |
Just adding a note to document that I've tested SWD via the USB C connector on MHP50, but it doesn't work for me.
I'm fairly confident about the electrical part and am familiar with OpenOCD (although not with Pico). So either this particular device doesn't do SWD via USB C (seems ubiquitous on Miniware products though) or I've messed up. Anyone else feel like giving it a go? Or perhaps someone who has torn down the device is able to tell whether the SWD pins are in fact connected to USB D+/D- on this device? EDIT: This in fact worked on a second attempt, not sure why it failed initially. |
Exactly my thoughts.... And i'm (or I was?) also designing something. |
Hey there, |
EDIT: This comment contained a question about whether 28V DC input is supported on the barrel jack (rated 19-24V) while we wait for Miniware to release their firmware supporting the PD3.1 28V profile via usb. In the meantime I've received an answer from Miniware support: yes it does! .. which is another thing IronOS on MHP50 would be great for (28V PD support) - but it seems we lack traction. Other than my (failed) SWD experiment I'm not to keen on tearing it down as the rubber feet seem glued on... |
I have traced some connections on the PCB. I have noticed that USB-C does have only one pair of D+ and D- connected that could be the reason why first attempt of connecting SWD by @ius failed. Also D+ and D- are not directly connected to other MCU pins apart from SWD communication, they could be through some resistors or some other IC for USB communication. Here is what i have traced so far:
|
@danielkurek Thanks for chiming in! In the meantime I did get SWD to work, dumped the firmware and performed some cursory reverse engineering to patch the arbitrary limits Miniware put in place for the reflow temperature/time. In the process I also identified parts of the pinout. It's a bit rough (because I only did a first pass mapping all pins I've seen referenced in code) - but I have quite some functions labeled in IDA - identifying peripherals isn't too difficult based on the configuration settings/menus. For my current use case the (patched) Miniware firmware works quite well, but if someone is willing to invest time in actually writing code to port IronOS (@Ralim?) I might be able to spend some more time on reversing. Display is ST7735 based by the way. External flash is just used for configuration settings. Miniware have released v1.01 as a downloadable firmware upgrade, just in case anyone wants to take a look at the firmware without having to wire up SWD. |
Here is updated list of the MCU pinout. The main thing missing is controlling of the mosfets for the heating element. They are controlled by TPS51601A but unfortunately the main pins are connected through unknown IC.
EDIT: Updated pins
Accelerometer?
Power input
Buttons
USB-C
HotplateMosfet driver
6-pin connector
4-pin connector
Fan
Op-amp
Display
External flash
|
The pinout of the MCU is almost complete. The main pins were traced. Pins PC1 and PC2 are probably used for charging a supercapacitor (15F, 3.8V) and powering the MCU. During testing I found out that the MCU can be run entirely from the supercap even if no power input is connected (I was really confused that the display was still working even after disconnecting the power when the MCU was halted 😄). I have managed to get FreeRTOS working using examples from MCU manufacturer. The example project was converted to GCC so that it can be easily compiled. You can find the project in repository CH32F208WB-FreeRTOS-GCC (beware currently the project overrides the original bootloader). Additionally, I have fixed a fork of OpenOCD that enables flashing firmware to the MCU (fixed version). I will start working on porting IronOS in the next few weeks. |
Hi @danielkurek |
I did not have much time to work on it but i started to work on controlling the heating element. (Also, I have updated the above pinout with my current findings). I have not found datasheet to the IC (with markings 0101 A317A) that is between mosfet driver and some MCU pins so I am currently in progress of guessing how to drive the MCU pins to control the heating element. After that, I think that it should not be hard to get the first alpha version of IronOS working on it (with minimal functions - display, buttons, heating). I do not have much experience in reverse engineering hardware so the progress is quite slow with my limited time. However, if someone has more time to work on this, I would be happy to help and provide all my notes on reverse engineering/development. Otherwise I will be slowly working on it in my free time. |
I have an update. I have managed to get the heater control working. There is a failsafe mechanism that ensures that the heater will not work if the MCU fails. Pin D4 needs to have a constant software PWM (no hw timer support) which enables power to the mosfet driver IC and logic level shifter (which shifts control PWM to 5v). I will start working on porting IronOS to the MHP50. |
Hey danielkurek, is there hope to have ironOS with freely selectable reflow max temp available on mhp50 (similar to mhp30)? |
@agilum I will start with a very basic firmware with only buttons, screens and constant temperature mode working. Once that is working, I will try to match the features of the MHP30 that are in IronOS. So, yes reflow temps should be freely selectable (the hardware does not limit this behaviour). |
@danielkurek Both the I don't have hardware but I'm happy to try and help with the messier parts of IronOS itself. |
Is your feature request related to a problem? Please describe.
Recently, the MHP50 Hotplate was released as a successor to the MHP30. It is available for about 110€ on Aliexpress and supports 100 or 150W heating, together with a new mode for reflow soldering. Little can be found on the web for this hotplate yet, but I actually expect it to get more popular than the MHP30 very soon (much larger solder plate (50x50mm instead of 30x30mm).
However, This plate is more complex (e.g. multicolor display) than its predecessor and I am not sure if it could be covered within this project. But I just wanted to ask if you guys see any possibility supporting this plate anytime in future.
A few things I've already noted:
The discussion is hereby opened :)
If anyone is curious what's inside, I've taken a few pictures:
CONFIG.TXT
The text was updated successfully, but these errors were encountered: