Add support for FNSRI HS-02(A/B)
Device name: FNSRI HS-02A / FNSRI HS-02B Device type: Soldering iron Approximate price: $130 (Canadian moose nickles) Example purchase location: Amazon
Hardware details: Processor: Nation N32L403 (ARM CORTEX-M4) @ 64 MHZ Flash: 64 or 180 KB (not sure yet) SRAM: 16 or 24KB (not sure yet) Temperature sensor: Thermocouple (JBC 210 tip compatible) Cold junction compensation sensor: not sure where, working on it Pinmap: Working on it
Soft requirements: USB-PD: yes, WCH-CH224K open source schematics: no Vendor friendliness: unclear Hardware PWM: unclear, mosfet is AOSMD 4407A STM32 clone: nope!
USB-QC: no DC in: no BLE: no
I have an HS-02B that I have already disassembled and I plan to create a pinmap from this. High resolution images and my findings will follow in the coming days.
Duplicate of #1935
#1935 has devolved into technical support requests and hardware opinions, I thought it might be best to start clean - my apologies if this is not the correct way.
Here are the promised high resolution photos - I have much larger ones but Github does not seem to like images of that size. I plan to have a pinmap ready in the coming weeks.
Great! I've been reverse engineering the firmware and trying to figure out the pinout from the "other" side. It would be great to have an independant verification.
These are my current results:
GPIO_A1: analog, ADC_IN2 (actually gets read, not sure if for voltage or temperature) GPIO_A2: analog, ADC_IN3 (configured as ADC channel but apparently not used)
GPIO_A3: display reset GPIO_A4: display chip select GPIO_A5: display SCLK GPIO_A6: display CMD/DAT select GPIO_A7: display MOSI
(the firmware uses bitbanging for the display)
GPIO_A8: TIM1_CH1, 4ma, Timer1 (Heater, timer based PWM)
GPIO_A9: i2c SCL (probably used for the movement detection sensor) GPIO_A10: i2c SDA
(the firmware uses bitbanging for i2c)
GPIO_A13: output: (maybe button LEDs?) GPIO_A14: output: (maybe button LEDs?) GPIO_A15: TIM2_CH1, 4ma, Timer2 (Beeper, timer based PWM)
GPIO_B0: analog, ADC_IN9 (actually gets read, not sure if for temperature or voltage) GPIO_B1: analog, ADC_IN10 (configured as ADC channel but apparently not used)
GPIO_B3: input: ok-button (?) GPIO_B4: input: up-button (?) GPIO_B5: input: down-button (?) GPIO_B6: output: CH224: CFG3 GPIO_B7: output: CH224: CFG2
GPIO_D14: TIM1_CH3N, 4ma, Timer1 (Display Brightness, timer based PWM) GPIO_D15: output: (not sure for what, mybe button LEDs as well?)
I also have a HS-02A and interested in this. Let me know if I can help
@simon-budig that is incredible information! When I have some time next, I'll see if I can remove some unknowns by probing the board. Thank you so much!
Reverse engineering a PCB is quite easy if you know what you are doing. Any broken or donor HS-02 available? Then I could help you guys out…
Procedure is described roughly here:
https://github.com/mentalDetector/Quansheng_UV-K5_PCB_R51-V1.4_PCB_Reversing_Rev._0.9
#1935 related fw post