• Using a PIC16F18446 is a lot easier

    John Lonergan05/02/2021 at 21:09 2 comments

    I'm about to update the successor project https://hackaday.io/project/178227-7-segment-module-using-pic16f18446 to cover the latest variant of that board.

    The DM9368 is a classic part but at £5 each and the counterfeiting I'm not interested. The PIC costs about £1 and I need only one PIC for the pair of digits whereas the DM9368 needs one per digit. So it's £10 vs £2 for a much more appealing result. 

    A big advandage fo the use the PIC is that I have been able to build a module that's no bigger in real estate than the two seven sebment displays themselves.

    My advice is to abandon attempts to use the DM9368 at al for this kind of application 

    I doubt I'll post here again.

    You can see the progression in the design below. On the right is the DM9368 model and the two on the left are the PIC models.


  • Successor project well underway!

    John Lonergan03/15/2021 at 00:53 0 comments

    The successor can be seen here  https://hackaday.io/project/178227-7-segment-module-using-pic16f18446

    and also .. https://github.com/Johnlon/SevenSegmentModule

    This project replaces the use of two classic DM9368 display drivers with a single 8 bit microcontroller.

    The microcontroller being a current part is easy to obtain and super cheap, and now that I've figured out how to use Microchip's IDE and toolkit I have already written the program code and tried it with their simulator.

    Hoping the chips will arrive in a couple of days. Microchip has crazy lead times on delivery.


    Keep an eye on the new project.

  • Final product

    John Lonergan03/13/2021 at 21:42 1 comment

    Despite my decision to rebuild this board using a microcontroller instead,  I thought some images of the final product as it exists would be in order.

    The bare board

    I switched to long pins so there's clearance under the device for wiring. 

    This version uses headers with male pins at both ends. In the next variant I'll use female headers with long pins and mount from the top of the board so that I can put jumper wires into the receptacles. Or, perhaps male/male jumpers with long pins at both sides? Either way it will allow for top connection as an option.

  • Fake Chips!!

    John Lonergan03/13/2021 at 21:18 0 comments

    So this project works fine BUT all but two of the driver IC's I have turned out to be fakes.


    I've done a bit of research and it looks like I can achieve pretty much the same thing with a microcontroller.

    I've ordered a few PIC16F18446-I/P and wil redesign the board for these. I'll use 8 inputs and 9 outputs. pins.

    7 of the outputs will drive segments and the 8th and 9th outputs will select which of the two digits will be lit. 

    The GPIO outputs can handle plenty of current but I'll be limiting that with a resistor anyway. I can connect the digit select output pin to the common cathode of one digits so when the digit select pin is low then it will be enabled and the digit lit. 

    The data sheet is massive and I've never used a microcontroller so there is an excellant chance that I've misunderstood this device. 

    Datasheet page 629 has the electrical specs https://ww1.microchip.com/downloads/en/DeviceDoc/40001985B.pdf 

    If this approach works then it's actually a singe chip solution I think unlike the current design.

    The other advantage is that the PIC16F18446 device is really cheap and available. I ordered direct from the manufacturer but there a deilivery cost so I ordered 5 or 6 of them; enough for 12 digits.

  • Simple Solution is OK

    John Lonergan02/06/2021 at 01:23 4 comments

    The DM9368driver is a constant current device and drives the LEDs at 20mA. Looking at the datasheet I'm thinking that's 20mA per segment which is 140mA per digit.

    If I then include say 8 of these in my CPU I end up burning more than an Amp on LED's - a whole Amp!!

    That's a bit rich for my needs (my SPAM-1 CPU), I don't want to burn that much juice.

    This is a common cathode driver IC and in the PCB that I have on order I left a space for a resistor on the between the LED cathode and ground to limt the current.

    I as a bit concerned at this approach because if one want's the segments to light up consistenty as the digits change then you really ought to have one resistor per segment. But that's a lot of work and space so I figured I'd live with a horrible flickering if needs be.

    Well I just put it on breadboard and tried a driving the LEDs with the cathode directly attached to ground. Wow are they bright!

    I then tried a 1K resistor on the cathode and sure enough they are a whole bunch dimmer.

    The driver IC high is about 3.1v and the resistor is dropping about 1.4v with the LED dropping 1.7v forward. So with 1K at 1.4v I'm using 1.4mA for the whole device rather than 140mA. The display is defnitely not 100x dimmer. 

    I also tried changing how many segments were lit and was pleased to see that the brightness didn't seem to be that sensistive to the number lit. I am guessing this is because at this low forward current perhaps they are really efficient. With all 7 segments on I'll get about 0.2mA per segment and perhaps the difference between 0.2mA and 1mA at this current range is irrelevant.

    I looked at a datasheet but it's graphs of intensity vs current didn't go below 1mA

    Anyway looking forward to the board arriving, but a bit worried because I realised last night that I hadn't been careful enough when setting out the PCB and the pin headers to the breadboard aren't as perfectly alligned as I intended. Fingers crossed. 

  • In Production

    John Lonergan02/04/2021 at 18:41 0 comments

    Board is in production with PCB firm.

    Looking forward to doing some soldering!