ZX Spectrum Prototyping boards

December 31, 2020

After a what can only be described as a very strange year, I find myself working on a project inspired from yesteryear.

The ZX Spectrum from Sinclair Research was the first computer that I owned, getting it 1982. One of the books I bought back then was the Spectrum Hardware Manual by Adrian Dickens. I remember building many of the circuits described in it, both temporary on breadboard and also permanently on Vero board.

Now fast forward to today, December 2020. Inspired by those early days I have designed a couple of PCB’s to make building circuits for ZX Spectrum a little easier than back then.

There’s a quartet of boards: starting with a breadboard PCB, next we have a prototyping board, another more advanced prototyping board with decoding IC’s and finally a bus extender PCB with vertical and horizontal signal expansions.

As always, I’ll put them up to my Tindie shop


Blog pings and nice write ups

November 30, 2020

It’s always very heart warming when other people take an interest in what you’ve been making or what you are up to.

My recent blog entry for prototyping Feather boards got a nice write up from Gareth Halfacree across at Hackster.io. It also appeared in the Adafruit blog.

Thanks guys !!


Yet More Feather boards

October 31, 2020

Following on from the Feather boards and Feather prototyping board I showed last time, I’ve finished a few more Feather module designs.


More Feather boards

September 30, 2020

Following on from the Feather prototyping board I showed last time, I’ve finished a few more Feather module designs.

In the picture above, on the right, we have a Raspberry Pi adapter that allows two Feather modules to be used with the RPi. The RPi’s UART, I2C and SPI are available to be used with the Feather modules. You can mixed things around if you want and have a Feather controller and Feather I/O module setup to offload real-time I/O from the RPi or just have two Feather I/O modules to expand the RPis I/O capability.

Next to the RPi adapter, with have an analogue input module using the popular 8-channel MCP3008 ADC (SPI) chip.

Next to that, we have a couple of 16-channel digital port expanders, based on the MCP23017 (I2C) and MCP23S17 (SPI) chips respectively.

As always, I’ll put them up to my Tindie shop


A Prototyping / Breadboard board for Adafruit Feather Modules

August 30, 2020

I’ve been a long time fan of the Arduino Nano and before those the Arduino Mini boards. I really like the compact Nano footprint and prefer it to the standard Arduino Due style. When I ran of computing processing power I would swap the Nano’s for the STM32 blue pill boards. So I thought I had a good choice of modules to choose from. But this has changed recently and another module footprint has entered my projects orbit.

The Adafruit Feather modules have been around for a few years and a recent project requirement saw me using their nRF52840 Express module for a Bluetooth Low Energy (BLE) based design. I liked what I saw but couldn’t find a decent prototyping solution, so I designed this prototyping / breadboard to help with getting my Feather module projects started.

The FeatherWing prototyping / breadboard has headers for a Feather module, as well as space for a 400-hole breadboard. Additionally it has PCB positions for 3x tactile switches, 3x LED’s and a FTDI style serial pin-header. Finally, all the Feather module signals are broken out to a double row header located next to the breadboard.

As always, I’ll put them up to my Tindie shop


RC2014 a simple ROM/RAM card

July 12, 2020

It’s been a while since we published any thing new for the RC2014 architecture.

This is a simple combined ROM and RAM card designed to work with the RC2014 bus. This is an experimenters board. There is no fancy memory paging etc., it’s simple memory architecture was designed to be flexible and allow the user to experiment with other CPU architectures on the RC2014 bus. It was originally designed to work with our 8052 CPU.

It features

  • enhanced RC2014 bus
  • Selectable memory* options 8K, 16K or 32K
  • Board can be used as RAM only or ROM only or both.
  • Options for nMRD/nMWR or nRD/nWR signals
  • Option for 27C512 with Hi/Lo ROM (A15) select
  • IC Decoder 74xx138 using A15/A14/A13 (with extra options for A13 & A14)
    8 or 16-bit wide data bus**
  • moveable memory positions (i.e. ROM can be at top or bottom memory space)

A couple of important notes:
* Both ROM and RAM memories must be the same size.
** see explanation below

The option for either nMRD and nMWR (nRD and nWR or’ed with nMREQ) signals or nRD and nWR only signals when IC3 (74xx32) is fitted or not fitted allows for experimenting with other CPU Read/Write architectures.

Notably, the enhanced RC2014 bus features a 16-bit data bus. The card can use this enhancement by allowing the selection of the high or low 8-bit portion of 16-bit data bus. This allows the user to experiment with 16-bit CPU’s such as 68000 or 8086 when two cards are used together.

It’s schematic is here

RC14_MEM_RAM_ROM_PCB1RC14_MEM_8052_RAM_Module_smRC14_MEM_RAM_ROM_Module_sm

 


Microchip Power Electronics Application Notes

June 25, 2020

I’ve always found application notes to be great places to expand your knowledge and understanding. Microchip have released or rather re-released a handful of power electronics related notes this month:

Advanced IGBT Driver Application Manual
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002313

High Frequency Resonant Half Bridge
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002291

IGBT Tutorial
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002315

Introduction to MOSFETs
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002293

Introduction to Rectifier Bridges and Dual Diodes
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002781

Introduction to Rectifiers
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002294

Latest Technology PT IGBTs vs. Power MOSFETs
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en1002316


Coronavirus and the Maker Community – a small update

May 11, 2020

A short, if belated update to how the maker community is helping tackle to Coronavirus. Again these are just some links that I spotted during normal web browsing.

The Big List: Make These Projects to Fight COVID-19 Right Now

Can You Really Sterilize A 3D Print? Real Answers From Actual Studies

The Big List: Make These Projects to Fight COVID-19 Right Now

Click to access Guide_to_Local_Production.pdf

https://www.rs-online.com/designspark/do-you-have-a-3d-printer-you-can-help-to-fight-covid-19

https://www.rs-online.com/designspark/medtronic-shares-pb560-ventilator-specifications-design-files-bom-and-cad

Makers Wanted: Fix These Medtronic Ventilator Schematics

https://gitlab.com/sethhillbrand/openventilator

https://gitlab.com/openventilator

https://www.tomshardware.com/news/raspberry-pi-ventilators

MIT Emergency Ventilator (E-Vent) Project

Raspberry Pi powered Ventilators and 80+ Open Source Ventilators Listed & Ranked

https://forum.arduino.cc/index.php?board=144.0

https://www.rs-online.com/designspark/ventilator-solutions-from-stmicroelectronics


Coronavirus and the Maker Community

April 3, 2020

It’s not very often that I comment on current events but the Coronavirus or COVID-19 or SARS-Cor-19 is too big a world event not to have some views about. As a maker and also a professional (cough) engineer I’ve been intrigued by the maker community’s response to these events. We’ve seen makers use their faculties to make face masks and face shields using 3D printers, sewing machines etc. not for themselves but for their wider local community and their local health professionals to help protect others against the spread of the virus.

There are many makers and maker companies that have been very proactive in this, just naming a few, companies like Adafruit have lead the way and their blog has many posts. Other useful sites I found are:

How to Make Plastic Face Shield with Household Materials

Face Mask Pattern (FREE) – How to Make Diy Mouth Mask

https://grabcad.com/library/coronavirus-flu-reusable-mask-1

NanoHack, an open-source 3D printed mask against COVID-19

NIH Approved 3D-Printed Face Shield Design For Hospitals Running Out Of PPE

Automating Hand Sanitizer — If You Can Find Any

Handwashing Timer Makes Sure the Suds Stay On Long Enough

https://www.deeplocal.com/scrubber

Maker communities such as Hackaday and Instructables also have many useful posts. As well as the blog entries themselves, the various comment section are full of very interesting points made by reverent professionals, as well as interesting details and suggestions by other interested parties. Below is a short list of some of the other links found:

Ventilators 101: What They Do and How They Work

Ultimate Medical Hackathon: How Fast Can We Design and Deploy an Open Source Ventilator?

https://www.opensourcemask.com/en

https://github.com/rune1234/DIY-respirator

Home

https://www.thingiverse.com/thing:4192643

http://forums.parallax.com/discussion/171398/coronavirus-open-source-ventilator-real-time-monitoring-system-p2-challenge

https://panvent.blogspot.com

https://www.instructables.com/id/The-Pandemic-Ventilator

Professional Ventilator Design Open Sourced Today by Medtronic

Makers Wanted: Fix These Medtronic Ventilator Schematics

Ultimate Medical Hackathon: How Fast Can We Design and Deploy an Open Source Ventilator?

https://edition.cnn.com/2020/03/23/us/coronavirus-3d-printed-medical-supplies-trnd/index.html

In addition, many universities and other groups have also proposed alternative equipment designs and builds:

https://oxvent.org

Open source medical ventilator for COVID-19 patients

http://news.mit.edu/2010/itw-ventilator-0715

MIT Develops Cheap, Open Source Ventilator for Coronavirus Treatment

MIT Emergency Ventilator (E-Vent) Project

Home-EN

Click to access DRM127.pdf

Scientic and Medical Journals and Articlas:

Click to access DMD_2010_Al_Husseini.pdf

https://journals.lww.com/ejanaesthesiology/fulltext/2008/02000/optimal_ventilator_settings_in_acute_lung_injury.1.aspx

Click to access 20190336713.pdf

Standards and Regulation

https://www.bsigroup.com/en-GB/topics/novel-coronavirus-covid-19/ventilators

https://www.cencenelec.eu/News/Press_Releases/Pages/PR-2020-003.aspx

And finally, its also the call to arms by many governments to their countries biggest or best industrial companies to help eleaviate their medical equipment shortages. The mainstream media have been quick to jump on these stories of Formula 1 teams, big defence and big consumer companies banding together to rapidily design and manufacture the much needed medical equipments. Others have asked why their countries are not doing the same or enacting war time or emergency powers to allow manufactures to quickly add their manufacturing might to the effort.

https://www.gov.uk/government/publications/specification-for-ventilators-to-be-used-in-uk-hospitals-during-the-coronavirus-covid-19-outbreak

https://www.fda.gov/medical-devices/letters-health-care-providers/ventilator-supply-mitigation-strategies-letter-health-care-providers

https://www.medtronic.com/us-en/e/open-files.html

https://github.com/abetusk/Medtronic-PB560-Ventilator-System

https://www.bbc.co.uk/news/health-52087002

https://www.cnet.com/roadshow/news/mercedes-amg-f1-ventilator-cpap-covid-19/

https://docs.google.com/spreadsheets/d/12IGXL9XweZImqYcS8V8zFWNDV50q5R0eZECRalwTo7E/edit#gid=0


Starting with Raspberry Pi Bluetooth & Python

March 25, 2020

I recently started doing a small fun project with a RPi and a BT enable remote controlled car. (Dagu Racer 1) when I hit some problems with writing Python code to connect to the RPi’s BT.

After some web browsing and a bit of trial and error I found the following application updates and library installs got things working.


sudo apt-get update
sudo apt-get install bluetooth bluez libbluetooth-dev
sudo python3 -m pip install pybluez

For the Python code


import bluetooth

# Bluetooth stuff
bd_addr = “20:13:05:30:01:14”
port = 1
sock = bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))

# 0x1X for straight forward and 0x11 for very slow to 0x1F for fastest
sock.send(‘\x1A’)