Sorry for creating another "Custom FloppyEmu Enclosure" thread. I didn't want to hijack the original thread. If you're looking for Dave's original thread on his perfectly original Disk II enclosure conversion, look here.
I did use his wonderful idea, but followed a slightly different approach. This going to be a lengthy posting – I hope you don’t mind. I’ll split it into several posts, so you can skip along…
So, what's this about?
I recently got my FloppyEmu – and needed a proper enclosure. I really liked Dave's (PTB) project, however, I had two issues:
- 1. I don't have a Disk II. My IIe has a DuoDisk – but that's not a good option for a conversion. Also, Disk II drives on ebay sell for more than a new FloppyEmu – well, at least on this side of the big pond.
- 2. And this is my main issue: I really like repairing and restoring stuff. I always feel a bit sorry when I see projects, which gut an original device – like to build a raspberry into an original Mac case etc. I didn't want to convert a drive – especially not a working one.
As usual, it's also a matter of taste. But I preferred another solution. Well, “other solutions” now often means “3D printing” for me. I have my first 3D printer for less than a year, but it’s just amazing what’s suddenly possible…
So, here we go: here’s my attempt at “3D printing a complete FloppyEmu Disk II custom enclosure“...
I mostly use "OpenSCAD", a script language, to design 3D parts. Feels a bit like GUI programming in the “good old days”, before GUI design tools were common. Instead of placing buttons and text labels on a 2D surface, you’re arranging cubes and spheres in 3D space. And you can flip, intersect or subtract elements. Use basic loops, work with variables etc. For a programmer like me, that just feels much better than using a CAD tool. It’s probably a bit more tedious though. But scripting also has advantages. You can easily implement options (one or two LEDs? Large or small LCD?), allow the script to adapt to different sizes (scale the box, but not the PCB or LCD, keep the SD slot centered). And you can do conditionals (use a 5mm LED for the full-sized design, but use 3mm LED for the scaled-down version) etc.
Anyway. Here's the design I scripted. For the prototype, I’m starting with printing a variant which is scaled to 2/3rds of the original size of a Disk II. It’s just large enough to fit the FloppyEmu PCB and its original LCD:
It's not a replica, just a “look-a-like”. The parts are designed to be easily printable, reducing "overhangs", which most 3D printers are not good at printing – or at least require wasting lots of plastic filament. The main difference to the original is that the shell’s top and bottom parts are separated differently. The seam between these elements is mostly hidden on the underside of the box. Of course, the design has a number of "fake" seams, so it still looks (well should) like the original box.
The front panel uses large buttons to control the FloppyEmu. I arranged the previous/select/next buttons in a top-down order on the left, while reset is the single button on the right. It seemed more natural to me to have an UP/OK/DOWN arrangement of the main buttons. I might change the arrangement with the next print though. One idea is to convert the reset button to a little round “peg” only (since it’s rarely needed) – and maybe shape the up and down buttons like an arrow (upward/downward triangles).
I decided to stick to a single LED (drive status) only, since the power LED is not really needed. You can tell whether the device is on by looking at the LCD anyway. I didn’t want a red LED which was always on. It’s a matter of taste, of course. I have an option in the SCAD script though, which adds the second LED, if someone wanted it…
The front panel provides mounts for the FloppyEmu PCB. Two screws attach the PCB directly to the panel. The rear of the PCB is screwed to the base (with a little spacer bracket). This connection is pretty “bullet-proof”: the PCB and front panel won’t budge if you push or pull the SD card.
The buttons, a mounting bracket for the PCB (rear) and a bracket for the cable strain-relief are also printed.
Here's the first print of the top shell. The top part is the most complex to print. Even the scaled-down prototype takes about 7 hours on my Ender 3v2.
The top shell is printed upside down. The grooves on the top of the case are one of the few places, where I cannot avoid relying on printed “supports”. That worked really well though. I was amazed how well the large support mesh broke loose – revealing the well known Disk II grooves.
Printing the front and rear panel and all the minor brackets is straight forward. The panels take about 1:15h each. The four buttons and brackets just a few minutes.
I usually design boxes to either snap together – or use screws. In this case, however, I decided the top and bottom part should be glued. I wanted to hide the true seam between these two shells completely. The seam is mostly on the bottom of the box, but directly looking at it from the front (or rear), could reveal how the look-a-like was actually constructed. So, I glued the two parts, made sure the seam was completely smooth (use glue or other filler for smoothing, where necessary), then applied paint to cover. If you look at the bottom corners: not easy to tell, that’s where the shells were joined.
I used flat, light beige spray paint. Well, for the prototype I just grabbed some can from the local store. Yes, yes, yes, of course, I know, it’s not the “right shade of beige”. Well, it’s good enough for the prototype. A better color-match is another optimization for the final print… :)
The other advantage of gluing the two parts together was its strength. I initially thought the top and bottom were a little too weak. There is always a trade-off between wasting too much vs using too less filament when designing 3D printed parts. But I was quite happy once the two shells were glued. No more wobble, no more flexing – the shell became really rigid. Wouldn’t have worked quite so well if the two parts were only clipped together or attached with two screws per side.
The front and rear panel will be attached with screws, of course (from the bottom of the box), so the FloppyEmu PCB can be accessed when necessary.
The button panel is straight forward. I was a bit proud of myself, since I remembered to make sure all button spacings were a multiple of 2.54 mm (0.1 inch). I eventually started a KiCad design for the button PCB, but then didn’t want to wait for a manufactured PCB. The 0.1 inch spacing allows to use a prototyping/perfboard to solder the buttons. They’ll exactly match the front panel - unless you miscount the number of solder pads between the buttons, that is... :)
I soldered the buttons on the bottom (copper) side of the PCB, while the 2x5 pin header is soldered normally (from the top). The 1K resistor for the LED is also soldered to the PCB. The leads from the status LED connect to the button PCB. This way, the front panel uses a single ribbon cable to connect to the FloppyEmu (for buttons + LED(s)).
Unfortunately the FloppyEmu does not provide any pins or solder pads for all the button and status signals. If Steve ever redesigns his FloppyEmu (well, revision D...), I hope he remembers to add some solder pads. But as PTB has already described, it’s still quite easy to tap into the FloppyEmu.
A single wire for each push button is enough: all four push buttons, including the reset button, connect to common ground. The status LED, however, does not connect to ground: it's wired between the status output signal and +5V (via an appropriate resistor for the LED, of course). Unfortunately there is no easily accessible pad to tap the status signal. The only feasible place is to solder directly next to the LED. The status signal is on the right of the LED – as shown. Be careful when soldering – just touch the LED very briefly with the iron – otherwise the onboard LED will die.
The onboard LED is a 3V LED with a 220 Ohm resistor. I used a relatively bright modern LED – and “derated” it by using a 1K Ohm resistor, so it’s not too bright. I kept the original onboard status LED of the FloppyEmu. The original LED consumed (5V-3V)/220Ohm = 9mA. My additional LED in the front panel consumes (5V-3V)/1000Ohm = 2mA. The status signal is directly driven by the ATMEGA controller on the FloppyEmu. Its I/O pins can easily handle 11mA. The extra load for the second LED is fine, so both may be connected in parallel.
You can wire the ground lead (common for all push buttons) and the 5V (for the status LED) to the unpopulated debug connector in the middle of the FloppyEmu PCB. I soldered these two on the PCB’s bottom side, so they are almost “invisible”. It’d be really nice if there were similar pads for all other signals (buttons/status LED).
I soldered all wires to a 2x5 pin header, so I could use a neat ribbon cable with plugs to connect the front button panel. The ribbon cable connects all four button signals, the status signal, ground and 5V – so three pins remain unused. If you wanted a power LED – just connect between ground and 5V (via a resistor, of course).
Btw, I really like these rainbow colored ribbon cables, they look so “retro” all on their own. :)
The look-a-like needs all the proper stickers! I slightly adapted Dave’s front panel design (single LED). And I created a matching “cable warning” sticker for the rear, using Apple’s original US (“Made in USA”) and European (“Assembled in Ireland”) variants of the original Disk II stickers as templates. It’s a mix of both – slightly adapted to my personal needs. :)
I printed these with a color laser printer, on thick, glossy paper. I covered both stickers with two layers of flat clear coat (spray paint). Resulted in a water/stain-resistant surface – and also a plastic-like look & feel.
Another minor trick. For the black front sticker, I traced the edges on the reverse side with a black pen (Edding/Stabilo/Sharpie – whatever your nation’s quality brand pen is). This makes sure the paper’s sharp edges are also black – so you won’t see white edges when you look at the front panel from an angle.
Finally, time to assemble it all. The FloppyEmu PCB is screwed to the front panel. The button panel is attached. I use a 16pin ribbon cable (with 2x8 pin headers) for the LCD (though the LCD itself only has 1x7 pins). And a 10pin ribbon cable to connect the button panel to the FloppyEmu button/status/supply signals (via two 2x5 pin headers). Once, everything is attached, the whole assembly slides into the front of the shell:
The front panel and the rear of the PCB are screwed to the bottom of the shell (I also printed a small bracket (“feet”) for the PCB rear).
Finally, the rear panel is attached – also screwed from the bottom. The rear panel also has a strain-relief for the Apple disk ribbon cable. However, the rear panel seems a little too weak to hold the ribbon cable, so, I didn’t use it for the prototype. One of things I’ll optimized for the next/final print…
So, we’re almost there. But... it’s not complete… without rubber feet! :)
Et voilà! Here it is! Bitteschön! :)
So, that’s the current state of the design. My initial plan was to start with the scaled down version. And then, once everything was fine, go for the full-scale print – and also use the large LCD. However, now that I have this “baby box”, I’m not so sure, whether I really still want a full-sized box. The small one is actually quite cute the way it is. :) However, I haven’t finally decided yet. The SCAD design still has the full-size option...
The current design has a few minor issues. The cable strain-relief on the rear needs to be revised. The front panel needs a slightly larger cutout for the LCD (so the LCD is still fully visible, even when looking from an angle). And a few other minor things. 3D printing is a bit like software programming. You can always keep improving... :)
However, there still is one main issue: I used photos to obtain the looks and dimensions of the original box. I don’t think it’s too far off – but I’d still like to get it right. I can easily adapt all properties in my SCAD script. Similarly to software programming, there is a header file which defines all the dimensions. It just needs some corrections.
So, if anyone was interested in this print – and you do want to help – and you do have a Disk II – and you do know how to use calipers: I could still do with some help. Just be warned: there's quite a lot of things to be measured, it’s not just the size of the box. There lot’s of grooves, and gaps, ventilation ribs, … It will probably take more than just a few minutes if you wanted to help. And, yes, I do plan upload the entire design somewhere (probably github or alike).
Finally, to summarize and just to be clear: this is a 3D printed plastic box. However accurate you’re trying to be, it will never look exactly like the original. Neither will you ever get the color (paint) exactly right. If you have a Disk II – and you do want your FloppyEmu to look exactly like it, you will need Dave’s approach to convert an original box. If, however, you do not have a Disk II. Or you do not plan to stack your FloppyEmu with an original, then a 3D-printed custom case may be an option. And you could save the life of an original Disk II. :)
Anyway. That’s all for now. Again, sorry flooding the forum with some lengthy posts. And, once again, thanks to Dave for his great idea of using a Disk II box for FloppyEmu!
Beautiful craftsmanship. High quality 3d prints like this still amaze me. Great work on the stickers, too.
I will still probalby go for PTB's design, but I like this, especially because it provides an option to avoid sacrificing working or repariable original Disk ][s. You clearly have put a lot of time and effort into this. The combination of artistry and engineering from a bunch of old geeks is alway amazing. The stickers are really nice work also. I would absolutely want it full sized, but I understand the scaled down prototype. You might want to add mounting pegs for the Noisy Disk sound board. I think there would be plenty of space in the full size version for this. Nice work.
Do you have an approximate cost estimate for producing this?
Hi MacFly, This is great !
Loving the 3d printed case. Also the custom Red Sticker on the back. That gave me a smile haha ;)
I'm currently looking at a slight modification to mine regarding the LED's. Thats whats holding up my assembly manual.
I see you've tapped into the ISP header for +5v and Ground. I was thinking of maybe the same or alternatively running a R560 + LED in parallel with Original R1/R2 LED Resistor Combo.
My original I desoldered the onboard LEDs as I was concerned about excessive current draw if I had LED's by themselves in parallel. In retrospect I'd like to keep the LEDs on there so that the emu is both kept more in its original form and desoldering them with a single iron is a bit of a hassle. So that part is particularly interesting to me.
Also like your more efficient button wiring. 5 wires instead of 8. I ended up duplicating the grounds for each switch.
A lot of thought into that 3d printed case design. Its all the little things that make the difference. Sensational work there.
I'll be re-reading over this a bit checking out the detail ;)
Both idea's of building an EMU enclosure are brilliant. I like both approaches and I'm not sure which one I want to use.
I think this 3D printed case is awesome!
If I build a second Floppy EMU then this is the way to go! have a real floppy case waiting for Daves parts :)
Thanks for this!
Thanks for all the friendly comments. Yes, it's been fun so far. I'll be pushing all the files to github. May take a bit though, until it's all ready.
@8BitHeaven: Concerning cost. The material cost is not really the issue with 3D prints. Filament is cheap. I guess even the full-sized box would consume plastic filament for maybe a dollar. The issue with 3D prints is: it's slow. I guess all the parts for the small box probably took about 10 hours to print. The parts for the full-sized box would probably take around 24h. That's huge fun and very rewarding if you're building one for yourself - and you can put your 3D printer to very good use. It's probably not so much fun if you were trying to make a whole batch, like printing a dozen of those. So, I guess, like most other 3D printing projects, has a strong DIY focus. :)
Ok, I have uploaded all relevant files for the fully 3D-printed FloppyEmu enclosure to GitHub. Includes the STL files for the 3D-print, but also the original OpenSCAD sources. There's also KiCad schematics & designs, including Gerber files for the front panel's button PCB.
And, of course, the files for the stickers are there. There are also GIMP files with the original text layers, if someone wished to adapt them (if you wanted one with "Made in New Zealand", "Assembled in Switzerland" etc :) ).
I've added a few smaller improvements to the model, things I noticed with the prototype. Still, so far only the small varint of the enclosure is tested - the one shown on the photos above.
I've also added a little bonus. I didn't quite trust Floppy Emu's DB-19 adapter. Its pins expose the +5V and +/-12V rails. And the Disk II cable pinout has the 12V rails sitting right next to TTL-level disk signals. Any metal object touching the adapter PCB could easily cause a lot of harm. Sure, it's plugged into the back of the Apple II, where you rarely mess while the machine is switched on - but, one deay, you could get unlucky:
Guess what my solution was? :) Sure! Another 3D-printed enclosure... It safely houses FloppyEmu's DB-19 adapter. It's not my prettiest design and a little clunky. But the adapter's clunky nature of the PCB/box header/header plug/ribbon cable assembly just needs a lot of space. Anyway, I have also uploaded the design and STL files for the 3D-printed adapter enclosure to the same GitHub project.
Nicely done, congratulations, you both deserve a big applause!
I really like what you did - very nice project and looks super clean on completion.
I Love the fact that you were able to mock up and do this entirely without a disk II drive enclosure. That is impressive in and of itself and your attention to detail on the finished item looks very good.
I also like the 2/3 size idea, that is probably a better fit size for the floppy emu in general. Some of us have a dozen of these drives sitting around in various states of working order, but not all of us.
My .02 on what might be issues if I tried to duplicate it (or others)
You seem to have many more solder points in yours and a custom board, which may make it a more difficult project for some of us to undertake, especially since some of the solder points are on a small pad or close to other circuits. The ones on the other version appear to only involve connections to the buttons which are not nearly as sensitive to heat and mistakes.
Looking through the assembly, yours also seems to requires a much more adept hand at trimming pieces and applying labels. If you are OCD they will come out great, but if you are not, no so great. ;)
Great complete project - that you could do that is amazing, but duplicating it might be a little fiddly, IMO.
Thank you for sharing. Love to see if others try this, how they come out.
Wellllll, looks like it's time to clean all the dust out of my 3d printer and try to figure out how to make one of these. :D
Nice and well made!
Fantastic! I just bought a FloppyEmu (hasn't even delivered yet) and I've got a Prusa MK3S clone here. I too was worrying about all the exposed stuff. Appreciate you sharing!