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.

Thursday, August 31, 2017

Short hiatus attending to other tasks


I have been completely tied up with several non-computer projects. I had my driveway and walkway replaced with pavers, a flagstone patio added and stone veneers added across the bottom 2' of the front of my home. In addition, I am building the 16' Pirate Ship bar and other props for a fundraiser in October.