I'm designing a general-purpose PCB for a 8051-family MCU. I make it compatible to use shields for the Arduino Uno. There is a snag with the reset circuitry, as an Arduino is active-low reset and the 8051 is active-high reset. So if a shield has a reset button I need to feed it to the 8051 MCU through a logic inversion.

Reset signal inverter

In the schematic, J1 is the Dupont connector to the shield. Disregard J8 as it is an unrelated external connector for a reset button and power-on LED. R2 and D1 is just a power indicator.

The net labelled "RST" is the 8051 reset pin; R1/C1/SW1 is the standard reset circuitry for 8051 MCUs; R10 limits current from C1 discharge, and SW1 is an on-board reset button.

Net labelled "RESET" could be wired to a reset button on an Arduino Uno shield. R9/R11/Q3 is the actual inverter that shunts C1 as would SW1 when the transistor base is pulled low from the shield's reset button.

Does everything seem ok?

  • \$\begingroup\$ @brhans - Ok, he does say "if a shield has a reset button ". \$\endgroup\$
    – Nedd
    Commented Jun 17, 2023 at 3:45
  • \$\begingroup\$ Looks plausible, I just would select a higher value for R2. \$\endgroup\$
    – Jens
    Commented Jun 18, 2023 at 0:18
  • \$\begingroup\$ @Jens Thanks mate, had to change it, almost forgot! \$\endgroup\$
    – Joe
    Commented Jun 18, 2023 at 0:34
  • \$\begingroup\$ What voltage is on IOREF? Does this 8051 have Schmitt trigger on the reset input? \$\endgroup\$ Commented Jun 18, 2023 at 2:22
  • \$\begingroup\$ @Spehro IOREF is 5V. I can't find any mention of schmitt trigger on the reset pin in the datasheet. Are you worried about slow pulse rise time? \$\endgroup\$
    – Joe
    Commented Jun 18, 2023 at 20:05


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.