Pi1541 in 1541 Case & Tapuino – Part 3 : Schematics and a bit

I wanted to post the final Schematics for the Pi1541 Option B+SRQ and Bare Tapuino here.

Gerber Files for the board can be downloaded from here:

https://github.com/Markeno76/CommodorePiTap

Below is the Bare Tapuino schematic. It is basically a Tapuino using a bare ATMEGA328 instead of an Arduino Nano etc as the base. The ATMEGA is burned with the Arduino Uno boot loader. It can be programmed by pulling it or on the board. The required connections are available on the board by the Reset pin plus and other headers. That is why the Reset pin is there, to make that easier. I didn’t route a regular ICSP header though. It was hard enough to route this board for me, and I believe the other header with the required pins would have had to been unplugged for it to succeed. There has not been any firmware update for the Tapuino in a good while either. The design is a combination of the schematics from the Tapuino Github. The C2CON header is for the secondary Cassette for recording from it. I did not use that, although I do have the header in there on my board I have no connector anywhere to accomplish it. Because I am not using that feature, I really don’t need the 4052N on my board. That is what it is for. The 4052N can be bypassed by putting two jumpers in its place. The first jumper goes from Pin1 to Pin3 on it (Write Signal). The second bypass jumper goes from Pin12 to Pin13 (Read Signal). The Tapuino is a Tapuino 1.5 plus the Read and Write LEDs from the Tapuino Mini 1.02, and then using a bare Atmega instead of a Arduino Nano or Mini etc. I could not find schematics for the later Tapuino versions, I guess someone else made them to sell and has not released them. I didn’t care for a buzzer or speaker attached to hear the playback, so I was fine without that. I really do not have the Read or Write LEDs on my board at this time as they were added later. I might add them, but I am not sure it is worth the trouble. I would have to take my control panel apart to get them installed, my thought is to place some surface mount LEDs just behind the mesh. The other thing I would like is there was another firmware out there that had some “graphical” look to the Tapuino LCD display, I would really prefer that. I can’t find it anywhere, it was posted on a German blog I believe, but only pictures of it, no code etc.

The other note on the 4052N is that the 74HTC4052N does not work, but a 74HC4052N does work on the Tapuino.

Being a “Bareduino” base, there are other components on the schematic that are not typically on a Tapuino. That is because most are based on using one of the Arduino boards as a base. It was a good excuse for me to make a Bareduino.. I figured why waste an Arduino Nano or something like that if I was making a board anyways.

Pi5141 Option B + SRQ and TFT LCD Passthrough header.

The above is the Pi1541 Schematic. It is Option B plus with the addition of including the SRQ signals. They will be required for some updates to the firmware to take advantage of.

The TFT LCD Passthrough is probably less useful to most, it is actually a traditional Mini Din PS/2 Port. That is what my little 7″ Composite LCD came with as a connector. I decided to put it into the Tapuino. It was originally for use on my workbench to test my Commodore 64. It supports 2 inputs, the default is the one connected to the Pi’s Composite video output. The second input is out the back of the 1541 case and can be connected to the Commodore 64 Composite Video output. The board footprint and setup is actually setup so as to allow putting a Second Serial Din port side by side with the first one. If that was the case, then the TFTLCD header would be wired over to the back of the Serial port and the Serial Din would be installed instead of the PS/2 style Mini Din.

The 7″ LCD though lets me use this device as a stand alone device with the Pi, or with the Commodore as a reasonably portable LCD. There is also a jack on the back of the 1541 for an Audio Input with a switch beside it. If the switch is flipped toward the jack it will output the audio from the external jack to the internal amp and speakers, if it is switched the away from it then the audio is connected to the Pi’s audio output instead. This lets me play the Pi sounds through the internal speakers. The speakers are actually Mono, the rear jack is mono too. The Pi audio output is mixed down to mono with a resistor to prevent them back feeding into each other and damaging the Pi’s audio output. The alternate is that I can again connect up the Commodore 64’s Audio Output to the internal speakers.

The MicroSD Cards are both accessible from the front, the one on the left being the Pi’s card slot, which is extended with a MicroSD extender. The one on the right being the Tapuino’s card. This lets me remove them to add or remove files easily. The other thing it allows me is to swap the card in the Pi. I can then use the Pi for more things like running Raspbian on it, I can then output that to the internal speaker and the 7″ LCD. It can alternately access the HDMI Port on the side of the case (again with an extension going to the Pi itself). I can also put in a card with RetroPi on it, which again can run on the internal speaker and 7″ LCD or alternately output through the HDMI. I can then connect up controllers to the USB ports that are accessible on the side as well.

There are plenty of variations on the design possible. My point was to reuse this case I couldn’t otherwise make use of due to the failed read write head on the unit. The transformer I had left was for 220Volt input, so that wouldn’t have been of use to me either. I wanted to do something with it that would fit in with my C64, and there was just way to much extra space to not make more use of it. I liked the idea of doing a Bareduino project as well.

The Cassette cable worked out really well to. It is basically wired up as a passthrough Pin 1 to Pin 1 from the Din to the Card Edge connector. The Card Edge end is bolted into a DB15 (Gameport type not HD15 VGA (which is DB9 sized)) shell. I later painted it with a Green “Top” mark and lines and a Red “Bottom” mark so that I know which side should be up. I also inserted a bit of plastic to work as a Key into the slot in the connector. I had done that before and it fell out, so i wanted to have a visible mark as well. The wire is part of a very flexible Cat5 cable (yes old Cat5 not Cat5e) that I came across, I pulled out the extra 2 wires to make it more flexible as well. The ends have some heat shrink on them to build them up slightly and provide some strait relief.

Above you can see both the 7″ LCD and the little OLED on the drive face both display the Pi1541 output. So it can be used with or without the 7″ attached. The Pi controls are there on the left side, the 3 buttons and the 2 way momentary toggle switch. The Red LED is the Pi1541 activity light. The Green led on the left in the factory location is the Pi1541 power LED, it lets you know the Pi’s power is turned on. The other Green LED on the front panel is actually the Power LED for the internal audio amp. The Red tipped knob is the volume control and On/Off for the Audio Amp. The 4 buttons on the right are the Tapuino controls with the small LCD on the right being the Tapuino display. The Tapuino is powered completely by the Commodore 64 Cassette port. So the main power for the Pi does not need to be on for the Tapuino to work. That is partly why there are 2 schematics. There are two 5Volt power sources, the one that Pi uses is the internal Meanwell power supply where the Tapuino section receives the power it uses from the Cassette port, they are not wired together. They do share a common ground, which they share through Serial connection anyways.

I have used this unit for Raspbian as well as Retro Pie as well. My general intention is to use it just as a Pi1541 though most of the time. Originally I figured I would use it for Retro Pie a bit as well, but I have since built a Bartop Arcade to run Retro Pie instead. I really didn’t feel like disconnecting it from the Commodore desk and moving it to the living room to connect to the TV and such just to play some old games (other than Commodore games that is).

I have been thinking of putting a button on GPIO3 for a safe shutdown and startup button for the Pi when using Raspbian or Retropie like I did with my Bartop Arcade build. I just don’t at this time know where I would want to put the physical button. I could reuse one of the Pi1541 buttons, I could assign Safe Shutdown to another GPIO Pin that they happen to already be connected to. Still that would then not work as a wake up button as GPIO3 is the only one that will wake it.

Pi1541 in 1541 Case & Tapuino – Part 2 (Board Etching and Build)

Lets see what was left after the last post. There were quite a few changes to the board layout. I found several defects in the circuit diagram I had made.

There were corrections for the Pi1541 section, in that I had connected up one of the signals that I shouldn’t have. The removal of that bit made the design a bit simpler actually.

For the Tapuino side I had several missing connections. So the layout below is not the exact same layout seen below here. This one below is the corrected revision with a few additions as well.

 

Gerber Files for the board can be downloaded from here:

https://github.com/Markeno76/CommodorePiTap

Here is the design minus the Ground connections.

I built the Pi1541 section based on the Option B design, but with the additional signals wired in that were listed but not wired. That is why I have the second level shifter on the board. I sort of think of it as an Option B+ design, there are some others out there, but most are just plain Option B. It didn’t matter originally, but for some of the new features he has been working on, the additional signals are needed. The problem though was that the oAtn or OUT_ATN should not be wired up as it will never be used, so I had to remove that and I had to do some modifications to my prototype board below. I also added the Buzzer for the Pi1541 to the board design. The next changes were the missing connections to the 4052N on the Tapuino section. I was missing 4 lines going to the IC, two being ground and two to the ATMEGA pins. Some other additions are Read and Write LED Indicators to the Tapuino.

The board I etched was no the above design, to correct my prototype board, I had to cut the lines to the oAtn, removed the wire from the pin on the Pi for as well. I have added wires for the missing traces to the ATMEGA from the 4052 and grounded the other two pins. My buzzer is on the Pi header not the board, and I don’t have the additional Tapuino LEDs.

The images of the board below are the board made with the previous design. That is why it won’t look exactly the same. Some pictures show the corrections and some show how it was originally assembled.

First let us start of with the Toner Transfer process. To do a toner Transfer you need a piece of glossy paper. I initially purchased some Toner Transfer Paper, it was rather pricey for all the more use I get out of it. With Eagle I can not find how to “tile” my printout, so I am using a full sheet for any tiny board.. I found you can use magazine pages, so I tried that. It has worked out pretty well actually, although The first run didn’t. This is a more complex board, it is double sided, and it really is not easy to line it up properly. To do so, I printed out both sides. The top mirrored and the bottom not mirrored (as the bottom is printed mirrored already). I then lay them on top of one another and with light behind them I get them aligned. I then cut the sheets down. This gives me some registration of the alignment. I double and triple check alignment. I tape the two sheets together on two opposite edges with clear tape. I do not want the tape to overlap onto the circuit board material, so I had around a inch boarder around the board printout. If the tape overlaps the design it can make it not transfer properly. We need no assistance in having a failed transfer, that is easy enough to get without additional help.

That being said here is how my first try went.

My next attempt went much better.

With that transfer I just had to touch up some places with a sharpie in the ground plane areas. It was not easy to etch though. It took quite a few passes and pulling the board out as the toner ended up starting to lift in a number of areas. I don’t know if it was my toner (I think it is at least partly the aftermarket cheap toner), or the extended time it was taking in the etching solution for me. I was just using peroxide, vinegar and salt. It was taking a long time. I don’t have anything stronger here, but due to the time it took, I may try to pickup something else in the future.

Below is the completed board after etching compared to my printout samples. There is one bad short, I don’t know why it did that there. There are some areas that were a bit close. The transfer process is to put the board between the printouts, and use heat and pressure to transfer the toner from the magazine paper to the copper. The copper must be very clean and not tarnished. I sanded it with fine sandpaper, then cleaned it with some rubbing alcohol. You want “enough” heat but not too much, too much and the toner melts and deforms, to little and it doesn’t transfer. Too little pressure and it won’t transfer, it seems the more pressure the better. I use a small iron that I can put a lot of pressure on, but I don’t find it easy to do. Once the transfer is done (or you think it is), then put the board into some water. The magazine paper will break down and come off leaving the toner on the board (if it worked). Carefully wipe it off to get that white paper haze off of the surface. Then put the board into the etching solution. (I have some examples and details of the process on my Commodore Computer Saver post, which is a more recent post here.)

I was extremely happy to find out my alignment was nearly perfect. It etched well, although it took forever. This is the second board design I have etched, and only the third board. The first being an adapter board that was extremely simple. The other design I did, I had the traces closer together with less empty gap. The wider gap I had here between traces made it much easier to solder up as there is no solder mask present.

The next step was to drill all of the holes. That took awhile. It required some very small drill bits. I had picked up a set of very small bits from Harbor Freight last year for very little cost. They turned out to be perfect for the job. The only problem is it would have been forever with my pin vise drill. I went to the drill press (from Harbor Freight as well), and well it couldn’t hold bits this small. Well my pin vise drill is metal, and round if I take the bottom piece off. I carefully installed it into the drill press chuck. I tightened it just enough to hold it and left the other bit holding part inside the shaft of the pin vise to make it stronger.

I then went ahead and drilled out all of the holes. The smallest being the holes for the resistors and capacitors. The last board I did, I drilled some of the holes a bit large, that made it hard to get the leads to solder in with too much gap around them. This time I went with the closest size bit I could. That ended up being about 3 primary sizes, the smallest for the resistors and capacitors, then one for the Dip sockets and finally the pin header and other connectors. With a few larger ones for the mounting points on the PS/2 style socket and board mounting holes.

With this being a double sided board, and no plated through holes I had to pay special attention to assembly. I used Machined DIP Sockets for the ICs, as the top side of the pins can be accessed with them tight to the board, and some of the connections are only on the top of the board. I didn’t have a Machined socket for the ATMEGA, so I used machined strip headers for it taking care to make sure they were standing up strait. I did not assemble this board in the order I would if it had been a manufactured board with proper through holes. Normally I would put in the short stuff first, then the taller stuff later and the tall connectors last. I couldn’t do that, and get to the areas I needed to on the top side.

As I mentioned above there were some changes to the board after I etched it. The above image shows it as it was made initially. Below here is the revised board with the corrections. The removal of one resistor in the Pi1541 area, I also removed the one header by the Serial port due to there having been a short under it I had to remove. I didn’t need that header in there for my exact use. That header would be used if you wanted to put in a Second Serial port like the real 1541 has instead of the PS/2 type port I am using for my 7″ LCD interface. The same header coming off the PS/2 port wires to the removed header above the Serial port to enable it in that case. The cutting of one trace in the Pi1541 area by that resistor on the bottom side of the board. The additional two wires for the Tapuino between the ATMEGA and the 4052, as well as the added. Ground pins connected up to it. Again the below changes don’t need made to the “newest” design. These modifications are due to the earlier defective design I etched this prototype from. If you compare them there are quite a few changes between it and the revised design at the top of this post. This is how the board is in my drive now though. I have the Pi Buzzer for the Pi1541 directly on the GPIO of the Pi. I don’t have the Read and Write Status LEDs for the Tapuino, although I am thinking of adding them. It is worth noting that the pinout for the header that is going over to the Pi’s GPIO is different on this earlier board than the revised board. The changes were to move the Buzzer to the board, but also I swapped the positions of two of the signals to simplify the traces going to the Serial port.

Here I have the board installed into the chassis.

You may wonder about the Black Oval thing in the middle on the right, that is a Ground Loop noise isolator. It is between the Pi’s Audio Jack and the Audio Jack of the Little audio amp at the bottom of the case there. Without it, there is a buzz. I have used a couple of these things now for that kind of isolation. I believe they are essentially a transformer inside, so there is no direct electrical connection between the grounds.

I had mentioned in the last post that there was an issue with the Meanwell power supply needing a 200mA minimum load on the 12Volt rail. My solution to that problem was to install two 100mA rated fans. The one I put on by the little audio amp. The ic on it gets warm at higher volume levels, so I figured it was a good idea. The other fan I put on the top of the case by the Pi to cool it. The fans make very little noise and provide enough load to the power supply to be happy even with the Audio Amp off, which also runs on 12Volts. I don’t believe the fans are are really pulling 100mA, but they are close enough that everything is working well.

Yes the Pi1541 is working.

Here are some shots of the exterior of the Pi1541/Tapuino unit.

The Tapuino section is also working as well. Originally though, I couldn’t get the Tapuino to work with the 4052 installed. So I bypassed the 4052 with some jumpers into the IC socket and I was using it that way for awhile. The 4052 is not needed unless you want to be able to duplicate from another device into it. I put it in the design to have it “complete”. It lets you connect up either a physical Cassette and dub off of it, or another Tapuino (why?). To use it, there is the unused red header there in the Tapuino section that would go to the other device. I eventually came to the conclusion that the likely fault was the specific 4052 IC I was using. I was trying to use some 74HTC4052N ics, and they just wouldn’t work. I ended up ordering some 74HC4052N ics, and those worked perfectly. I try to be careful when ordering in ics, and the fact there are so many similar models it just doesn’t always work out. I don’t know what the difference is in the HTC that it won’t work in the place of the HC chips for this use. For the old 8bit stuff usually you use LS stuff, but these don’t come in LS. If you don’t want to duplicate tapes to the Tapuino, then you really only need to bypass the 4052 with two jumpers, you could even leave out the IC socket and jumper on the board.

I would like to post the board design in some way that it can be downloaded by others that may want to try to use it. I don’t know about making Gerber files though, I could post the Eagle files somewhere and then someone could do Gerber files themselves. Eagle is free for these small designs.