For a research project I'm trying to create a manual control for the Chinese massage chair we've acquired, as the inbuilt controller only allows for its 5 preset programs. I am wondering what is the best way to go about this?
What we want to create is a serial connection for our (C sharp) program on a PC, so we can control each of the chair's functions. Instead of wasting our time to completely redo the control board, it seems more effective to either reprogram the current microcontroller or bypass it with our own. In all its fanciness, the chair is quite simple in its functions and only seems to use on/off control for its actuators. However as I do not feel confident implementing a serial protocol on an unknown(?) chinese IC in assembly language, the second option seems more feasible. However it would be nice to relatively easily be able to revert back to the original IC, so we'd prefer not to destroy it and ideally we'd even be able to switch back to original control. Our approach would be to first observe and measure how the io of each pin of the original microcontroller correlates to the behaviours of the chair, and then replace it by our own microcontroller. Below I have put more information on the chair, but first my main questions:
-Could I simple cut the main Vdd line of the original microcontroller and add a switch to be able to switch between our custom control and the original control? Or would the original microcontroller be powered through the other lines and interfere with our own microcontroller? -Would there a way to read out the current hex code of the original microcontroller so we would be able to replace the chip in case we'd accidentally fried one? -I tried looking, but didn't find anything, but would there be such a thing as a reverse QFP breakout board? A board that I could mount in place of the original microcontroller, and breaks it out to say 0.1" headers? Or is the better way to go to search for larger solder points on the same trace and wire it to my own board? -Any other tips for going about this are welcome!
Images of the board: https://imgur.com/a/1xOgXYO
-It has an air pump feeding four sets of air bags through four solenoid valves -It has six 24V motors: -Three for the main massage assembly -One for lateral movement (with two end switches) -One for kneading -One for vibration -One for the foot massage rollers -One for adjusting the orientation of the chair -One for vibration under the seat (this might have a lower voltage, I didn't check it out yet) 'It has heated areas at the back, seat and legs. It yet unclear if these are individually controllable -There is a switch to sense a person sitting on the chair -There is two small RGB LED panel on the sides of the chair
Looking at the control board I see -A SinoWealth SH88F516 microcontroller as the brain. -Two ULN2003A transistor arrays that I assume to drive the four relays (there is four more mounting points, probably for a more fancy model) -On the bottom is a row of heat-sinked transistors I assume that together the relays and heat-sinked transistors take care of driving the motors and their direction, although I didn't dive yet into how this exactly works (feel free to explain how this is implemented ;) ) -A row of transistors on the top driving the four valves ( there is options for four more, probably for a more fancy model) -There is a seperate board that drive the two RGB LED panels +There is a whole bunch of wires going to the main massage assembly that I didn't check out yet what they might be for, but I assume they are rotational and maybe pressure sensors.