Designing embedded computers course.

IMG_9207

This fall I took a course in “Embedded computers design”. The class is focused in making a complete pinball game machine system. The greenblue thing to the right is the game section, standing at the moment, at the left is all the control electronics. It has three nodes connected with a CAN and SPI bus. Two of the nodes isĀ  some prefabricated evaluation boards. The last one we had to design ourselves using breadboards. Here you can see the breadboard at an early stage in the build process, with a serial interface chip and external RAM with a latch for addressing.

IMG_8989

More features was added thereafter. C code was used to program the whole system, and werial interface was used for debugging. Designing in a clean way makes it easier to debug the hardware. But even in doing so, we spent four hours debugging only to find that a two wire ribboncable was connected the wrong way! Here is the complete breadboard.

IMG_9025.JPG

The second node (the white NTNU board), is used for controlling the game and has alot of features such as capacitive faders. However we added the bigger joystick seen in the first pic as an extra feature to impress the teacher! It also made it easier to play the game. The NTNU board communicate via CAN bus.

IMG_9211

A slideshow of the various parts of the game:

This slideshow requires JavaScript.

 

Novation Midi keyboard repair

 

front.png

This Novation Remote 49 sl Compact keyboard had some keys that periodically were defective. These kind of errors are the worst thing to track down. Cause when you measure with the multimeter to find the bad connection, the little error deamon inside will passivate, and you will not find the faulty part.The unit has two circuit boards, one main board and one at the keys.

2016-02-21 17.41.24 edit

The first thing I suspected was some not so good looking solder joints on some diodes on the auxillary circuit board (see second picture). After this fix the keyboard worked for awhile and I was happy. However some weeks later the fault was back. I then went over the solderings on the coder circuits for the keys. This circuit converts the paralell input of the keys into a serialĀ  signal to the microprocessor in the keyboard that writes the MIDI signals. Again, the keyboard worked for some weeks until the deamon was back. Once again I opened the thing, and just by checking the flat ribbon cable that connects the two circuit boards inside it went back into fully functional operation. I changed the cable, but the fault was back again after some time. Pretty annoyed by this deamon, I then went over every solder connection in the circuits between the coders and the keys. However the fault always came back. The next step was to change the actual components, and my attention fell to this multiplexer chip that was handeling the data coming from the ribbon cable and the keys.

2015-12-16 02.16.18 edi.jpg

Looking at the datasheet of this multiplexer, the chip had an “chip enable pin” that was supposed to be kept low for the chip to function. Measuring the circuits on the keyboard, the designers had forgotten to connect the chip to ground! Unless the chip has an puilldown resistor inside, the pin will then be “floating”. A floating pin is higly sensitive to electrical nois, and will go high or low depending on the direction of the wind.

chip enable

I finally thought I had managed to fix the problem, cause it worked for a long time after soldering this pin to ground. However this was not the case, I thought that the chip was broken, but replacing it would not fix the problem. I then made a lot of mess by replacing and resoldering various resistors and diodes to see if that fixed the problem. The result was quite messy, as the tracks circuit boards tend to loosen from the heat. After many hours of unsuccessful attempts, I wanted to throw the thing out the window and never see it again. But I decided reverse engineer the circuits (service manuals not available), and finding where the traces on the circuitboards would go. I inspected the circuits and found that from the multiplexer chip, 7 out of 8 of the inputs went into the ribbon cable to the keys. The last one went into a “via” on the circuit board throug a track inside the multilayer board.

Untitled.png

 

The problem was that I could not find the “other end” by measuring with the multimeter due to the fact that the trace was faulty. Probably the current of the “beep tester” was too big for the partly fauled trace to handle. However I did not know about the faulty trace, I was just looking hopelessly for the other end with the multimeter! But I also found an pin on the ribbon conector that apparently was lonely. Looking on a pin coniguration inscription on the auxillary board, it wasnt just a NC (not connected) pin.

2016-02-21 18.02.06

The last fix that killed the faulty deamon was a wire fix on the circuit board. I was quite supprised to find that the tracks on the circuit board itself were broken. That is the last thing I would suspect in the first place. The last picture shows the fix in red, the end result was alot cleaner than this hopeless mess.

2016-02-21 22.09.18 ed

At last, this keyboard learned a me a valuable lesson. That is to also look where you don’t really suspect you will find the fault. I am now quite happy that I did not throw the unit away, this board has alot of weight in the keys wich the newer ones dont have. They always find new ways to save more money.