More on my 2.0 Expansion Card Problems

310 views
Skip to first unread message

Chris Davis

unread,
Aug 8, 2022, 8:25:27 PM8/8/22
to Altair-Duino
I have posted a video showing a nagging issue I've had since designing the Altair-Duino 2.0.  It seems the LED Register card will cause the AD to lock up.  Not sporadically, but in a fairly predictable manner.  See if you can offer any wisdom.  

Here's the video: https://youtu.be/CqRBh3B61SU

  1. If the Altair-Duino and LED Register card are working, they will continue to work without issue no matter how many times I turn it off and back on, or how long I wait between sessions.
  2. The problem starts when I move the LED Register card to a new slot (with the system powered down of course.)
  3. When I then try to power-up, the Arduino seems to be locked up.  No amount of resetting or playing with other switches works.
  4. The fix is to power everything down, remove the LED Register card, power up the system, then power it down again, inset the LED Register card, and power everything on.  That seems to fix it usually.
  5. However sometimes, as you will see in the video, the Arduino locks up when starting 16k BASIC (after entering "O" at the LINEPRINTER prompt.
  6. Doing the power down/remove card/power on/power down/insert card/power on dance seems to fix that as well.
  7. Again, once it all works, it will work forever as long as the LED Register card is not moved.
  8. The particular backplane is using the 5v from the voltage regulator, but I have also tried this with the 5v from the Arduino and it don't behave any different.
Here is a photo so you can see what ICs I have in my LED Register card:
IMG_7269.jpg

As I mention in the video, I have built two LED Register cards, and both exhibit the exact same behavior.  Maybe this is crazy, but it as if the LED Register card is "remembering" what slot it was installed in and doesn't like being moved...

Any ideas?  I have not yet built any other expansion cards, but I will soon.  Does anyone else have an LED Register card?  If so, can you try moving it and seeing if it locks things up?

Mike Douglas

unread,
Aug 8, 2022, 9:35:53 PM8/8/22
to Altair-Duino
I can’t tell from the video - does the bus board remain powered on with the external AC adapter when you cycle power on the front panel board? If so, you’re probably see CMOS latch-up in the Arduino. If this is the case, then different behavior in different slots is probably due to slight differences in the inductance and resistance seen due to different line lengths.

Mike

da...@hansels.net

unread,
Aug 9, 2022, 7:16:37 AM8/9/22
to Altair-Duino
I think this may be related to the different LED drivers that you are using.

The I/O bus uses the "WAIT" signal so a card can request the AD to stop and
give it more time to process/prepare the IO data. With the transistor driver for
the LED, all signal lines get (weakly) pulled to ground unless a card is pulling then up.
I don't know what driver you are using but if it doesn't pull WAIT to ground at all then
the AltairDuino may read WAIT as "1" and therefore think there's a card that
requests it to wait.

Try adding a 10k resistor between pin D10 of the Arduino DUE (which goes to the "WAIT" LED)
and GND.

Chris Davis

unread,
Aug 9, 2022, 10:55:52 AM8/9/22
to Altair-Duino
I'm using ULN2803APG darlington arrays to drive the LEDs.  I added a 10k resistor from D10 to ground, and that seemed to prevent 16k ROM BASIC from "locking up" after the lineprinter prompt, but it does not seems to stop the problem where the Arduino is locking up on startup.  I'll add some debug lines to the code and see if I can determine exactly where that is happening.

Mike, there should not be power on the bus, but I do notice that sometimes when I plug in the card, a few LEDs on the main board glow, so power is getting through somewhere.  I googled "CMOS latch up" and I did not know that was a thing.  It sure seems like that may be something that's going on.

Chris Davis

unread,
Aug 9, 2022, 7:47:40 PM8/9/22
to Altair-Duino
Here's something new I noticed: when it "locks up" at power on, and I connect putty, this has been displayed: "Configuration temporarily reset to defaults.  Raise and hold STOP and then raise AUX1 to enter configuration menu".  However, nothing responds.

Walt Perko

unread,
Aug 9, 2022, 7:56:04 PM8/9/22
to Altair-Duino
Hi, 

That has happened to me when I've hosed my configuration.  I've done it a few times when trying to make changes.  

da...@hansels.net

unread,
Aug 10, 2022, 9:42:40 AM8/10/22
to Altair-Duino
I just noticed on your picture that you are using a 74HCT00 instead of a 74HC00.
The 74HCT series requires a >4.5V power supply whereas the 74HC works with 3.3V
(which is what U3 on the LED board it is connected to).

Not sure if that is causing the problems but it is certainly something that should be fixed.

David

Chris Davis

unread,
Aug 10, 2022, 11:15:08 AM8/10/22
to Altair-Duino
Thanks, I'll see what I have on hand, and order one if necessary.

Chris Davis

unread,
Aug 10, 2022, 6:08:57 PM8/10/22
to Altair-Duino
I did have some 74HC00's around here.  I tried one and it seemed to make no difference.

On thing I did find out is that if I completely remove the Arduino/Regulator jumper (so the card never receives 5v) then the Altair-Duino never locks up.
IMG_7280.jpg

gm4wzg...@gmail.com

unread,
Aug 11, 2022, 12:10:19 AM8/11/22
to Altair-Duino
I noticed in David's schematic he has used the 78E5 switching regulator.  The datasheet specifies 2 x 10uF capacitors for decoupling.

 But the photo shows a linear regulator.      Is that a 7805?    If so, I note the capacitors do not match those that the data sheet specifies.   I've dealt with issues over the years where capacitors have been too either big (too much inductance), too small, too high an ESR or too low an ESR.  Some regulators are very, very fussy. The LDO types in particular.

It can be very revealing to scope the power line looking for transients and instability.   In the case of the 7805  manufacturers specify a 0.1uF ceramic as close to the output as possible. This will behave very differently for HF signals than a large electrolytic –  do bear in mind that a voltage regulator comprises some kind of shunt controlled by a fast  high gain differential amplifier.

Unless the datasheet explains exactly what is going on and gives guidance on different choices, the specifications are requirements, not options. Only the manufacturer  knows the limits of stability of their device.   Their engineers have analyzed this over many cases of current, headroom, output impedance, temperature, and other parameters. They have distilled the result of all this analysis down to a simple range of capacitance that need to be on the input and output for the device to reliably work.

The 7805 isn't an LDO and it is seen as a safe and common “jelly bean” part, and OK,  the  problem may very well lay elsewhere,  but nevertheless as a matter of habit I would not investigate any kind of circuit stability problem further until I had followed manufacturer's instructions with regard to decoupling.  Same rant goes for decoupling of supplies near all digital ICs which I think you have in place on  this expansion board. Well worth making sure they are in place everywhere else too.


Good luck, and thanks guys for coming up with a great project  I was 16 years old when the Altair was on sale and there was as much chance of me being able to afford one as a ticket to the moon. Am looking forward to getting my own version of the Alrair going after just a 45 year delay….  : - )

B

Charley Jones

unread,
Aug 11, 2022, 1:04:19 AM8/11/22
to gm4wzg...@gmail.com, Altair-Duino
I did build 2 of these and they are an absolute gas.  Could not buy them when they came out.  But love that I have one now 

Sent from my iPhone 12pm!
Charley Jones, PMP

On Aug 10, 2022, at 9:10 PM, gm4wzg...@gmail.com <gm4wzg...@gmail.com> wrote:

I noticed in David's schematic he has used the 78E5 switching regulator.  The datasheet specifies 2 x 10uF capacitors for decoupling.
--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/altair-duino/69847b9d-357b-42d1-85d7-a821e4250de4n%40googlegroups.com.

da...@hansels.net

unread,
Aug 11, 2022, 3:15:41 AM8/11/22
to Altair-Duino
Did changing to the 74HC00 change anything about the "Settings temporarily reset to defaults"
message (since the RESET line is directly connected to the 74HC00)?

Do the lock-ups still happen when you power the LED card from the Arduino? I

It all really sounds like some form of CMOS lockup as Mike suggested. Removing the card
may produce a voltage spike that messes with the Due. One thing to try would be to add
a 1k pull-up to the RESET line. If that makes the "Settings temporarily reset to defaults"
message go away then it would indicate that some current needs to be shunted away.

I don't remember any behavior like this in my setup. I certainly moved cards around but
don't remember specifically testing this case where only one card is plugged in and
moved around. I'm currently away from home and therefore can't test it now.

David

Chris Davis

unread,
Aug 11, 2022, 9:42:35 AM8/11/22
to Altair-Duino
It does not seem to matter if the card is powered from the Arduino or from the regulator, it behaves the same way.  However, sometimes it appears to draw too much current and the Arduino resets.  I have connected a USB meter and it normally draws around 250mA, but for some unknown reason will draw in excess of 1,000mA.  I'll try a pullup resistor on RESET - you mean on D52, not the actual Arduino reset pin?

It is correct that I am using an L7805 regulator, so I suppose the capacitors are incorrect for the type of regulator.  So I should address that problem.

da...@hansels.net

unread,
Aug 11, 2022, 9:55:48 AM8/11/22
to Altair-Duino
Yes I mean D52.

I can't measure mine right now but I'm pretty sure 250mA in normal operation is way to high for this card. 1A is off the charts.
Is the 250mA with the LEDs on or off? Try removing the UDN2981 and see if that changes the power consumption. If not, remove
the rest of the chips one-by-one in this order: 74HC273 then 74HC00 then CD4068BE.
See if that makes any difference.

David

da...@hansels.net

unread,
Aug 11, 2022, 12:21:15 PM8/11/22
to Altair-Duino
Wait was the 250mA/100mA for the AltairDuino and the card together?
If so, can you measure the power consumption of just the card?
Or maybe just the AD without the card and then we can do the math.

Chris Davis

unread,
Aug 11, 2022, 8:59:24 PM8/11/22
to Altair-Duino
The Altair-Duino alone draws ~280mA.  With the LED register card installed and running it draws ~320mA.

I realized something, when you hold up RESET while powering on, it behaves exactly like it does when the LED Register board is installed and it "locks up".  That, coupled with the reset message I mentioned earlier leads me to believe it is making the Arduino think the reset switch is on.  I'll try the 1k resistor you suggested.

Chris Davis

unread,
Aug 11, 2022, 9:22:37 PM8/11/22
to Altair-Duino
Well I'm going to call this a rousing success.  The 1k pullup seems to have fixed the random lockup problem, adding the correct capacitors for the L7805 fixed my power issues, and the 10k pull down resistor for the WAIT LED fixed the random lock up issues.  Thanks for everyone's help, especially David.

I just received a shipment of more chips, so I'm going to try and build a parallel card, a serial card, and a floppy drive controller.

Charley Jones

unread,
Aug 11, 2022, 9:59:12 PM8/11/22
to Chris Davis, Altair-Duino
Congratulations Chris.  I know it’s hard chasing down these ancient demons, but you are doing incredible work here.  Frustrating but incredible.  It makes me want to push on my incredible tasks list.  I’m making progress in the 3D print world.  I look forward to buying the same set of cards you’re collecting.  I would suggest at least keeping a source log of where this stuff came from.


Sent from my iPhone 12pm!
Charley Jones, PMP

On Aug 11, 2022, at 6:22 PM, Chris Davis <famousd...@gmail.com> wrote:

Well I'm going to call this a rousing success.  The 1k pullup seems to have fixed the random lockup problem, adding the correct capacitors for the L7805 fixed my power issues, and the 10k pull down resistor for the WAIT LED fixed the random lock up issues.  Thanks for everyone's help, especially David.
Message has been deleted

Walt Perko

unread,
Aug 11, 2022, 11:11:20 PM8/11/22
to Altair-Duino
Hi, 

I've attached the BOMs for all the I/O Expansion boards, the DAZZLER board and the VersaTerm board;  

I do have links in my notes for components so anything you don't find online so easily, I can look for the link I used in my notes, but they're mixed up with lots of other components for other projects which is why they're not in the .XLS file now.  

I have built all those boards, including getting the 6-Slot back plane (I have one spare left yet), two Serial boards (Two spares yet), DAZZLER boards including two JoyStick boards for each DAZZLER board (I have 5 spares of those sets yet.)  

I did make two SPO256-AL2 Speech Boards, I guess I sent the rest I had made out to people or they're lost somewhere around my piles of stuff. 

I love my I/O Expansion ... makes it easy to have both the  SPO256-AL2 Speech Board and my "Phrase-A-Lator Development Kit" (tied to one of the serial boards using a SpeakJet chip) for speech and singing, and the other serial board goes to a servo motor controller and a stepper motor controller; 

Eventually, I hope to have one BASIC program that can send speech data to the SPO256-AL2, the SpeakJet and control data to the stepper motor controller (maybe to make musical tones on some old floppy drives if I can get a couple of old 8" drives or at least 5-1/4" drives.)  Having DAZZLER making coordinated splashes on the screen in time with the singing and music would be fun too.  

I'm still just trying out the DAZZLER programs to see what works, and what is just junk unfinished programs.  
DHansel Project BOMs.zip

Chris Davis

unread,
Aug 29, 2022, 8:20:23 PM8/29/22
to Altair-Duino
So I did some minor circuit changes to make sure there is no power to the bus when the power is off.  But now that has caused a return of the RESET line being pulled low by the LED Register card on power up - but this time the problem does not seem intermittent, but rater happens every time.  David, you mentioned "If that makes the "Settings temporarily reset to defaults"
message go away then it would indicate that some current needs to be shunted away."  What did you mean by that?  Is there something else I should try?  I did add a 1k pull-up on the RESET line.

da...@hansels.net

unread,
Aug 29, 2022, 9:23:15 PM8/29/22
to Altair-Duino
I wonder if the problem is that the Arduino Due starts up so quickly that it gets to
the check whether the front-panel RESET is up before the voltages have stabilized. I have repeatedly
had problems with the power-up on the Arduino Due to the point where I added a 555 timer
to force a longer startup reset period for the Arduino (that was even before I started working
on the expansion cards).

My suggestions to try would be:
1) try to fix it in software: put a "delay(500)" in line 1645 of Altair8800.ino (right before
    the "if( host_read_function_switch(SW_RESET) )" line. That should give plenty of time
    to stabilize the RESET switch voltage. If that works you can experiment to see how short
    you can make the delay for it to still work.
2) try a manual reset button for the Arduino DUE: put a push button between ground and the
     RESET pin of the Due (NOT the pin where the front-panel RESET switch is connected
     but the actual RESET pin on the DUE). Then try the following:
     * push and hold the RESET button
     * turn on the AltairDuino (which will be held in RESET)
     * after about 1/2 second, release the RESET button
     Does that make the problem with the RESET front-panel switch disappear?
     If so, you could do the same as I did and add a 555 to force a longer power-up reset.
     Let me know, I can provide a schematic.
3) (unrelated to the power-up reset): See if you have some almost-solder-bridge or
     leftover flux on the LED card between the RESET line and ground. That could also
     cause the AD to see the RESET switch as closed.

Note that there's two "RESET" lines involved here so it can be a bit confusing:
1) The front-panel RESET switch which connects Arduino pin D52 to ground and
     then resets the emulated machine.
2) The RESET pin on the Arduino Due which (when pulled low) resets the Arduino
     and keeps it in RESET state until it goes high

Chris Davis

unread,
Aug 30, 2022, 10:00:34 AM8/30/22
to Altair-Duino
Thanks for the tips.  Unfortunately those didn't help.  I think I'm just going to have to abandon my plan to integrate the expansion slots into the kit, and just include a pin header to more easily add a DB25 connector for David's backplane.  

Walt Perko

unread,
Aug 30, 2022, 12:03:13 PM8/30/22
to Altair-Duino
Hi, 

My 2cents;  

The I/O Expansion works pretty well on the original Altair-Duino Pro I have.  I figured the front panel changes should just have a header as an add-on option for builders, but the case might be slightly modified to house the expansion slots.  

IF the expansion back plane is long enough, it could just be elevated above the VT-100 I/O board and slots cut into the back of the Altair-Duino Pro back for access.  

IF each slot on the back plane is far enough apart, then DB25 size cut outs might make the best cut out on the back with little plug-in patches and plug-in adapter patches for DB9 size connectors and audio connectors etc.  

I also think that the back plane should be changed from a DB25 to an IDE26 for a lighter and simpler cabling between the Altair-Duino and the back plane.  

I do find it a little convenient with the DB225 on mine for when I went into the top of my Altair-Duino Pro to change out the PIC chip on the VT-100 I/O board.  


I don't have the top screwed down, so I just move what's on top to open the cabinet when needed.  My I/O Expansion catches the front edge and a bolt head on the Altair-Duino Pro cabinet to not slip around, but easily lifts up for access.  

IMG_3482-20220512-Altair-Duino Pro + IO Expansion 30mmTall 6-Slot Box-c2K.JPG

Chris Davis

unread,
Sep 2, 2022, 10:54:40 AM9/2/22
to Altair-Duino
Thanks to David for helping me solve an embarrassingly simple problem, which means v2.0 is back on track.

Tom Lake

unread,
Sep 4, 2022, 5:29:54 AM9/4/22
to Altair-Duino
That's great! When 2.0 comes out, I'll sell the 8800b Pro I just built. I had been keeping the 8080b untouched while you were debating what 2.0 would be and redesigning it. Then when you said you'd drop the plan to include the expansion bus, I went ahead and built the kit. Now that you are going ahead with the integrated expansion bus idea, I'm interested in buying one again.

Here's a tip for 8800b builders: Keep the unprinted protective paper on one side of the spacer but remove the paper that has printing on it (if any). If you remove the paper from both sides, there's a lot of light bleed and if you let both pieces remain, you can read the words printed on the paper through the front panel when the LEDs are on. I removed both pieces before realizing that and now will end up painting both sides of the spacer flat black rather than leaving it clear. I wish it had been molded in either blue or gray instead of clear!
Reply all
Reply to author
Forward
0 new messages