Tuesday, September 26, 2017

Pirate ship animatronic controller finished, 21/MX system delayed


Due to issues in the storage facility holding the HP 21/MX system, I can't pick it up today. I am guessing I will have to do it next week, since I will be busy later this week and weekend with the fundraiser event.

I did use the time to download many manuals I will need to work on the system, as well as the simh simulator to let me play with the machine language. Until I see the system I won't know what options, components and peripherals are there, thus I can't finish the downloading of manuals now.  


Today I was expecting the delivery of the remaining items for the ship controller - two audio amp PCBs, a TF storage card, mini stereo phone jacks for the PC speaker connection, and some long header pins to increase the quality of the connections between the Arduino and relay board.

Watching the tracking reports of UPS and USPS was reassuring until I received an email overnight that one of the two amplifiers I ordered is 'permanently unavailable' and that part of the order is cancelled. Why the heck couldn't they tell me two days ago when they shipped everything, so that if I had needed that I could take alternative action.

Then received a midmorning email that the shipment was now delayed and won't arrive until tomorrow. UPS truck from Oakland to Sunnyvale left 6:22AM but didn't arrive before 10AM cutoff for today's delivery - a 42 mile journey made at less than 11 1/2 MPH. No refund of the rush shipment charge. I decided to return the items for refund, printed labels today and will drop them off tomorrow after they belatedly arrive.

While I waited for deliveries, I  loaded toolboxes and plastic bins with the supplies and tools I will need later this week. There are so many parts to this project that it will be a logistical challenge to bring everything

When the TF card arrived, the MP3 file was placed on it but I was unable to get the MP3 player board to work. I went as far as to set it up with a serial link and the software from the maker, DFRobot, but their software could never see their board and no sound came out.

I moved on to plan B, which is to use some kind of MP3 player to loop the song and feed it into the powered PC speakers. I chose my iPad, synced the song and verified that all worked well with a continuous loop. All that remains is to wire up the mini phone jack for the gunshot audio board and pack up the controller. 

Monday, September 25, 2017

Pirate ship controller almost totally complete; going to be restoring HP 21/MX system


All that is left to complete is the 'animatronic' controller for the ship and cannons, constrained by delivery of components today and tomorrow. I did mount all the PCBs onto a large wood board as I got closer to completing all the wiring.

I intend to place the board on the ground behind the middle of the pirate ship, with a plastic storage bin upside down over it to shield it from any liquid that might fall from the bartenders table right above it. My two power supply units will sit under their own storage bin cover right next to the one with the controller boards.

I will have eight push button switches on the board - two raise and lower volume for the pirate song audio board, two raise and lower volume for the cannon gunshot audio board and the other four are control buttons for the pirate song board. Once the switches arrive tonight they get wired in. Fortunately I can do some testing by shorting wire pairs in the interim.

Animatronic controller board with wired up PCBs - done until ship assembled Friday
The sound boards will drive audio amplifier boards (coming tomorrow) into an array of small speakers. If these don't produce enough volume, I will use one or two PC powered speaker sets to ensure the sound is loud enough. I set up the gunshot sound into a pair of battery powered PC speakers and the results are satisfying. I do have a second powered PC speaker set on hand.

I still need to get the TF data card onto which I will store the "Yo Ho" pirate song, install that onto the other sound board, and test the musical background through the two 2.5W audio amplifiers. The card won't arrive until tomorrow evening, nor will the two amplifier boards, thus all I can do today is to wire up the eight pushbuttons once the parts arrive tonight.

Once the controller is done, we have nothing further to do until we drive it all over on Thursday and Friday, assemble it Friday and Saturday, then watch it work during the party Saturday evening. There is a bit of wiring and soldering to do Friday, once the sections of the ship which are separately transported are joined together.


I will pick up a two rack HP 21/MX system tomorrow, along with several disk and tape drives. Renting a liftgate truck will make it relatively easy to move it into my workspace. This is a system I should be able to get working over the coming months as a nice side project.

Sunday, September 24, 2017

Pirate ship animation wiring underway


The final paint was applied to the pirate ship itself and the padded fake leather bar edge was installed. Same with the standalone cannon and its props. I installed the LED light in that cannon too. The only remaining activities for the ship are completion of the assembly and wiring for the control of all the effects.

Detailing and fake leather cushion in place
The 16 channel relay board arrived and was wired as far as possible for the cannon lights and cannon shot sound effect circuits. I can't complete hooking the cables from the cannons until everything arrives on site Friday, since the ship must be transported in three segments (and separate trips). However, it is all ready for final attachment at that time.

The relay board requires 12V to fire the relays, which I supply with one of the sections of a triple power supply. That board produces the 5V needed to power the Arduino Uno that will direct everything. The 5V is also needed for the sound effects boards that play the Yo Ho pirate song and the cannon shot audio.

The LEDs are driven by a separate power supply that is set up to deliver about a half amp of current to the LED, at just under 4V, when each LED is switched to that supply by the relay board. Thus these are running a bit under their spec and for only 1/2 second at a time with 30 to 60 seconds rest time.

My solenoid that pops up the cardboard head of Depp as Captain Jack Sparrow also requires 12V but at 2.5A, so I use a second section of my triple power supply to furnish that power, controlled through a relay on my relay board.

I was waiting for the solenoid to arrive sometime Sunday but also for the missing and probably lost shipment from Amazon of the sound board, amplifiers and speakers to complete the audio part of the project. At least I could take some action as of Sunday, the earliest that Amazon would officially recognize the shipment as AWOL.

The action allowed me was to receive a refund for my order, as the message claimed that the items were not available for reshipment. After selecting the refund, I immediately reordered the three items, which in fact were in stock.

My audio controller board and some of the order will arrive today by 9PM, but the remainder won't arrive until Tuesday - which cost me an extra $8 for expedited delivery fees. I feel Amazon should have just reordered the goods and covered expedited fees, but they didn't. A rare customer service fail for them.

Once the solenoid arrived, I hooked it up and tested out my animation controller. It cycles through all the cannon LEDs, flashing a chosen cannon for 1/2 second and moving on to the next cannon after 7 seconds. I elongated the time between blasts since the original 5 seconds seemed too rushed.

The cardboard head of Depp/Jack Sparrow is glued to the long arm of the yardstick and I tested to find the spot on the other side of the yardstick pivot where the 15mm stroke of the solenoid moves the head from full down to the fully up position above the top rail.

I chose to drill a hole at the actuation point, allowing me to tie a string to the yardstick and route it straight down to the solenoid sitting on the crossbar rail below. The solenoid is tapped for attachment with 6/32 screws, thus I had to make a bracket to mount it with screws and to the wooden 2x4 rail.

The string didn't work, but some magnet wire was perfect. That is, once I chiseled out a groove so the wire between the yardstick and its mounting area didn't drag. Once I put in limit screws to control its lower and upper bounds, it worked great! A slight bit of bounce since the solenoid pulls so sharply, but it is ready to go.

Click here to see the head pop up in a private quick YouTube video.

Late tonight I did get the audio board, which I began to wire into the mechanisms.It is pretty straightforward - power it with 5V, hook up USB to drag and drop a file with the name T01.WAV, then ground trigger pin 1 to play the file. My main relay board will ground the trigger line simultaneous with lighting of one of the cannon LEDs.

I will have twin 2.5W amps each driving a small speaker on a side of the ship. This will play the shot sound, while another MP3 board will loop the Pirates of the Caribbean ride song "Yo Ho" and mix its audio into those amps. A standalone CD player will be looping a soundtrack of waves, ship bells, fog horns and gulls to add some atmosphere.

Parrot skeleton with its new pirate hat to match the human skeleton

Friday, September 22, 2017

Construction of the pirate ship and other props going well


The standalone cannon is nearly complete. We have some detail painting to put onto the cannon base to finish it off. We also completed the treasure chest, other than loading up more sham jewels and trinkets.
Standalone cannon (will also have an LED light inside)

Treasure chest ready for more 'loot'
The mechanism is almost finished to pop up a cardboard lifesize head of Johnny Depp as Captain Jack Sparrow, coming up over the side near the stern when directed by the Arduino program. I had to counterbalance the lever that swings up the head to minimize the force on the rotary actuator, with just enough excess weight on the head side to drop it down when the actuator swings to the lowered position.

Head as it is popping up behind ship
The mechanism is build with a cutdown yardstick rotating on a screw. I am still working out the proper counterweight to have the head raise with minimum force, as the actuator rotates out of the way, but be pushed down as the actuator rotates in the other direction. My first counterweight was one pair of kitchen scissors, but they are just a bit too heavy for the head when I tested it.

I also have to contend with some front to back skewing of the yardstick, which might scrape the head on the ship boards or even jam its top under the board. I built two plastic guide strips on which the head will slide, protected from damage. These are attached over the top of the ship board and then down inside the back.

Rough pivot mechanism during testing
My test with the small rotary actuator highlighted inadequate torque to rotate even an almost perfectly balanced mechanism. I ordered a more powerful linear solenoid that will pull with 45N of force (10 pounds of pull), with a stroke of about 2/3 of an inch. Placed near the pivot of the mechanism that should work nicely. It will arrive on Sunday.

I was expecting my audio effects boards, amplifiers and speakers to complete the cannon shot sounds, as they were sent with a promised Prime delivery date from Amazon of yesterday, but instead they are now quoting indefinite estimates and offering some undeclared 'additional options' if I don't have the parts by Sunday.

Very disappointing when they flub this stuff. Hopefully I can reorder with one day deliver at no additional charge but possibly they won't offer to waive the shipping charges needed to compensate for their failure (or bad choice of shipping partners, in this case OnTrac).

Tuesday, September 19, 2017

Finished masts, rolling cannon base, working on Jack Sparrow head actuator, other details


The first set of effects painting was done on the ship today. We have a bit more to do that will define the 'windows' from which the cannons protrude. I did install one LED in a cannon to check that it is visible even in bright sunlight. 

Ship with some detailing completed
We are installing a fake leather padded top on the six foot wide notch that is the bar serving area. Next up was construction of the three masts - one at 12' high and two at 10', with 5' long crossbeams at the top and bottom of each 5x3 sail. 

Nancy built a 'cannon' and I put together a base for it. We will ultimately spray it with 'hammered' finish black paint, while the wood base will be distressed with streaks of different colored paints. 

Cannon with only base paint coat, wood base not yet decorated

Lots of painting and other detail work to do, mostly by Nancy and her friend Alice, while I work on the mechanism that will rotate a cardboard head of Captain Jack Sparrow/Depp up from behind the top rail of the ship's stern. The motive force is a 5V rotary actuator that will be controlled the a relay hooked to the Arduino that is also driving the LED cannon light flashes. 

Pirate skeleton waiting for pirate hat to fit its parrot skeleton (not shown)

Friday, September 15, 2017

Pirate ship ready for detail painting, other props being completed


I wired up the eight 190 lumen LEDs that will fit inside the eight cannons on the ship. We bought more wood, brackets and other supplies to complete the work, but mainly we are waiting on layers of paint on all the parts. 

There is also a considerable logistics challenge, in that I can't completely assemble a 16 foot long by 6 foot high ship, plus 12 foot high masts with sails that are 5' x 4', if I have any hope of transporting it to the site of the fundraiser. This means I have to build sections and complete assembly later.

Ready for painting timbers, cannon windows etc
The controller for the pirate ship will be an Arduino, driving relay boards that in turn switch the 2.5W to one of the cannon lights at a time, plus drive the actuator for the Depp head to pop up. The pirate song is played by a MP3 shield that runs autonomously, looping the song continuously. In addition to the "Yo Ho" song, we will have a CD looping with dock sounds - waves, fog horns and clanging bells. 

Nancy is building many props to surround the ship - coral and jellyfish to decorate one room as an underwater scene, crates, pier pilings and a treasure chest for the dockside near the ship, and so forth. I can upload pictures of items that are ready, but most items are still subassemblies or components that are work in process. I do have a bit more than two weeks until the event.

Coral to decorate the 'under the sea' room

Pier pilings and crates

We won't have access to the Alto for several weeks due to conferences, an R2-D2 convention in Los Angeles and some needed work on Marc's R2 unit in advance. I will be busy with the fundraiser props and have other projects I can work on in the interim.

Monday, September 11, 2017

Disk emulator interface card fully tested, ready for Alto test; work on pirate ship bar


The ship consists of three sections, to allow us to transport it from my house to the end location. The main section is eight foot wide and four foot high, with a lowered notch to allow attendees to interact with the bartenders behind the ship. The stern is four foot wide and a bit over six foot high, while the prow is five foot high at the bowsprite and four foot wide. 

I finished building all the framing with 2x4s and nailed the thin sheet plywood to the three sections. Using a jigsaw I cut the curves for the stern and bow next. My wife will paint these black before I attach the cannons to the front, the bowsprite and decorate the stern with some balustrades and wood strips.

The mast will be twelve feet high, standing behind the bartenders table with a 4x8 black sail about 2/3 way up  and a pirate flag above it. We are currently debating adding two more masts, with sails which would mean we downside the sail on the center mast to perhaps 4x4 since three have to fit across in less than 16' total length. It will all come down to proportions and ease of building.

I cut the thick tubes that will represent the cannons on the side of the ship. There will be a line of eight cannons across the side, four across the bar area and two each on the prow and stern. The end cannons stick out about 8" from the side of the ship but I had to cut the four in the middle down to less than 4" since attendees will stand in front of them while picking up drinks at the bar.


I put back the pullup resistors - 120 ohm since that was what I had, sufficient to pull 42 ma when the gates are conducting on, well below their 300ma recommended max and generating about 208mw per gate. The entire package is rated for 750mw dissipation and contains two gates so running at 416mw when both gates driven 'on'.

The relatively high current when the gate conducts ensures that swing is sufficient to be read as a 0 or 1 by the Alto. That is, we want relatively low resistance on the pullup since it forms a voltage divider with the Alto input gate resistance and thus the 1 level will be somewhat less than 5V by the ratio of the input gate resistance to the sum of input gate plus 120 ohms.

I set up my testbed to measure the on and off voltages of the driver gates with +3.3V and ground applied to them. Functionally the driver is an inverter, thus grounded input pins lets it float the output up near 5V while an open or 3.3V input will pull the output down toward ground.

Every output signal to the Alto was tested and passed - inverting the 0/3.3 signals to 5/0 outputs. Previously I had tested every input line from the Alto, where the 0/5 input was converted to the fpga input as 0/3.3V which means the board is ready to test on the real system.

Thursday, September 7, 2017

Making progress on the disk emulator role and its interface board


I hooked up power and began testing the functionality of the disk emulator interface board. I first applied +5 and 0 to the signals that are inputs from the Alto to the emulator - verifying that each FPGA input pin swung to +3.3 and to 0 based on that applied voltage. So far so good - my FPGA logic will detect the signals sent by the Alto to the 'disk drive'.

Next, I put a voltmeter on the pins that will deliver signals to the Alto based on the output voltages from the FPGA. I applied +3.3V and 0V to the fpga pins and looked at the resulting outputs to the Alto.

Only two signals every moved off zero - the ReadData and ReadClock signals that were terminated with the resistor networks on my board. That highlighted the fact that my bus driver chips that produce the outputs are open collector gates. That means they will conduct to pull a line down to ground but they do not produce +5V when off.

I had just removed all the resistor networks for these output gates from the board, since the Diablo terminator had no resistor nets. However, the Diablo drive had gates which produced 5 or 0V, not open collector gates.

Now, I have to hook up pull up resistors to all those output signals that are not working now. I won't install the pulldowns to ground, thus no terminator for signal reflections, but the pullup will ensure that I generate appropriate TTL output voltages.

I will figure out a reasonable resistor value for the pullup, one that keeps the current in the open collector gates below their limit, but otherwise can deliver the highest voltage when the gate is not firing even through the load resistance of the Alto input gates. 

Wednesday, September 6, 2017

Changes made to disk emulator interface board


Studying the picture of the terminator that was installed on the Diablo drive for the Alto, I see that it has almost no resistor terminator pairs. Five signal lines are terminated, but only two are actually used with the Alto - ReadData and ReadClock.

These pairs pull the line up to +5V and down to ground but provide a characteristic impedance to terminate the transmission line that each cable wire acts as. None of the lines out from the Alto are terminated and the only lines going into the Alto from the drive that are terminated are the two I mentioned above.

My board was built based on the Diablo drive documents and recommendations, thus all the lines have termination on my end. I will now remove all those resistors, except for the two pairs used with an Alto.

I should mention that the Alto has two pull up resistors on the disk controller card, but these are for the FileReady and SectorMark which assures that a unpowered or unattached drive will not be seen as ready or drive any dispatches of the DiskSectorTask. These are not providing impedance matching.

Using my hot air rework gun, all the resistors except for ReadData and ReadClock were yanked. As far as I can trace, all signals go correctly to the fgpa connector on one side and the IDC connector that hooks to the Alto on the other. No shorts or miswiring, as far as I could tell

As a final test, I tried to hook the board up to some power supplies and checked the behavior of all the signal lines. That is, I will provide +5V and 0 values to the input lines and watch the FPGA side for appropriate output voltages (3.3V and 0). I then apply +3.3V and 0 values to the FPGA side output lines and monitor the voltages (0 and 5V) on the Alto side.

For some reason, I couldn't find the connector to provide the +5, +3.3 and ground power to the board. It is a four pin Molex just like the power connections to older hard disks (e.g. IDE disks). I have thrown out excess items and packed up much of the rest to allow me to remodel my back room office and work in the garage. I will need to go out and buy a connector tomorrow then continue the testing.

Saturday, September 2, 2017

Problems found in disk emulator and in Digibarn Alto; some corrected


I looked at the signal levels coming into my board from the Alto, which didn't look great. I took off the terminator from the Diablo drive that is used with the Alto disk controller board and found that it had almost no terminator resistors installed.

My interface board has sets of resistors for all the lines, which suggests that one of my problems is those terminators. I will modify my board to disable all the resistor pairs except the few lines that are terminated for the Diablo drive.

In addition I am going to do even more testing of wiring and component functionality on the board, here in my lab, before the next testing opportunity on the Alto.


We decided to try to boot the Alto system we are restoring for Bruce Damer and his Digibarn. We set up the ethernet network and LCM's server, to attempt to boot over ethernet. In addition, we brought our disk drive in our Alto over to connect its cable to the Digibarn Alto controller card, permitting a disk boot.

Neither worked. We didn't see any packets on Ethernet to suggest that the Alto was attempting a boot. When we tried a disk boot, the arm didn't seek at all. Putting a scope on the four signal lines that indicate the next task to perform highlighted one problem. One of the four lines wasn't being driven, instead floating at a low level.

Investigating the card that controls task switching we found a wire that was shorted to a random pin and broken off the backplane fingers. A quick repair gave us all four task lines (8, 4, 2 and 1) producing reasonable values. Still, no booting.

We put the Alto on the big table in preparation for wiring the logic analyzer probes to it. When we next resume sessions we can wire it up and take some traces to find what else is wrong inside.