Showing posts with label PCB Making. Show all posts
Showing posts with label PCB Making. Show all posts

Saturday, May 12, 2018

ZeaMouse V2, USB Mice for the ZX81 & Spectrum Revisited: Part 1

Leave a Comment
A year ago I knocked up the ZeaMouse, a USB mouse interface for the ZXpand and ZX81. ZeaMouse is a USB to digital mouse expansion board built around an Adrunio USB host shield. A year on it seems like a good time to revisit the project and make some improvements.

Last time part of the fun was building a simple Arduino clone as part of the ZeaMouse. Unfortunately this kept the size of the end product much larger than it needed to be. This time an Arduino Pro Mini 3.3v has replaced the DIY Arduino, matching this with a USB Mini Host shield and some additional components on a home-brew shield sees significant reductions in interface size.

The USB Mini Host shield forms the core of the project and is designed to fit under an Arduino 3.3v Pro mini. The USB shield has all the abilities of it's bigger brother but does with some but comes with some power supply limitations. By default the combination of 3.3 volt Pro Mini and USB host  combination delivers 3.3 volts to an attached USB device. For some hardware the voltage may not be high enough, although all the USB mice (if a limited selection) I've tested have work without issue.

3.3v Arduino Pro Min, USB Shield and ZeaMouse V2 PCB.
The USB Host shield can be modified to deliver 5v to connected devices if required. Details of the conversion can be found on the Circuits@Home website. The modification bypasses the Arduino's 3.3v regulator, meaning that whatever is used to supply power to the RAW inputs must be rated a 5v or lower else you risk frying an attached USB device. The ZeaMouse is powered from the 5v lines on the digital joystick port, so the modification is fine for our purposes. (But check your Micro Computers Specs first).

I decided against using 4066 switching ICs on ZeaMouse V1 as it made designing the single sided PCB a lot simpler. This time, with design simplicity and ease of build-ability screams for the use of 4066s. With the Arduino Pro Mini operating at 3.3 volts and the ZX81 at 5 volts, 4066s provide a simple way of keeping these conflicting voltages separated.


ZeaMouse V2 Circuit Diagram
Although I got a couple of double sided test PCBs fabricated, the ZeaMouse boards are pretty much designed with home PCB making in mind. Only the bottom of the board really needs to be made up. There are a couple of via's must be connected with some straight wire on the top of the board should you choose to build a single sided PCB.

Building the interface is straight forward. The hardest part is probably soldering the Pro Mini and the USB shield together. Constructing ZeaMouse shield itself is a breeze, and will only take about 20 minutes maximum.

Other than two 4066s, the only other components required are pin headers and IC sockets, although all of these are optional. The Arduino and USB Host along with the ICs could be soldered directly to the shield PCB. The only required header is J4, used to enable or disable RS232 communication with the ZXpand. J4 should be left open if using the ZeaMouse on any micro computer other than a ZX81.

ZeaMouse v2 Shield completed.
The connection pads or pin headers on the far end of the shield board should be wired up to an Atari joystick cable or DB9 socket. I had a cable from a broken controller to hand; care needs to be taken re-purposing cables for fear of sending 5 volts down the wrong line. The TX serial out is the one non-standard connection, it's specifically for the ZXpand+, and should be routed to RX on the ZXpand+.

ZeaMouse v2 interface for the ZX81 & ZXpand / ZX81, the ZX Spectrum and other 8 bit micros
Next time I'll cover the firmware and take a look at the mouse in action. No need to wait until then if you're keen to get going; All the files and firmware required to build the interface are a already available on the ZX81 Projects and Programs to Download Page.

See more entries for this project: Part 1Part 2
Read More

Sunday, April 29, 2018

Easy add-on Projects for Spectrum ZX81 & ACE (Redux): Part 2

Leave a Comment

Building the Decoder Board

After several weeks of waiting the Decoder Board PCBs arrived just in time for a bit weekend assembly and testing. I'd ordered the other components required for the build a couple of weeks ago and had them laying around in anticipation.

Aside from the various electronics, I decided to use a ZX81XT extender board purchased some time ago from Sell My Retro. The ZX81XT is perfect for prototyping or just for swapping various project boards in and out without the need for multiple edge connectors.

ZX81XT extender and Easy Add-On Decoder Board PCBs

As my decoder board at its core is a part for part update on the original design as presented in the 'Easy add-on Projects for Spectrum ZX81 & ACE' book, I pretty much followed the general assembly instructions given in the text. This process was exceedingly helpful during the various testing phases outlined during the build procedure.

The major update in my version of the decoder board is the substitution of through hole components for SMD parts. Being the first time I've willingly used SMD parts I was expecting quite a challenge. The good news for anybody else finding themselves slightly apprehensive of incorporating SMD components into projects is that it's actually quite easy to use them. The most problematic parts I found to be the tiny resistors and capacitors. I managed to loose a couple of the minuscule resistors by simply dropping them into someplace never to be found again. Dealing with and soldering of the SMD ICs in comparison was all very straight forward.

Fully Built Decoder Board Ready for Testing

After about an hour and a half I had the decoder assembled ready for some final testing. This is where I hit a slight snag. The first project in the book, 'Pulse Detector' serves as the final assembly test for the board. Unfortunately I neglected to order the ICs required for the test project.

I figured it should be possible to conduct some testing with a simple 555 timer circuit. I did however wish to ensure that what ever it was I built would be genuine test of the decoder. Luckily the book had such a 555 timer circuit I could easily modify, 'Project 5, Beeper'. Simply removing the Beeper part of the circuit (which I also had no components for) and replacing it with an LED would prove the board worked.

LED 555 Test Circuit Connected and Working on a Spectrum Omni.

I first tested the Decoder Board on a ZX81. This requires entering a program listing appearing in the books appendix. The ZX81 has no built in BASIC commands to read or write to expansion BUS, the programs listed in the book addressed this absence. After entering an running the application I successfully blinked an LED, a positive right of passage for any micro controlled project. I then moved the decoder board across to my recently acquired ZX Spectrum Omni (deserving of it's own blog entry sometime soon). Again the LED blinked as expected.

All in all everything has worked as expected, time to pick up some extra electronics and build some of the books proper projects.

See more entries for this project: ForwardPart 1Part 2Part 3


Read More

Wednesday, September 30, 2015

PCB Mounted and Ready to Go

Leave a Comment
I haven't found a lot of time over the past couple of weeks, still I have managed to finish off the PCB and furnish it with components.

Assembled keyboard interface, with mounted LeoStick
The LeoStick is mounted on some pin headers, leaving height enough for a USB cable to be attached once the PCB is mounted in a case alongside a Raspberry Pi.

Underneath the LeoStick there is also space for a couple of resistors. The LEDs and a Momentary switch are attached to some more headers via some wires, and these will be mounted into the eventual case at convenient locations.

I ended up ordering some Molex connectors suitable for mounting a standard ZX81 membrane keyboard. The ZX8-KDLX I procured earlier is designed to quite happily plug into a ZX81 as a replacement keyboard. Using the Molex connectors rather than say IDC connectors, as could have easily been done, leaves options open if I ever decide to fully embrace the retro and go all membraney.

So now it's on to some case designing, as well as going back and reworking of the Arduino Sketches.


Read More

Wednesday, September 16, 2015

Creating a PCB for Mounting the Keyboard Controller

Leave a Comment
The one of the goals of this keyboard project is to house all the components in a ZX81 inspired case. To help achieve that end, I'll need to mount the LeoStick and keyboard circuit onto something a little more permanent than a breadboard and I decided to make a relatively diminutive PCB to do this job.

This leads to the question: With the advent of easy to access PCB fabrication houses, is there any point in fabricating your own board? I was initially tempted to outsource the manufacturing but in the end decided to roll my own PCB for a couple of reasons.

Firstly, the PCB I need is not particularly complicated. It's a one sided board simply used to hold some resistors and header pins, an easy candidate for home fabrication. Note you could just as easily used some strip board to achieve a similar (if only slightly larger) result.

Secondly and most importantly, this journey is about having fun, not about saving time or always doing something the most convenient way. There are some simple pleasures derived from designing, creating and building something from start to finish. Though I concede that I am being a little selective in what I'm counting as DIY, in the context of the project as a whole.

Etched and Drilled PCB for Mounting the Controller Parts.
I hadn't made a PCB for a number of years but it's not a particularly daunting process. Even if you've never made a PCB before, despite what you may have read, it's not difficult and you don't require much in the way of specialised equipment. This is especially true if you're fabricating a basic one sided PCB. I made mine with the following minimal equipment.


The process is straight forward. Just follow the instructions that come with the Press N Peel and the PCB making kit and you can't go wrong.

  • Design your your PCB in Fritzing, Eagle Cad or similar.
  • Print out onto the Press N Peel PCB Film.
  • Use the Hacksaw to cut your PCB to size.
  • Apply the Press N Peel to the PCB.
  • Etch the PCB using all the tools in the PCB making kit.
  • Place the drill bit in the flexible shaft of the Rotary tool for easy control, then with a steady hand drill the holes.
  • The PCB is now ready to populate.

Check out this Indestructible for a more fully fleshed out description of the above.

Read More