Autodidact Ambitions 10 – Daughterboards

by | Jun 25, 2024 | LifeSkills, Pastimes, Technology | 62 comments

I ended out Article 9 with a tease of a redesign of the main circuit board for the clock I’ve been working on for five months now. I got that a few weeks ago and assembled a new prototype.

The good news was that the buttons work just fine, and there’s no flicker on the display, but now the timing is off. Each minute takes about six real minutes to tick. On the first design, the time was close to normal. I spent quite a few fruitless weeks trying to figure out what’s different. Even poking at the time signal with an oscilloscope only to realize I didn’t know what I was doing with it.

First thing that came to mind was that I didn’t tie the external casing of the crystal to ground. This didn’t change much, especially since I bodged it to power instead of ground. Not a good start. I also realized that the crystal on the first design had symmetrical traces to the crystal. Given how picky the signal from watch crystals are, either of these problems might be at issue. Problem is, I’d tucked the crystal down into the gap between two taller components. I couldn’t think of a way to reliably change the length of the traces without getting a new circuit board.

While I have a reliable source for Made in America custom PCBs, but they do have a four unit minimum. Which means $50 each time I redo the main board of the clock for the PCBs alone. Most of the clock is working just fine, so I really didn’t want to redo the whole thing… again. So what to do?

Well, I socketed all of the ICs for convenience, including the MSP430F2003. The malfunction is limited to the MSP430F2003 and the crystal. So, I could just design a smaller board that plugs into the socket and gives me a redo on the timing circuitry. In the general parlance, these are called Daughterboards, as the main board is the Motherboard.

I came up with a couple of designs, the first was the most complicated. The last was the simplest. I’ll talk about the simple one first. In short, it is a small rectangle which offsets the microcontroller slightly to the left and aligns the crystal perpendicular to the IC. This shortens the traces as far as I can reasonably manage. I also tied the outer casing to ground. The advantage of this design is that it is effectively the current clock unchanged save for tweaking the crystal relative to the microcontroller. Four of these cost all of $3.80 for the PCBs.

The Cheap, Simple Option

My other designs were to take advantage of another project that had been percolating through my mind for some time, the Pluggable MSP.

Now, what is a Pluggable MSP? In short, it’s an idea I had to allow using a surface mount MSP430 in a regular socket. The base problem it solves is that the more advanced MSP430s with greater internal storage are all surface mount chips. These pose a number of logistical issues with code debugging and integration into the final project. Plus, I wanted to move towards a more modular architecture for these projects to cut down on the number of $50 PCB orders. I hadn’t delved into how to implement this modularity because I wanted to get the clock working before I leapt down that rabbit hole. But I did start designing and prototyping of the Pluggable MSP. The first circuit board I drew up was for the initial iteration. As the main chip for the Pluggable MSP, I selected the FR2355 version. This was for three reasons: One, it had significant computing resources compared to most options. Two, there was a launchpad with the FR2355 as its chip of choice. Three, it had a form factor with pins along the sides.

The pins along the sides was important for soldering. I’m a novice in the art, and rarely tackle surface mount components. Being able to reach the connectors I can test the mechanical and electrical connections to verify that they are correct, with no solder bridges and no loose pins. The FR2355 has thirty-eight pins, which in the first prototype I connected the pins to pin headers. This let me use jumper wires to connect it to the launchpad and to a breadboard to verify I was loading code.

That was months ago. I’ve since looked at the design and went “why not make this fit a standard socket size?” I could not readily find a thirty eight pin socket, but I could find ample forty pin sockets. So I redesigned the board to fit in the footprint of a forty pin socket. It was a tight fit, but it did fit. This made it easy to design a daughterboard to map the forty pin Pluggable MSP to the fourteen pin socket on the clock.

Insanity.

Why would I do such a thing? Well, in my frustration with the raw signal from the crystal, I had been looking at real-time clock modules. That is, a chip or board where someone else handles the conversion of crystal oscillation to time. Now there had been a discussion in the comments for an earlier article in this series about reinventing the wheel. I had outright declared that I was working towards the transistor and wanted to do as much of the designing as possible. But I had gotten so fed up with not being able to think of an avenue of investigation that I began looking into these RTC modules. There are a lot of options. Some of which did not solve the “I don’t want to deal with compensating for the crystal” part of the problem. Others were more extensive.

I actually worked out how to add one to the Pluggable MSP board before I even rexamined the minutiae of how the crystal on my current clock was laid out. Having ordered several, and the PCBs for the current iteration of the Pluggable MSP, and the daughterboard to connect the forty pin Pluggable MSP to the clock, I figured I’d have to write a chunk of code to implement the I2C protocol to get the time off the RTC module. I was not looking forward to that. Artcile 11 or 12 may be a discussion of serial communications, since this article is getting long.

Luckily for me, I figured out my second design. I’d already ordered the PCBs, so I couldn’t add a trace, but with a single bodge wire, I could take the clock signal from the RTC and feed it into an input pin. All I’d need to do then was to write enough I2C code to set the clock signal to 1 Hz, and I could use that to trigger the seconds increment without using any of the advanced features of the RTC module.

As I wait for my latest order of parts and PCBs to show up, I emerge from my malaise, with multiple avenues of investigation open to get this clock from where I am to where I need it to be.

About The Author

UnCivilServant

UnCivilServant

A premature curmudgeon and IT drone at a government agency with a well known dislike of many things popular among the Commentariat. Also fails at shilling Books

62 Comments

  1. Sean

    >.>
    <.<

    *tumbleweeds*

    • UnCivilServant

      Sorry, it is a workday 🙁 I was off looking up what was left needing to be done for a project.

  2. Sean

    Maybe some short video clips of soldering would punch up the enthusiasm. (Or blow some shit up.)

    Rest the circuit board on a stripper’s tits for the photos.

  3. The Late P Brooks

    I came up with a couple of designs, the first was the most complicated. The last was the simplest.

    Sounds like you’re on the right track.

    • Sean

      “That’ll never work.”

      -Automotive engineers.

      • UnCivilServant

        Sadly, they were right. I have to start taking pictures for Part 13, where I do hardware work for the most complicated solution.

  4. The Late P Brooks

    (Or blow some shit up.)

    Release some smoke. This is where smell-o-vision would come in handy; who doesn’t love the smell of frying insulation?

  5. The Late P Brooks


    The good news was that the buttons work just fine, and there’s no flicker on the display, but now the timing is off.

    Not counting the pulses of the crystal properly?

  6. Sensei

    Thanks UCS. Once you get this thing up and working I’ll be curious how the temperature compensation works.

    You should try to both freeze and and heat it and see what happens.

    • UnCivilServant

      There’s two more articles in the can, plus a few more to be written given the current state of just the clock project.

    • Sean

      Trump’s fault.

      • Ted S.

        I blame (((them))).

    • R C Dean

      Sadly, those shot by police were protestors, not legislators.

    • The Other Kevin

      Sadly the wrong lessons will be learned.

      • ron73440

        Next time, they will be more discreet.

  7. Timeloose

    For any kind of time dependent signals, the propagation delay has to be considered. This applies both from a input or output signal as well as for the time it takes to process a signal. This delay in and of itself is not always an issue, but if you are expecting a signal at a particular time and it takes longer or shorter time to receive it than you expected you might not detect it. You might also detect only one in X signals.

    Circuit inductance, capacitance, and resistance all can have a effect. If my memory serves, in the last iteration you were looking to filter noise in some part of your design for the display.

    https://www.omnicalculator.com/other/propagation-delay

  8. kinnath

    https://www.sciencealert.com/astronauts-stranded-with-no-set-return-date-for-new-boeing-starliner

    After helium leaks and thruster problems with Boeing’s Starliner capsule, NASA has been pushing back the return date from the International Space Station.

    On Friday, the agency announced they no longer had a planned return date. Instead, they will keep testing the capsule, trying to understand its issues, and seeing if they can make any fixes. Plenty of supplies are on the station, so there’s no urgent need to bring the two astronauts back to Earth.

    What a clusterfuck Boeing has turned into.

    • Suthenboy

      Look around. It seems to be catching.

    • The Other Kevin

      I don’t care how many diagnostics they run, there’s no way I’d return on that thing. Give Elon a call please.

    • The Other Kevin

      People say he’ll be at a big disadvantage without and audience, but he’s been doing podcasts lately and he sounded fine to me.

      • Dr. Fronkensteen

        Trump’s biggest problem is that he’s a bully. He’ll try to fluster Biden with his bullying ways and it’ll be a bad look. He should try and put on a sympathetic look when Biden struggles as if to say, “I don’t wish him ill but he shouldn’t be here.”

      • Sean

        “Bless your heart Joe.”

    • kinnath

      I have a ton of bad feelings about the upcoming Clutch Cargo debate. There is not a fucking thing that will be real that happens there.

      • Beau Knott

        “Terrorist” attack that takes out Trump & Biden, solving 2 ‘problems’ at once.

  9. UnCivilServant

    There is one really simple and dumb mistake on the circuit board for the pluggable MSP. Can anyone see it?

    • kinnath

      Nope.

      I did a breadboard of an analog circuit back in college (40 years ago). Beyond that I have no experience (and no interest) in circuits.

      • UnCivilServant

        I did complain about having made the mistake in random comments elsewhere.

        On the microcontroller footprint, the fourth pad down isn’t connected to the trace that connects it to the pin header.

      • kinnath

        I really respect your diving into this stuff as a hobby.

        My eyes cross when I try to look at it.

      • UnCivilServant

        I found it when I was testing my soldering for continuity and that header didn’t beep.

      • Gender Traitor

        I was about to guess that it had something to do with the one pin that has two connectors coming from (going to?) it – in the lower left of the area in use. But I know less than nothing about this stuff.

      • UnCivilServant

        @GT Which one? The lower left multi connected pins tend to be either power or ground.

      • Gender Traitor

        The one to the left of the letters “ab” in “Pluggable.”

      • UnCivilServant

        That’s ground and…

        🤬

        Pin 9 is reset and needed to be pulled high not low.

        You spotted an error I hadn’t identified yet.

      • Gender Traitor

        I did?? 😃

        Of course, I didn’t know it was wrong – I just noticed that pin 11 was the only one with two connectors, one of them connecting to another pin in the same row, unlike all the other connectors, which cross over.

      • UnCivilServant

        Yes, that seconnd connection was supposed to be from Pin 10 to pin 9, not 11.

      • Gender Traitor

        ::sings softly:: “One of these things is not like the others…”

      • UnCivilServant

        Fortunately, I can fix the problem easily.

      • UnCivilServant

        I see how I made that error.

        In the datasheet, the table of pin functions has pin 9 marked as active low (needs to be tied to ground on pin 11 for active) while the pinout diagram saying which pin is which does not indicate that. Since pin 9 is the ‘Reset’ pin, we want that to not be active (so tying to power on pin 10)

      • Gender Traitor

        So Pin 10 is the one that’s supposed to have two connections? To Pin 9 and to Pin 1 of the group across on the right?

      • UnCivilServant

        Yes.

        Pin 1 on the smaller set is power from the motherboard.

  10. ron73440

    I thought working on my truck was frustrating sometimes.

    I can mostly follow your logic, troubleshooting cam fry my brain sometimes.

  11. The Late P Brooks

    There is one really simple and dumb mistake on the circuit board for the pluggable MSP. Can anyone see it?

    You forgot to torque the rod caps.

  12. DrOtto

    “…the main board is the Motherboard.” Muh patriarchy!

    • Nephilium

      At least we got rid of whitelisting and master/slave jumpers.

      • UnCivilServant

        Nope, the next article is on Serial communications between master and slave nodes.

    • ron73440

      “…the main board is the Motherboard.” Muh patriarchy!

      Wait ’til you hear what they call clutch cylinders!

      • DrOtto

        See my response to Brooks below.

  13. The Late P Brooks

    “…the main board is the Motherboard.” Muh patriarchy!

    Ar least it’s not a master/slave relationship.

    • DrOtto

      A dealer on Bring a Trailer referenced having replaced the “secondary” cylinder on a clutch assembly on some car I was glancing at and I asked him what that was (I knew, but was trolling). I got the most nonsensical answer I’ve ever seen, but he didn’t ever say “slave cylinder”.

      • Sensei

        I like that you decide to troll the dealer.

        I’ve never heard them called anything else. I suppose you could say “hydraulic clutch cylinder” as opposed to the “hydraulic clutch pedal”.

      • Tundra

        I go out of my way to use the term now. We’ve been looking at properties and did you know that the master bedroom is now the “primary?” So lame.

        This Primary isn’t though.

  14. DrOtto

    The main thing I love about these write ups is I have zero idea how to do this stuff, but as your explaining it, I am grasping some of it. I’m nowhere near clever enough to do this, but could tear it down after it’s been done and figure out how. I guess that’s why I’m a mechanic.

    • UnCivilServant

      Writing tech for human reading is one of my job skills. And since I’m writing these casually, I don’t want to write as tech.