Non-AVR Projects

Twin ‘T’ CW (Morse) Practice Oscillator

For a while now, I’ve had need of an easily portable oscillator to be able to practice Morse Code or give the occasional lesson. Recently, I have also discovered Network Radio and all the delights of chatting to people all over the world. I have been asked several times for lessons/workshops utilising the Network Radios channels.

To this end, I had a good search around and eventually found a design by Michael Maynard (K4ICY) of a Twin ‘T’ oscillator. On his page, he pairs it with a simple transistor amplifier, but I wanted to get a little more volume. I rooted around and found a circuit utilising an LM386 and added it to Michael’s oscillator design. The resultant circuit looks like this:

CW Practice Oscillator v2.00 Schematic

CW Practice Oscillator v2.00 Schematic

PDF Version available with other files below. Michael’s oscillator is simply fed into the LM386 via a 220uF capacitor. I found the original wave shaping to be a little aggressive for my tastes so I substuted R7 for a 220R resistor. This changed the attack and created a much more reactive tone for me. You may need to experiment to find a value that works in your own builds.

CW Practice Oscillator v2.00 KiCad 3D Front

CW Practice Oscillator v2.00 KiCad 3D Front

The pcb is laid out pretty much the same as the schematic. I included the potentiometer RV3, but I find it is wound all the way up to drive the 8ohm speaker I am using on the prototype. For speed, I soldered the pitch and volume pots directly to the board, but this was just for speed of testing. When I house the board in a case, I will mount the controls on the case and run wires appropritely.

CW Practice Oscillator v2.00 Prototype

CW Practice Oscillator v2.00 Prototype

The circuit runs happily on 9V. I tested it with a bench power supply but it works equally well when powered by a standard PP3 9V Battery.

Here are all the files for fabricating the CW Practice Oscillator v2.00:

  • CW Practice Oscillator v2.00 PCB .SCH schematic file
  • CW Practice Oscillator v2.00 PCB .PCB board file
  • CW Practice Oscillator v2.00 PCB .PRO file
  • CW Practice Oscillator v2.00 PCB .LIB file
  • CW Practice Oscillator v2.00 PCB Gerbers .ZIP file
  • CW Practice Oscillator v2.00 PCB Schematic .PDF file
  • CW Practice Oscillator v2.00 PCB Images .ZIP file
  • CW Practice Oscillator v2.00 PCB BOM .TXT File [To Follow]

Please note, due to the way the website server stores and accesses files, I have added underscores to filenames.

On Michael’s site, he mentions the possibility of the transistors getting hot. I haven’t noticed this on my prototype as yet but it may be because I have only tested it in brief sessions. It’s certianly something to bear in mind.

I housed my unit in an ABS Instrument case 140x110x35mm I found on eBay. I also purchased a 9V battery compartment to keep things neat. The front panel was printed on a laser printer on standard A4 photocopy paper. I used spray adhesive to affix the case panel to the paper. To line it up, I suspended the A4 sheet on a window so I could see the guide rectangle through it.

CW Practice Oscillator v2.00 Front Panel

CW Practice Oscillator v2.00 Front Panel

Download the PDF from HERE. Remember to print at 100%. I also used a paper template to drill the holes for the speaker mounted on the top of the case After drilling, I carefully peeled away the template and cleaned off the residual glue.

CW Practice Oscillator Internals

CW Practice Oscillator Internals

CW Practice Oscillator Internals from the Rear

CW Practice Oscillator Internals from the Rear

It is a tight fit but everything is cleared and there is just enough space to close the case. I put two large rubber feet on the bottom front corners of the case and two smaller ones on the rear. This inclines the case slightly upwards.

Completed CW Practice Oscillator

Completed CW Practice Oscillator

This will be a useful piece of kit to have around the shack and also to use if asked to help out a fellow ‘Ham’ learn the code.


Simple 555 LED Flasher v1.00

It is my privilege to help out at a local school, here in the UK, teaching students Radio with a view to them gaining radio licences. I am very pleased to have been asked to help out with an additional session for electronics, starting in September. With this in mind, I have been putting together a few simple circuits for the students to practice on. The first of which is a simple 555 LED Flasher.

Simple 555 LED Flasher v1.00

Simple 555 LED Flasher v1.00

The switch in the top left is optional and the connection can be bridged by a small wire, perhaps saved from soldering one of the resistors. Being an educational board, I deliberately left the component values on the silk screen to enable building without any other documentation required.

Simple 555 LED Flasher and Panelised PCBs

Simple 555 LED Flasher and Panelised PCBs

In the above image, you can see a working board aside the panelised PCBs that it was taken from. It takes around 30 minutes to build carefully. It is hoped that these will allow students to get to grips with soldering and be able to take a working circuit away from the session.

Here are all the files for fabricating the Simple 555 LED Flasher v1.00:

  • Simple 555 LED Flasher v1.00 KiCad (v5.00) files .ZIP
  • Simple 555 LED Flasher v1.00 Gerbers .ZIP file
  • Simple 555 LED Flasher v1.00 Schematic .PDF file
  • Simple 555 LED Flasher v1.00 Images .ZIP file
  • Simple 555 LED Flasher v1.00 BOM .TXT File [To Follow]

7 Decade Programmable Resistor Substitution Board v1.00

A further project meant for the school I volunteer in is a Resistor Substitution Board. I thought this would make a good soldering excercise for the students and be a useful piece of equipment to have in their toolboxes. For my own one, I used fairly expensive .25% tolerance resistors, but really, the cheaper 5% or 1% tolerance variety would work equally as well. It all depends no how accurate you need the device to be.

7 Decade Programmable Resistor Board v1.00

7 Decade Programmable Resistor Board v1.00

I found a few designs online and eventually designed my own. It works by setting resistors in series to make a total resistance value at the terminals or two pin header on the board. The resistors are set with jumpers along groups of 10x2pin headers.

7 Decade Programmable Resistor Board v1.00 PCBs

7 Decade Programmable Resistor Board v1.00 PCBs

The PCBs were fabricated by JLCPCB.com and came through after a few weeks of waiting. They were up to the usual standard. It took around an hour of methodical construction to build one up.

7 Decade Programmable Resistor Board v1.00 Constructed

7 Decade Programmable Resistor Board v1.00 Constructed

I ordered the bulk of resistors from RS Components online, a great supplier that provides next day delivery as standard. They didn’t however, seem to list 1R 5% resistors, so I eventually used eBay for speed.

After construction, I made a cursory glance of the joints, missing a dry joint I had made in my haste. This became evident when I set 80K and got 0R instead. Some moving of the components revealed a joint I just hadn’t done properly. Having sorted that little issue out, the board worked fine. Although when measuring several hundreds of K resistance, one or two R difference doesn’t redily show up on my old Fluke 73 multimeter!

Measuring a Resistance Value

Measuring a Resistance Value (4K8)

In the above image, I set 4.8K and got 4.78K, “close enough for jazz” as my old boss used to say. I added four long bolts fixed with nuts to serve as stand-offs for the soldered connections and the long terminal shafts. I bolted the terminals directly to the board which provides an adequate connection without the need to solder. in this configuration, I used the bottom half of the terminal stand-off on the top of the board and the bare washer and nut on the underside.

Here are all the files for fabricating the
7 Decade Programmable Resistor Substitution Board v1.00:

  • 7 Decade Programmable Resistor Sub. Board v1.00 KiCad (v4.00) files .ZIP
  • 7 Decade Programmable Resistor Sub. Board v1.00 Gerber files .ZIP
  • 7 Decade Programmable Resistor Sub. Board v1.00 Schematic .PDF
  • 7 Decade Programmable Resistor Sub. Board v1.00 Images .ZIP

Now to design a capacitor version!


Romantic Robot Multiface 128 Re-Creation

A while ago, I remembered what fun I had on the Sinclair Spectrum, an AT&Y SPEC-MATE and Microdrives, hacking games for infinite lives and such. Sadly, try as I might, I can’t find a SPEC-MATE for sale anywhere (please contact me if you have one!). This led me on to the Multiface. A device produced by a company called Romantic Robot. With one attached, the user is able to freeze a program, save it to a variety of formats (Tape, Microdrive, Disk etc.) and add ‘pokes’ (change RAM values) for said infinite lives.

I first tried to re-create a simpler interface, the Spanish Phoenix III. My prototype appears to work with the Phoenix ROM but can’t page out at the moment. It also seems to work with the SPEC-MATE ROM but with the same issue. Research on that one continues.

In the meantime, I sought to investigate how these interfaces work and see if I could re-create one from the hardware itself. I chose to work on the Multiface 128 since it is compatible with the 48K/128K and +2 models of Spectrum and I am in contact with someone re-creating the Multiface 3 which is compatible with the +2A/B and +3 models. Between us, all the models are covered!

The first step was to photograph the board in detail to use as a reference for re-building later and for chip placements etc. I will post the images I captured along with the design files below.

Following this, I stripped my Multiface down to bare board. I acheived this using a de-solder gun, a most useful piece of equipment. I tried very carefully to de-solder all the chips without damage. Sadly, the 74LS27 was very stubborn and got a bit mangled! On the positive side, the PCB wasn’t damaged at all during the process which means I should be able to re-build the interface at a later date.

MF128 Stripped

MF128 Stripped

I placed all the chips on an non-conductive sponge in a box, along with the rest of the components. The only part I didn’t remove was the edge connector and passthrough board. This would have been a difficult job to do without causing unnecessary damage.

I then proceeded to lay out a set of components in the EDA Program KiCad. A free Schematic capture and PCB Layout program. I recently converted from EagleCAD and I have grown used to the different methodology without too much difficulty. Once I had laid out a full set of components, some of which I had to draw from scratch, I added the connections for the edge connector. I prefer to use net labels to indicate connections rather than the more conventional bus lines. I find it makes for a cleaner diagram.

When I had completed the edge connector, I traced each connection along it. I started with the upper connections since they were easier to access. I followed the tracks with a pointing device, in this case a pencil! Where I was unsure a connection got to a particular destination due to interconnecting vias, I would double check with a multimeter set on it’s lowest resistance range. Most modern meters have a continuity/diode check that can be used for this purpose. My aged Fluke 73 has to make do with resistance ranges.

This process was quit painstaking but essential to get correct. Lots of the connections go to more than one chip’s pin so checking multiple times is essential. When I had gone through all the edge connector connections, I continued by tracing every chip pin one by one. The board isn’t marked so I added my own component designations to one of the images I had captured and copied those in KiCad.

Component Designations

Component Designations

Each chip pin was traced and gradually, I assembled the circuit diagram, line by line. Again, checking, double checking and even triple checking was necessary to avoid mistakes. After all the chips were done, I added the two resistors, NMI button and the protection diode on the edge connector. This diode is omitted on the prototype since I wasn’t intending to put a passthrough on it but can easily be added. Finally, after a good few man hours, the job was done.

Recreated Multiface 128 v1.00 Schematic

Recreated Multiface 128 v1.00 Schematic

Time to design a PCB. I intended to get the prototype PCBs fabricated by EasyEDA due to the fairly fast turnaround and good price point for prototype boards. The final boards I will have made by Hackvana since they are of very high quality. To hit EasyEDAs Prototype price point, the PCBs needed to be within 100mm x 100mm in size. The original Multiface board is 114mm x 70mm, so I shuffled it around slightly. Later on I will expand the board out to fit the original case.

The PCB was quite challenging to lay out. It required mutiple vias and some creative routing. I hand routed all of the connections one by one. This is my favorite part of any design though.

Spectrum Multiface 128 v1.00 KiCad Preview

Spectrum Multiface 128 v1.00 KiCad Preview

Having routed the board, I did a DRC check to make sure the connections were all complient with the design rules I had set up. All was fine. I then plotted Gerbers and drill files which would be submitted to the fabricator. Rather than trust these files are OK, it’s good practice to check them externally to KiCad. I use Gerblook at the moment but I have noticed a message on the site to say it has been bought. Hopefully the service will remain free of charge.

Spectrum Multiface 128 v1.00 Gerblook Front

Spectrum Multiface 128 v1.00 Gerblook Front

Having checked the board looked correct on Gerblook, I uploaded the ZIP of Gerber files and drill file to EasyEDA and ordered the prototype boards. Time passes….

…And the boards arrive. they took around 2 weeks from the time I ordered them. Not bad for a budget service.

Recreated Multiface PCB Front and Back

Recreated Multiface 128 PCB Front and Back

A quick visual check found the boards in good order. I assembled all the components, including a few from the original device since I had none of those particular ones in stock. I soldered the de-coupling capacitors first since they are the lowest profile. I followed these with the resistors and NMI button, then all of the chip sockets.

Fully Built Interface

Fully Built Interface

The above image is the completed interface mounted on the rear of a 48K Spectrum Plus. You will note that the edge connector faces the Spectrum and the chips are on the reverse of the board. This is in keeping with the original design. It also means that the board has extra room behind between it and the Spectrum. You will also notice that the ROM chip U1 has no Erase window. This is because I had no 27C64 EPROMs in stock. This is an OTP chip (One Time Programmable).

I was very pleasently surprised to see the interface work first time!

Multiface 128 Menu

Multiface 128 Menu

One press of the NMI button brings up the familiar menu. I have gone through the motions of testing the unit by initiating a tape save and poking 16384 with 255. It all seems OK. I can’t test with Microdrives as yet since I have none working. I will update when I have the chance.

In the meantime, if you would like to investigate this first iteration of the design or build one for yourself in it’s present state, the design files are below. I will be updating the design in due course by extending the PCB to fit the original case.

Here are all the files for fabricating the Recreated Multiface 128 PCB v1:

  • Recreated Multiface 128 PCB .SCH schematic file
  • Recreated Multiface 128 PCB .PCB board file
  • Recreated Multiface 128 PCB .PRO file
  • Recreated Multiface 128 PCB .LIB file
  • Recreated Multiface 128 PCB Gerber .ZIP file
  • Recreated Multiface 128 PCB Schematic .PDF file
  • Recreated Multiface 128 PCB BOM .TXT File

Please note, due to the way the website server stores and accesses files, I have added underscores to filenames.

I haven’t included the ROM file due to the unknown copyright status. however, it is available from multiple sites. The version that works in this hardware is 87.12 Search for ‘Multiface 128 ROM version 87.12’

This project was a proof of concept for me. I wanted to challenge myself in re-creating a fairly complicated piece of retro hardware and use it to aid in my understanding of how such hardware worked. I also wanted to preserve the design for retro enthusiasts enabling them to re-create their own. I’d welcome any contact with the original IP holder/s In the meantime, I make no claim as to the validity of my re-creation or fitness for purpose. I have checked it to a point on my own hardware but this is no guarantee of it working on any other hardware. In short, you use these files at your own risk and any loss or damage caused is entirely your own responsibility.

If you do make one of these interfaces, I’d love to know.

————————————————————–

Sinclair Spectrum Composite Mod PCB

I designed a PCB to house several versions of the Spectrum Composite Mod. Details of how to impliment the PCB can be found in my series on Refurbishing a 48K Rubber Keyed Spectrum. The PCB simply replaces the existing Modulator PCB. I would recommend that you remove the original carefully and put it in storage, in case you ever wish to re-install it for authenticity.

The PCB itself is very simple, requiring just a few components to operate. Choose which of the three options you would like to use.

Option 1 is an Inverted Emitter Follower recommended to me by Andrew Gostling in an attempt to get a Dell UltraSharp 2007FP Monitor to work with a 48K Spectrum. Sadly, the monitor is extremely picky about it’s composite input and is well documented for it. In this instance it didn’t work. However, the composite mod works with all the other monitors I have tried it with.

Option 2 is a simple NPN transistor and resistor mod. the NPN Transistor can be any general purpose device. I have used a BC547 in the past.

Option 3 is a single 100uF capacitor which is seen to be the minimum required.

I have had several conversations around the need for other components with regard to the composite mod. Some say that it is not necessary at all and others say that, in case the monitor goes faulty or is very badly designed, it can feed voltage back to the Spectrum. I recommend you do your own research and choose the option that best suits you (including a direct connection and/or suspending the components outside of the modulator box retaining the original PCB inside the modulator).

Spectrum Composite Video Mod PCB

Spectrum Composite Video Mod PCB

Here are all the files necessary for fabricating the Spectrum Composite Mod PCB:

  • Spectrum Composite Mod PCB .SCH schematic file
  • Spectrum Composite Mod PCB .PCB board file
  • Spectrum Composite Mod PCB .LIB file
  • Spectrum Composite Mod PCB Gerber .ZIP file
  • Spectrum Composite Mod PCB Schematic .PDF file

To create the board, you can simply copy the Gerber ZIP file and submit to your favourite fabricator, I use Hackvana for my boards.

Spectrum Composite Mod PCB In Place

Spectrum Composite Mod PCB In Place

All these files are provided freely in the spirit of Open Hardware. Feel free to copy and modify the design for your needs, however, I would appreciate a credit if you do. Use at your own risk. Any damages caused as a result of using this design are your own responsibility.

————————————————————–

ESP8266 ESP01/03 Flash/Proto Board v1.4

This section holds all the design files and information to make and program the ESP8266 ESP01/03 Flash/Proto Board v1.4 The design is released under Creative Commons Attribution Share-Alike. This means that you can freely copy the design and adapt it for your own purposes provided you attribute the design to ‘ProjectAVR – Steve Smith G0TDJ’ and use the same license for your adapted designs. Full information on the Creative Commons website. The intention is to make this design Open Hardware. The board has been assembled and tested by myself. Although I don’t attach any warranty or fitness for purpose. If you wish to use the design you may do so freely, but at your own risk.

Having read that the ESP8266 was a micro-controller and had the facility to be programmed via the Arduino IDE, I set about designing a PCB to accommodate either the ESP-01 or ESP-03 modules. I came up with this design after a few iterations.

ESP8266 Flash Board v.1.3 Gerblook Front

ESP-01-03 Flash-Prototype Board v.1.3 Gerblook Front

I had it fabricated and realised I had made a few mistakes. I hadn’t known that GPIO15 on the ESP-03 had to be grounded for normal or programming operation. I also didn’t know that for programming the ESP-03 module, GPIO-2 needed to be taken to VCC either. However, I did build up an example of the v1.3 board using both the ESP-01 and ESP-03 modules.

ESP-01-03 Flash-Prototype Board v1.3

ESP-01-03 Flash-Prototype Board v1.3

You can see the flying leads I added on to the right-hand board for GPIO-15/16. Although a little ‘clunky’ to work with, both the boards worked fine and proved the concept. I had a long think about how to improve on the design and I resolved to make it an SMD board. There aren’t may components to solder and making the board surface mount would make for a more compact design, ideal for IoT applications.

ESP-01-03 Flash-Prototype Board v1.4 SMD Gerblook

ESP-01-03 Flash-Prototype Board v1.4 SMD Gerblook

This is what I came up with. A much more compact layout with GPIO-15 grounded and GPIO-2 (along with GPIO-0 for use with ESP-01’s) on a single switch which has Program and Run positions. I also replaced the power selector switch with a jumper since it would be seldom changed. This allows selection of the power source between either the 6-pin serial header or the USB/JP1 header. I also removed a few header pins that had no connection on the previous version.

I had the new v1.4 PCBs fabricated by the excellent Hackvana who always produces clean PCBs with a good silkscreen. The Gerber files here are optimised for Hackvana and other fabricators may have issues with such tight tolerances. You can, of course, produce your own adjusted gerber files from the Eagle files below if you wish.

Here are all the files necessary for fabricating the ESP8266 ESP01/03 Flash Proto Board v1.4:

  • ESP01/03 Flash Proto Board v1.4 .SCH schematic file
  • ESP01/03 Flash Proto Board v1.4 .BRD board file
  • ESP01/03 Flash Proto Board v1.4 Gerber .ZIP file
  • ESP01/03 Flash Proto Board v1.4 Parts List .TXT file
  • ESP01/03 Flash Proto Board v1.4 Schematic .PDF file

One little gotcha is the reset line for the ESP-03 modules. There are two small connections near the ceramic antenna on the ESP8266 chip side. If you wish to utilise the reset switch on the PCB, you will need to add a shorting link across these.

ESP-03 Reset Link

ESP-03 Reset Link indicated by red circle

It’s quite a task. I used a fine soldering iron tip under a magnifying glass supported with my ‘Helping Hands’ The link is a piece of resistor lead, cut down to size and held in place for soldering with angled tweezers.

Programming the ESP8266 via the Arduino IDE requires the installation of some free software that can be downloaded from GitHub. This adds options into the menus of the IDE for direct programming via serial. I use a simple USB to Serial adaptor that I sourced on eBay. The header pins on the board are positioned with this in mind.

USB-Serial Adaptor

USB to Serial Adaptor (Image courtesy of Chip_Partner_Store)

If a different USB to Serial adaptor is used, dupont type flying leads can be utilised for the connections. Once connected, set the Run/Program switch on the flash board to the Program position, select ‘Generic ESP8266 Module’ in the Boards menu of the Arduino IDE and all should be well.

Creative Commons LicenseESP8266 ESP-01/03 Flash/Proto Board by ProjectAVR – Steve Smith G0TDJ is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

————————————————————–

Universal 78(X)XX Regulator Board v1.00

This section holds all the design files and information to make the Universal 78(X)XX Regulator Board v1.00. The design is released under Creative Commons Attribution Share-Alike. This means that you can freely copy the design and adapt it for your own purposes provided you attribute the design to ‘ProjectAVR – Steve Smith G0TDJ’ and use the same license for your adapted designs. Full information on the Creative Commons website. The intention is to make this design Open Hardware. The board has been assembled and tested by myself. Although I don’t attach any warranty or fitness for purpose. If you wish to use the design you may do so freely, but at your own risk.

A little while ago, I realised that I use the same type of regulator for most of my projects. This is normally a 7805 with the associated components. I had the idea of designing a PCB that could be configured for any of the 78XX devices or alternatively, the 78LXX devices. This is the result.

Universal Regulator Board v1.0 Gerblook Front

Universal Regulator Board v1.0 Gerblook.org Front

I designed it to be a quick and easy way to get a fixed voltage set up for a project, or to have in the tool box to regulate a source such as a badly regulated ‘wallwart’ style PSU or rechargeable battery. The board has several features, including a 1N4001 (or similar) polarity protection diode on the input, an optional power LED and associated resistor (R2) and a choice of capacitor sizes. There is also a snap-off heatsink support (Snap off before assembly) and jumper connections for Vin and Vout.

To assemble the board, you just use the components you require for the device you have chosen. C1 and C3 are on the input, while C2 and C4 are on the output. D1 protects the input from reverse polarity and LED1 is fed off of the output voltage (Choose R2s value to suit).

Here are all the files necessary for fabricating the Universal 78(X)XX Regulator Board v1.00:

  • Universal 78(X)XX Regulator Board v1.00 .SCH Eagle Schematic file
  • Universal 78(X)XX Regulator Board v1.00 .BRD Eagle Board file
  • Universal 78(X)XX Regulator Board v1.00 .ZIP Gerber file
  • Universal 78(X)XX Regulator Board v1.00 .PDF Schematic file
  • Universal 78(X)XX Regulator Board v1.00 .ZIP Archive (All Files)
Universal Regulator Board v1.00 Assembled

Universal Regulator Board v1.00 Assembled

Creative Commons LicenseUniversal 78(X)XX Regulator Board v1.00 by ProjectAVR – Steve Smith G0TDJ is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.