Page 1 of 1

bug: IO Shield Demo

Posted: October 26th, 2017, 6:38 am
by sumbals
After flashing the mojoboard with the 'IO Shield Demo' project the 'e' segment of all 7-segments leds don't work. Presumably the root of this fault can be found in the code since all segments work when using the 'IO Base Shield' project and changing:

Code: Select all

    io_seg = 8hff;          // turn segments off
    io_sel = 4hf;           // select no digits


Code: Select all

    io_seg = 8h00;          // turn segments on
    io_sel = 4h0;           // select all digits

I use the mojoboard RevV3 and the IO shield 94v-0 with the Mojo IDE Version B1.3.6

kind regards

Re: bug: IO Shield Demo

Posted: October 29th, 2017, 9:56 am
by sumbals
I looked a little deeper in the not-working 'e' segment of the 7-segment display.
In the schematics, there is a 330Ohm Resistor connected to each segment.
I might be wrong, but from my perspective, this would cause an insufficient voltage applied to the segments regarding the specs in the datasheets of the 7-segment display in combination with the mosfet.

I would suggest a more modest value of approx. >50Ohm?
In attachment, the relevant datasheet sections and schematics.

To validate this proposed solution, I changed the resistors to approx. 50Ohm resulting in all working segments and a brighter illumination.

kind regards
Sam Buls

Re: bug: IO Shield Demo

Posted: October 29th, 2017, 11:11 am
by sumbals
With the proposed solution above, segment 'e' and the 'dot' can not be controlled separately.
They can either be on or off together...

I think this is due to a short between the 'e' segment and the 'dot'.
In attachment you can find a photo of the io shield form the website of embedded micro versus my io shield.
Here you can see a difference in clearance between the 7-segment display, individually.

The io shield from the website has a bigger clearance then mine.
If I measure the resistance between two pins of two 7-segment displays, located next to each other, I measure approx 0Ohms.
These two pins are 5 and 1, corresponding to the 'e' segment and the 'dot'.
In contrast to other pins, the resistance is more or less 40MOhm.

Since there is no specification on the clearance between two 7-segment displays in the datasheet, these are designed to be as close to each other on the io shield.
I think, due to pick-and-place tolerances, pin 5 and 1 are to close to each other and form a short.
Note that the footprint is ok, but the actual pad's on the components might touch.

In my previous comment, I suggested a smaller resistor because the 'e' segment was not working.
If there is a short between 'e' and 'dot', this makes sense now.
If so, they share the same resistor, resulting in half the voltage and thus under the threshold.

Does anyone experience the same issue?

kind regards

Sam Buls

Re: bug: IO Shield Demo

Posted: October 29th, 2017, 12:08 pm
by sumbals
Looking at the PCB footprint of the 7-segment led, all dimensions are oke regarding the datasheet.
Here, the datasheet specifies a pad clearance of 1.88mm but does not specify the clearance between the pads of two neighbor 7-segments leds.

Presumably, this should also be 1.88mm.

In attachment, you can see the the pad clearance of 1.88mm intra 7-segment.
But inter 7-segment, the clearance is only 1.73mm.

#clearance might be the wrong word,... 'heart to heart distance' is better#

Re: bug: IO Shield Demo

Posted: October 30th, 2017, 1:29 pm
by embmicro
Thanks for all your work looking into this!

The short is likely more a solder paste stencil/reflow temperature issue than clearance. We've had a few boards returned with similar shorts that weren't caused by the displays touching but hair thin bridging on the PCB.

You can try heating up the pads with your soldering iron (since you seem to be good with one to replace the resistor) or send us and email ( with your order info and we can get you a replacement board.

I'll look into changing the resistor value on the next batch. The forward drop on the transistor is likely a lot less than 0.8V as that number is at 0.42A.

Re: bug: IO Shield Demo

Posted: November 4th, 2017, 6:46 am
by Speculatrix
I'm also having problems with the 7-seg displays on the IO board.

I posted separately about an issue I was having with a project from Simon Monk's book. viewtopic.php?f=7&p=5300#p5300

So I tried the IO Shield demo and found the same problem on all 7-seg displays.

Some segs come on when they shouldn't and are off when they should be on. Seriously screwed up.

For your amusement, this is what it looks like

Re: bug: IO Shield Demo

Posted: November 5th, 2017, 12:52 pm
by Speculatrix
Okay, so I've now had a look at the Eagle files for the IO board and I've buzzed out the pads for the 7-seg displays. Now, I'm no expert, but it looks to me like I'm finding all kinds of continuities that shouldn't be there. For example, if you take the pads below the displays, the right-most pad on one digit is linked to the left-most pad on the adjoining one. I can't see that that should be the case from the Eagle file. Also, the two left-most pads on every digit are linked. So I'm thinking that I've got a seriously b0rked board.