I own a JL1N-20MR (supposedly FX1N-20MR clone) based on STM32F103RCT6 CPU.

I figured that I might be able to re purpose this PLC for home automation by altering it's firmware to use something more IOT oriented. Do this instead of creating my own hardware design since this board has everything I need.

I don't have experience in hardware reverse engineering, nor in programming STM32. However I am experienced programmer with reasonable understanding of electronics. I did a number of successful embedded hardware/software projects in the past.

I am searching for hardware documentation or anything that could help me start working with this board.

  • \$\begingroup\$ It doesn't have an Ethernet port. How are you going to network it for IOT? Why are you choosing the wrong hardware for the job? \$\endgroup\$
    – Transistor
    Feb 27 '20 at 18:56
  • \$\begingroup\$ It does have a serial port, that I can connect to an ESP board. The hardware is nice since it has a good number (8) of optical isolated inputs and output relays. \$\endgroup\$
    – sanyi
    Feb 27 '20 at 19:04
  • 4
    \$\begingroup\$ It's unlikely you're going to find schematics for that board. Best thing to do is to start with the pin-out and trace out the programming pins (they may be broken out to some pins somewhere), then try to load in a bootloader. Next you'll have to trace back the pins for the I/O to see what port/bit they go to. Remember to make your own schematic along the way... \$\endgroup\$
    – Ron Beyer
    Feb 27 '20 at 19:15
  • \$\begingroup\$ what are the programming pins / where on the board? - ah I see - USART1 I am looking into getting a FORTH onto it - that would be great ... Programming interactively via serial \$\endgroup\$
    – MJB
    Aug 29 at 21:16
  • \$\begingroup\$ USART1 using RS323 adapter. Note that platformio/platform-ststm32 now supports the board if you want to try C/C++ \$\endgroup\$
    – sanyi
    Aug 31 at 8:25

Thees are my findings:


Input voltage seems to work without problems from 12v-24v. Has onboard 5v and 3.2v regulators.

BOOT0 default LOW, set jumper for HIGH
BOOT1 (PA2) is set to LOW

RS232 PA9 PA10 (USART1) for programming when BOOT0=HIGH
Onboar serial port TX PC10 and RX PC11 (USART3)

RESET is the common point between R24 and C14 active on LOW


Switch RUN when PC1 to GND ?


Outputs (8 rellays active on HIGH):
Y0 PD2
Y1 PA12
Y2 PB10
Y3 PB11
Y4 PB12
Y5 PB13
Y6 PB14
Y7 PB15

Inputs (12 active when pulled to ground):
X0 PA0
X1 PA1
X2 PC5
X3 PC6
X4 PC7
X5 PC4
X6 PA6
X7 PA7
X8 PB0
X9 PB1
X10 PA3
X11 PC12

I was able to program the board with stm32loader. I was able to build working firmware using STM32Cube and Platformio:

platform = ststm32
board = genericSTM32F103RC
framework = arduino

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.