Category Archives: Modification

TENMA Rework Station Teardown

In a previous post I added a control knob to my Tenma 21-10130 Rework Station, but now I am taking a more detailed look at the controller board hardware inside paying particular attention to the microcontroller connections.

Removing the board from the rework station was a bit of a hassle, the screws at the bottom are particularly difficult to access. Eventually I had to unbolt the transformer from the case so I could get the screwdriver in, the transformer bracket catches up against a heatsink and capacitor so it cannot be completely gotten out of the way.

Controller Board, component side

The board can be divided up into five sections, on the left is the mains power supply, with connections to the power switch and rework heater, along the bottom left is the 5V DC power supply for the microcontroller, top right is the control circuitry and connections for the rework heater and hot air, and bottom right those for the soldering iron. In the centre is the microcontroller and associated circuitry.

The rework heater, air pump and soldering iron are all controlled using triacs, these in turn are connected back to the microcontroller through optocouplers. The rework heater and air pump operate at mains voltage, 220V, while the soldering iron works at 24V, these are all using Alternating Current. Essentially the station is a collection of variable dimmer switches controlled by the microcontroller.

Wires Everywhere

There are ten connections to the controller board

Conn Purpose
CN1 Mains in – from power connector
CN2 Power Switch
CN3 220VAC out to transformer
CN4 Rework Heater
CN5 Rework Air Pump power
CN6 Soldering Iron Temperature
CN7 Hand Key – Controls for Rework Wand
CN8 AC 9V input
CN9 Soldering Iron Power
CN10 AC 24V input

The connectors CN5 and CN6 are used to provide sensing for the microcontroller; one for the soldering iron temperature and another from the rework wand with the button controls, in cradle detect, and temperature sensing, there is also a row of five onboard button switches.

Microcontroller Control

With the multimeter in beep mode, tracing back the connections to the microcontroller took a couple of days.

PIC16F916 pinout

The PIC19F916 microcontroller has 24 digital Input/Output pins which are divided into three ports of eight; RA0-RA7, RB0-RB7 and RC0-RC8. In the lists below I have shown the physical connection as well as the I/O port used.

The power control connections are to an optocoupler which in turn switches a triac:

PIC Pin Optocoupler Triac Purpose Conn
11 RC0 U6: MOC3083 TR1: BT136 220VAC CN3
6 RA4 U5: MOC3083 TR2: JST139F Rework Heater CN4
16 RC5 U4: MOC3023 TR3: BT136 Rework Air Pump CN5
7 RA5 U7: MOC3041 TR4: BT137 Soldering Iron CN9

After much tracing of circuitry I found the triacs to be connected to the optocouplers much as shown below. Resistor values vary and on the microcontroller connection side the current limiting resistor is on the low side, pin two, rather than on the 5V line.

Optocoupler – Triac switch (from the MOC3043 datasheet)

There are five front panel control buttons which go low when pressed. Internal pullup resistors appear to have been used in the microcontroller.

Key PIC Pin Purpose
K3 24 RB3 Rework Power
K1 22 RB1 Up Button
K2 23 RB2 Down Button
K5 26 RB5 Set Button
K4 25 RB4 Soldering Iron Power

The two LCD displays, both are the same with seven connection pins with pin one at the top. The rework stations designers have not used the PIC’s built in LCD display functionality. The LCD panels are marked JRD90601A on the underside, I couldn’t find anything about this on Google.

Rear of LCD display
Conn PIC Pin PIC Pin Purpose
1 n/a 5V
2 n/a GND
3 13 RC2 13 RC2 Data 1
4 12 RC1 12 RC1 Data 2
5 15 RC4 14 RC3 Data 3 – LCD Select
6 n/a Backlight 5V
7 n/a Backlight GND

At present I have no information about the LCD data pins, I’m thinking that RC1 and RC2 could be Data/Clock while RC3 and RC4 is for selecting the LCD to send data to.

Controller Board, LCD displays side

The Hand Key connector CN7 for the Rework Wand with pin one to the left when looking at the component side with the key notches uppermost. I have not opened the wand as it is sealed closed with glue and I did not want to damage it.

CN7 PIC Pin Purpose
1 n/a GND for temperature
2 2 RA0 Rework Temperature – through OP07C op-amp
3 n/a GND
4 27 RB8 unknown – no connection?
5 18 RC7 Up Button
6 17 RC6 Down Button
7 28 RB7 Select Button
8 n/a GND for button controls

Other Connections

PIC Pin Purpose
10 RA6 Buzzer – through Q2 (possibly a SS8550 PNP transistor)
9 RA7 U3: PC817 photocoupler – some kind of mains frequency monitor?
3 RA1 CN6: Soldering Iron Temperature – through op-amp OP07C
1 MCLR Pulled high through 10K resistor – Master Clear Pin External Reset
21 RB0 9v AC monitor?

This concludes the examination of the hardware connected to the microcontroller, further work needs to be done through software and oscilloscope observations to see how the LCD displays, power controls (probably PWM), and temperature sensors work and what the 9V AC and 220V AC monitors are doing.

Rework Connections to the PIC16F916


Here are a couple of diagrams I drew up of the more involved sensor circuits while tracing things out. Values for the ceramic capacitors have been omitted as they are not marked on the SMD package. Both the rework and iron temperature sensors have similar op-amp circuits.

Op-amp circuit for the soldering iron temprature
9V AC monitor circuit
220V AC monitor circuit


A Knob for my Rework Station

For soldering electronic components I use a Tenma 21-10130 rework station, this is a rebadged Chinese model sold by Farnells under their own brand name it has a soldering iron and hot air station combined in the same box, for me it works well, does the job and is considerably cheaper than those from Hakko or Weller.

Tenma 21-10130 Rework Station

The only real problem are the controls, five small fiddly buttons on the front panel, something that appears to be common on all these ‘budget’ stations, while the temperature on the soldering iron only needs changing infrequently, the hot air temperature and flow need to be adjusted more regularly. I guess the manufacturers preference for buttons is to make the machine cheaper to produce.

Under The Cover

Removing the lid reveals the air pump, sundry tubes, a large control board and a fantastic selection of wires to discourage taking the whole thing properly to bits.

Inside the Rework Station

The onboard microcontroller is a PIC16F916, this is a 28 pin 8-bit 20MHz controller with 14Kb of program memory, 24 I/O pins and an integrated LCD driver.

PIC16F916 pinout

Fortunately the connections for the front panel buttons can be just about reached with multimeter probes, and with the mains power disconnected, I was able to buzz out each switch and find where it went to on the PIC controller.

Button Connections
26 RB5 Set Button
25 RB4 Soldering Iron Power
24 RB3 Hot Air Rework Power
23 RB2 Down Button
22 RB1 Up Button
21 RB0 no connection
20 Vdd 5 volts
19 Vss Ground


To improve access to the microcontroller connections I built a breakout board to give me access to all the micro-controller pins via standard pin headers. On the side that plugs into the existing socket I mounted a load of 90 degree pin headers and on the other a standard DIP socket with the legs splayed out so I could surface mount it. The pin headers are little on the large side for plugging into a DIP socket so you need to check its fully engaged with the onboard socket when you push it in.

Breakout board in place
showing the header pins
the PIC controller in the breakout board

Rotary Controller

Circuit Diagram

The rotary encoder I used is the SparkFun COM-10982 mainly because it is easy to panel mount, at this stage I have not used the builtin LED’s to add effects. This connects back to the controller board which has an ATtiny84 microcontroller to convert the encoder pulses into suitable button responses. There is also an opto-isolator for the button controls and a small DC-DC 3.3 volt power supply as I don’t know the power characteristics of the rework station. I took the 5v power for the controller from the same supply as for the PIC.

The controller board with an ATtiny84

I programmed the controller so that pressing the encoder emulates the set button and cycles through the available settings; the temperatures for the iron and hot air as well as the air speed. Rotating the encoder adjusts whichever setting has been selected. In the code, the Soldering Iron Power button is shown (RW_IRN) as connected; it is not used, the LED flashes when the rotary encoder is turned, its a bit pointless as it can’t be seen once the cover is back on. I wrote this in the Arduino IDE.

There is not much free space available on the front panel of the station, the encoder can only be mounted between the connection for the soldering iron and the mains switch. I have mounted the controller circuit board on the rear panel.

Rotary Encoder in place on the front panel


One of the problems with this rotary encoder is when its turned too quickly it gets confused and can skip pulses or operate in reverse.

Also, the speed of change is limited, the PIC controller will only see so many pulses per second, I got this down to 14ms anything lower and it was unreliable, probably this is part of some code to detect button bounce, so a fairly long pause between each button press needs to be made.


A few improvements could be made to the rework station that could mostly be implemented in the PIC software. Those that have occurred to me are; the control for the air speed only needs to go from one to eleven, slow, medium and fast, the speed currently goes between 20 and 100 and changing the speed can be rather slow. Some sort of velocity control on the rotary encoder so the faster its is turned the greater the amount of change in the temperature. An auto-off function for the iron, so when its back in the cradle it cools down and preserves the life of the soldering tip and, most importantly, a volume control for the annoying buzzer.

I have written more extensively about the main board hardware in this teardown.

Links and Sources

Captive Nut How-To

A quick captive nut how-to, for when you are making a wooden box that has a lid you need to remove on an irregular basis. Wood screws tend to maul the wood after a while and then the lid falls off, these captive nuts are easy to do and just work.

You will need:

  • Nut and bolt
  • two part expoy adhesive
  • drill bit as large as the nut and a drill
  • Vaseline or any other petroleum jelly
parts needed
parts needed

In this example I am using an M4 nut and bolt and an 8mm drill bit. You may need to cut your bolt to length.

1. Drill your hole
in this case about 1 cm, deep enough so when you insert the nut and bolt the expoy will cover the nut. Clean it up, removing wood shavings and other debris.

Hole Drilled
Hole Drilled

2. Grease Up
To prevent the expoy sicking to the bolt smear some Vaseline onto your bolt, only a small amount is required, but you should get it into the thread, make sure you keep the nut clean. Thread the nut back onto the bolt, leaving 4-5mm of bolt protruding, as shown:

grease your bolt
grease your bolt

3. Mix up the Expoy
Mix a blob about the size of a marrowfat pea, enough to fill half of the hole. Drizzle this into the hole.

drizzle the expoy
drizzle the expoy

4. Plunge the nut and bolt into the hole
Wiggle it about a bit to make sure the expoy is well distributed. Position the bolt how you would like and leave to set. If you see the bolt moving use some sticky tape to hold it in place.

plunged bolt
plunged bolt

5. Remove the bolt
After about 10 to 15 minutes, the expoy will have set (unless you got that weird stuff). Use a screwdriver for at least the first turn as there will be a little adhesion, but it’ll come out cleanly.

If you have any excess expoy protruding it’s still quite soft at this time so cut it way with a Stanley knife as I have done in the example. Once fully cured expoy makes a hard plastic that can be difficult to cut.

the nut is captured
the nut is captured

The amount to cut off your bolt is the length of your bolt less the thickness of your lid less a bit of wiggle room, I use a cutting disc on a Dremel, and file the cut edge smooth. You need to ensure its long enough to go through the nut once cut as the expoy has a thread that gives a misleading nutness (technical term!) that soon wears away.

I hope you enjoy your captive nuts, I am sure they will give you many years of service. The same principle can also be applied to making captive bolts, especially if you wanted to use Wing Nuts for easier access.