Monthly Archives: October 2014


Workshop Moving Update

We’ve been in our new house a week now. I’ve now got a honey-do list that will last me a solid decade.. in-between switching all our outlets and switches to Decora-style (including some timer and occupancy sensing switching), the endless painting and unpacking I’ve managed to sneak off a couple of hours in my new shop. It was a dark dungeon before but it was dry and had a little 30 amp service sub-panel.. I had enough vision to know this shop is going to work out just fine. The building is 16’x10′, by no means a huge place, however it’s twice as much room as I had before .. it has some additional attic storage and I don’t have to share this space.

The seller had cleaned up the shop somewhat from its previous state during inspection, but there was still a lot of garbage, old paint, and stuff I needed to get rid of.

Closing Day, east side of the shop.. a dark dungeon.
Closing Day, east side of the shop.. a dark dungeon.
Closing Day -- West side of my new shop.
Closing Day — West side of my new shop.

I filled the shop up on the first day of moving. It’s amazing how much stuff I’ve ratted away here and there. I have some more stuff to put in here yet, but it’s not too much. Some batteries, a little more test equipment, my tool box and some odds and ends.

We've been in the house a week now and the little time I have in the shop I've gotten it to a nearly useable condition.
We’ve been in the house a week now and the little time I have in the shop I’ve gotten it to a nearly useable condition.

So in another week or so I’ll be able to get back to hardware hacking! I just have to finish up a little kitchen project, put some storage management into a closet and finish some switches & outlets and then I can slow down on the long-long list of little projects.

C Electronics LEDs PIC Tindie

@tymkrs TTL-8


I’ve been watching for the release of the tymkrs ttl-8 ( no -me ?) for some time now. @whixr had been showing it off in a MIDI project on one of their YouTube videos a while back and I thought it was a great little breadboard-hackers tool. Is it magic? No it’s a shift register.. but a worthy bench-top tool for sure. For $6 this board showed up in the mail box a couple of days after purchase… Atdiy is pretty prompt about shipping.

I also have plans on putting this to use while troubleshooting a MIDI project I’m working on for my brother but I’m sure this little board will come in handy for all sorts of purposes.

So like all items I buy off Tindie* I had to check it out right away! My workshop is about half packed for the move but I suspect my bench top items will wait for last so I still had the tools to check this item out; In full tradition of moving, my bench top items will also be first to move into the new house ūüėČ

* with exception for the Minishift and CPLD dev board; someday..
I wrote up some basic code to shift out a counter in my main loop to test this board out; nothing special but it got the job done. There isn’t much to go wrong.. and in fact the task was pretty vanilla; nothing went wrong.

The tymkrs TTL-8 up close...
The tymkrs TTL-8 up close…


The test code.. [Edit: my code works with no delays built in.. at 4MHz (I tested this), whixr runs these faster and has ganged many of these together but adds capacitors for filtering on power mentioned adding a ceramic cap between the clock and ground after about 5 chained boards]

 * File:   main.c
 * Author: Charles M Douvier
 * Contact at:
 * Created on September 26, 2014, 2:47 PM
 * Target Device:
 * 16F1509 on Tautic 20 pin dev board
 * Project: ttl-8 test
 * Version:
 * 1.0
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 4000000 //4Mhz FRC internal osc
#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))
#define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))


//config bits
#pragma config WRT=OFF, STVREN=OFF, LVP=OFF

#define _XTAL_FREQ 4000000 //defined for delay

int r;
unsigned char n;

void init_io(void) {

    ANSELA = 0x00; // all port A pins are digital I/O
    ANSELB = 0x00; // all port B pins are digital I/O
    ANSELC = 0x00; // all port B pins are digital I/O

    TRISAbits.TRISA0 = 0; // output
    TRISAbits.TRISA1 = 0; // output
    TRISAbits.TRISA2 = 0; // output
    TRISAbits.TRISA3 = 0; // output
    TRISAbits.TRISA4 = 0; // output
    TRISAbits.TRISA5 = 0; // output

    TRISBbits.TRISB4 = 0; // output
    TRISBbits.TRISB5 = 1; // input
    TRISBbits.TRISB6 = 0; // output
    TRISBbits.TRISB7 = 0; // output

    TRISCbits.TRISC0 = 0; // output
    TRISCbits.TRISC1 = 0; // output
    TRISCbits.TRISC2 = 0; // output
    TRISCbits.TRISC3 = 0; // DATA OUT
    TRISCbits.TRISC4 = 0; // CLOCK
    TRISCbits.TRISC5 = 0; // LATCH
    TRISCbits.TRISC6 = 0; // output
    TRISCbits.TRISC7 = 0; // output


void latch(void) {
    PORTCbits.RC5 = 1;  //latch bump
    __delay_us(10);      //this is slow.. that's okay for me
    PORTCbits.RC5 = 0;

void clk(void){
    PORTCbits.RC4 = 1;  //set clock
    __delay_us(5);      //this is slow.. that's okay for me
    PORTCbits.RC4 = 0;

void shift_out (unsigned int x){
    r = 8;

        if (x & 0b10000000){
            LATCbits.LATC3 = 1;

            LATCbits.LATC3 = 0;

        x = x << 1;
        LATCbits.LATC3 = 0;


int main(void) {

    // set up oscillator control register, using internal OSC at 4MHz.
    OSCCONbits.IRCF = 0x0d; //set OSCCON IRCF bits to select OSC frequency 4MHz
    OSCCONbits.SCS = 0x02; //set the SCS bits to select internal oscillator block
    //OPTION_REGbits.nWPUEN = 0; // enable weak pullups (each pin must be enabled individually)



    while (1) {

        n = n+1;;



    return (EXIT_SUCCESS);

TTL-8 what comes in the bag..
TTL-8 what comes in the bag..

This I would have done different:

We all have different needs for our tools; I believe this board layout worked for their projects and made sense, it just wouldn’t have been how mine would have been laid out. As you can tell from the first photo I chose to use my own.

I would have opted for side mounted port in/out connections with right angle connectors. I would have also added a pair of mounting holes. My layout would have increased the cost of the board by about 30%. That’s fine and dandy for *me*….the tymkrs are obviously targeting breadboard-hackers with this board which makes more sense; the outputs on the board could have a right angle connector (not included, pennies on eBay) soldered on and plugged into a breadboard while you had jumpers come in from your micro to plug into a right angle female connector of choice. The LEDs would then be the correct orientation for normal viewing (reading 0 on the left). ¬†The current board size is a compact 1.15 in (29mm) by 0.65 in (11.5mm) or about .75 in¬≤; my alterations would have pushed it up to just over 1¬†in¬≤.