Broken Dremel

Just the other day I was working on a project, and decided to fire up the old dremel. It turned out that my plans were about to change, as I accidentally broke it. Yes! I broke a tool. It turned on just fine but the switch got stuck in between the on and off setting.

It started revving up and down as I tried to get it all the way on or back off, but the button wouldn’t budge! Smoke started to pour out the ventilation grate, and I speedily unplugged it from the wall. So, what next, it’s broken right?

Well, after waiting couple hours for any potentially dangerous capacitors to discharge, I set out on a repair mission. When I opened it up, the culprit was immediately identifiable.

Burnt Button

Here is the button that I removed from the dremel. Notice anything wrong? The bottom was all burnt, and it smelled horrible too. In case you’re wondering, yes, it’s still stuck.

Lucky for me, my dad has a stash of old electronics in the closet, and as it turned out there was a near identical button in there. Here is what it looks like after some de-soldering and cleaning.

New Button

Yes, I know it is a DPST (double pole) switch, but when I say identical, I really meant it has the same voltage, amperage ratings, and it fits. As you can see in the picture, I just covered up one sides terminals with heat shrink to ensure insulation.

Here is what the insides of the dremel looked like when disassembled.

Inside the Dremel

The button is just connected with those two female electrical sleeves, and the wheel down there is the potentiometer for speed settings.

Nothing else looked burnt, so I wired it all up and gave it a go (ready to unplug it from the wall at any indication of smoke).

Fixed Dremel

It worked just like before, and after a minute of running at full speed, there are no apparent problems. I’m sure glad to have this tool back working again!

Relay and Thermistor

I have been tweaking my Arduino project lately and have got some decent results. I started by setting up the relay and thermistor separately. The plan was to turn on and off a fan based on when the room was hot or cold. Of course the hot and cold values were just our preference as set in the Arduino’s code.

Here is what the current prototype looks like.

Arduino Thermistor Relay Box

Graphing the serial output was something that helped us choose what temperature to turn on and off at. It currently sits near the heater and helps to circulate the warm air.

Thermistor Sensor

Temperature readings are a very useful data source. From mini weather setups to indoor readings, the thermistor sensor has many possible applications. The Arduino is a great board for gathering sensor data, being so low powered, easy to use, and giving precise controls and readings with its built in crystal oscillator.

I built this little setup using a Tinkerkit thermistor module and an Arduio Uno.

Thermistor Wiring

This module has a NTC, 100k, disc thermistor. I used a 1k resistor on the output pin coming from the thermsitor.

Thermistor Sensor

I borrowed some code from this forum post. You may have to change some values depending on what thermistor, resistor pair you use, but that code should give you a near approximation. For a more in-depth, accurate approach, consider reading this post.

Button Controlled Relay

Do you ever get tired of getting up to turn the light off? Is that fan running when it doesn’t always need to be? A relay is a simple switch controlled by a small input signal, and when paired with an Arduino board, it can be told through code to turn on under specified conditions. This gives more control than a manual switch, and more convenience.

Button Controlled Relay

I am using an Arduino Uno and a TinkerKit relay module in this example. The red wire coming from the relay is 5v, the black wire is GND, and the center orange wire is the signal input wire to activate the relay. I put a button in to control the relay, and that required more code.

I ran into debouncing problems, and had to do some research. With push buttons, the button could be slightly pressed and send multiple short signals. As you can imagine, your lights flickering on and off like that would be an annoyance, and it would be hard to stop the flickering in the desired position, on or off. After reading, I found that some had suggested a 10ms delay in the loop would solve that problem. Here is the code I used after some edits.

const int BUTTON_PIN = 7; // set button pin
const int RELAY_PIN  = 3; // set relay pin

int button_state = 0; //variable for button's state
int button_state_old = 0; //variable to store old button state
int relay_state = 0; //variable to store relay state

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode
  pinMode(RELAY_PIN, OUTPUT);        // set arduino pin to output mode

void loop() {
  button_state = digitalRead(BUTTON_PIN); //read button input value and store

  if ((button_state == HIGH) && (button_state_old == LOW)) {
    relay_state = 1 - relay_state;
    delay(10); //10ms delay

  button_state_old = button_state; //set old button state

    if (relay_state == 1) {
    digitalWrite(RELAY_PIN, LOW); //switch relay on
  } else {
    digitalWrite(RELAY_PIN, HIGH); //switch relay off

Nintendo DSI Shoulder Repair

There is this game on my DSI that I really like to play, maybe you have heard of it?

Mario Cart Cartridge

The game requires the R and L buttons for drifting. I bought my DSI at a garage sale, and shortly afterwards the buttons started to not work properly. I did however, find that I could hit the buttons really hard and they would work… sometimes. Needless to say, I quickly lost the use of my left and right trigger buttons.

I recently started a project to repair the buttons, and I will talk you through my disassembly process.


I just used some simple screwdrivers to take off the back panel. My biggest fear was to accidentally strip one of the screws, but with some smaller screwdrivers, and a little patience that can be easily avoided. IFIXIT already has a great step by step guide for this, and that is what I followed for disassembly. Here is the striped down back panel where the L and R buttons reside.

DSI In Parts

I have already removed the buttons in this picture, but that is where they would be. I highly suggest cleaning the buttons with some rubbing alcohol before removing the buttons, as that would save a lot of hassle. One of the most frustrating things with this design, two separable sides, is the center ribbon cable that is so short and hard to re-attach. Anyways, if you can just clean off the buttons, than congratulations, you probably didn’t button mash like I did. Since I did, I had to remove them.

Tiny Buttons

They are really like a millimetre by a millimetre in size. I had some trouble de-soldering them, but with the enlisted help of my brothers hands, it was manageable. Note, don’t attempt to remove buttons alone, unless you are a serious soldering master.

Well, as it now stands, I am awaiting the new buttons in the mail. I will show you where I got them from, and how to reassemble when I get them. Until then, please be careful with your DSI as it is a computer and easily damageable. Seriously, the IFIXIT guide is the way to go with any computer repairs.