element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
PCB Design, Prototyping and Production
  • Products
  • More
PCB Design, Prototyping and Production
PCB Blogs Ninja reflow: Part 2: Reverse engineering the PCB - mains powered
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join PCB Design, Prototyping and Production to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Fred27
  • Date Created: 10 Apr 2026 6:03 PM Date Created
  • Views 27 views
  • Likes 2 likes
  • Comments 0 comments
  • stm32
  • reverse engineering
  • reflow soldering
Related
Recommended

Ninja reflow: Part 2: Reverse engineering the PCB - mains powered

Fred27
Fred27
10 Apr 2026

So, after deciding that I would update a Ninja SP101 oven / air fryer to act as a reflow oven, the first step was to reverse engineer the PCB. I needed to know what pine I had to toggle to turn on the elements and what I had to read to get a temperature reading.

The components I needed to interface to were as follows:

  • Three upper heating elements that can be separately controlled
  • On set of three lower elements that are all switched at once
  • A main fan for the fan oven bit
  • A light inside the oven
  • A PCB fan for cooling the triacs
  • A thermistor for taking oven temperature readings
  • A thermistor for taking temperature readings from the triacs
  • A front panel which use a TM1629D to manage the LED display and buttons
  • A rotary encoder for the main button
  • Unknown to me at first, but there's also an accelerometer to tell if the oven's upright

The PCB was luckily a fairly simple single-sided affair with a few jumped links. It was simple enough although the SMT components were tightly packed and it could be tricky to see if some pads were connected or just close together. This is a section of the board.

image

I started off on the main bit - controlling the elements. Tracing the high voltage control circuitry back to the relevant PCB pin wasn't too tricky. It just involved peering at traces under the microscope, using a continuity tester, and a bit of common sense. I could see 3 triacs for the upper elements. Each one had an optoisolator. Nearby was a transistor and resistor. These led back to 3 pins on the STM32 microcontroller. Not too tricky.

Similarly there were two relays. One seemed to be the first thing in the path of the mains power. The second seemed to connect to the lower elements. I guessed that the first isolated everything for safety reasons and the second was for the lower elements. The path back gto the microcontroller for the lower elements was the usual flyback diode, transistor, resistors, etc. The main power one seemed a little more complicated but did eventually go back to a pin.

After guessing the pins the first thing I did was some basic code to switch the elements. I had some success. One of the relays (for the lower elements) clicked in a very satisfying way, but the main one refused to engage. I suspect the triacs were working but with the primary mains power cut off it was hard to tell.

From the slightly more complicated circuitry between the pin and the relay, I suspected that something more than just a digital output was needed. It would be terrible if something went wrong and things were stuck on. My money was on a pulse train, but I suppose an anaolg output in a specific range was a possiblility too. I decided that spending a bit on a spare board from eBay would be useful. It woudl mean I could revert things if it went wrong and also could probe how things should work. In the end it turned out that a 5kHz square wave was needed. A bit of modified code later and I could control all the elements and also the main fan and light via the SPM32's GPIO.

Whilst doing this I decided it would be safest to use a logic analyser and a laptop running on battery power. A handheld oscilloscope that I got from Element14 also came in useful.  It seems that however the 3.3V DC (also 12V and 5V) is generated, the ground floats at about 80V above earth. Good job I didn't use a mains powered oscilloscope before checking!

After working out the mains powered side of things, I found a good point to power the board via 5V so could work on the logic level side of things in a bit more comfort. It's not nice typing on a laptop knowing any metal parts might feel a little spicy!

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube