Joe's Hobby Electronics
  • Joe's Hobby Electronics
    • Electronics Blog

My Single Board Computer project arises... again...

22/9/2012

4 Comments

 
I’ve started work on my SBC (Single Board Computer) project again. I keep returning to this project but have never been able to finish it; for the simple reason of scope creep.

I’ve always come unstuck when it came to finding a balance between performance, extendibility and complexity.

Then, the other day I was sat thumbing through an electronics magazine from the late 1970’s and saw an advert for the Science Of Cambridge MK14 computer. This was a single board computer, with around 256 Bytes (that’s bytes, not mega-bytes) of RAM, a tiny ROM, calculator style keypad and as it happens, a calculator style seven-segment, 8 digit LED display. The computer was based on the SC/MP CPU (no longer manufactured) but it did have some interesting features. The actual CPU supported serial input/output and could even happily exist on a multi-CPU bus. This was all clever stuff back then especially when more traditional computers were costing many hundreds of pounds (serious money in the 70’s). All sorts of add-ons and projects sprang up for the MK14 including a PROM programmer, cassette interface and even a VDU, to name but a few.

I can remember wanting one of these machines but even though the price was around £40 for the kit, as a kid on pocket money it wasn’t to be. However, in mid 80’s I did get to work with bigger computers and though they had more memory and powerful CPU’s, the programmer always had to be mindful of how much system resource was available for a program. To be honest, the scarceness of system resources wasn’t often a problem to the carful programmer. Yes, it would have been nicer if things had run quicker and we’d had larger capacity disks (they were around 30Mb then), but the skill was in squeezing 110% out of the hardware. Understanding exactly how to arrange files on a disk for optimum performance, or how to squeeze every CPU cycle out of the hardware.

Modern computers even the latest Raspberry Pi don’t have these limitations. They are great to teach programming on with all their nice and easy to use programming languages and operating systems, but what they don’t teach or encourage is conservation of system resources as it’s just so simple to add more if needed. In my opinion modern software is bloated and too many programmers adopt the attitude that if it’s running too slow, just throw more hardware at it. The skill of working with limited resources has been lost and all this got me thinking about how much satisfaction was gained when you managed to do something truly remarkable, with a computer with so little.

So, my SBC won’t be built for lightning performance and contain almost limitless resources; that’s what a standard PC is for. It will however be cheap, extensible (if you’ve got the imagination), and flexible in one very important way; the CPU core instruction set will be customisable.

Computers contain a CPU and its instruction set is fixed. The SBC contains a PIC and its instruction set is also fixed, however it will run an emulation of a custom CPU and this emulation can of course be replaced for a different one. Having an emulation running will do nothing for performance of course, but, it will make the project more interesting and it means that you have the opportunity to design your own custom CPU instruction set. Now an FPGA or similar would probably have been a better choice for this project, but at this moment in time, I don’t have the development tools so a PIC will have to do. In the future, who knows?
Picture
SBC Computer on a breadboard.
4 Comments

Temperature Alarm Project

18/9/2012

1 Comment

 
Life’s been rather hectic recently and my electronics activities have been pushed to the back burner for a while. However, I received a request to publish details of the Temperature Alarm project I recently built and you will now find this in my Construction Projects section - I hope you enjoy it.

I've got some plans in the pipe-line as it were... so watch this space for updates.


1 Comment

    Author

    A software and hardware engineer who loves retro computers.

    Archives

    March 2022
    September 2021
    April 2021
    June 2020
    May 2020
    April 2020
    March 2020
    September 2019
    January 2019
    April 2018
    May 2016
    April 2016
    March 2016
    February 2016
    January 2016
    May 2015
    April 2015
    March 2015
    January 2015
    December 2014
    September 2014
    August 2014
    April 2014
    March 2014
    January 2014
    October 2013
    September 2013
    August 2013
    July 2013
    June 2013
    April 2013
    March 2013
    January 2013
    September 2012
    June 2012
    May 2012
    April 2012
    February 2012
    January 2012
    December 2011
    November 2011
    October 2011
    September 2011
    August 2011
    July 2011
    June 2011

    Categories

    All
    18f25k20
    18F25K22
    1-wire
    2114
    2764
    3D Printer
    3D Printing
    74hc595
    74ls595
    86-0325
    8MHz
    Access Speed
    Acorn
    Acorn System 1
    Alarm
    Aluminium Panel
    Amicus
    Amicus18
    Amicus Basic
    Amplifier
    Antex 1107
    Anti-static Mat
    Arduino
    Assembler
    Backlight
    Bargains
    Basic
    Bat
    Batdetector
    Bat Detector
    Bats
    Bench Audio Amplifier
    Bench Light
    Breadboard
    Bubbler
    Buck
    Bug
    "C"
    Cable
    Cable Gauge
    Cable Wire Size
    Capacitors
    Catalogue
    Clive Maxfield
    Clock
    Clocks
    CMOS
    Common Emitter
    Compiled
    Compiler
    Connector
    CPU
    CPU Simulator
    Crownhill
    Custom Computer
    Custom CPU
    Damage
    Develop
    Diode
    Diptrace
    Double-sided
    Double-Sided PCB
    Dry-joint
    Ds1302
    DS1820
    Ds18b20
    Ebay
    EEPROM
    Electronics And Circuits
    Eprom
    Erase
    Etch
    Evaporator
    Failed Capacitor
    Fake
    Fax Paper
    Ferric Chloride
    Fire Hazzard
    Firmware
    Florescent Tube
    Health And Safety
    Hidden Part Numbers
    High-Voltage
    Hv
    IC Test Clip
    IC Testing
    In Circuit IC Testing
    Incubator
    INS8154
    Instruction Set
    Inverter
    Kickstarter
    Laser Cutter
    Lcd
    LM2596
    LM386
    Logic Analyser
    M7MOJ
    Maxim
    Maximum Current Rating
    Mega
    Mit
    MITx 6.002
    MK4
    Molex
    Mosfet
    NE555
    Nixie
    Nixie Clock
    Npn
    OXO
    Oxo Machine
    Pcb
    Pic
    Pic Basic
    Pickit2
    Pickit3
    Pic Programmer
    Pixy
    Poster
    Pre-amp
    Prices
    Programming
    Project Box
    Project Case
    Project Enclosure
    Propagation Delay
    Psu
    Psu Failure
    Qfn
    RAM
    Rapid Electronics
    Raspberry Pi
    Regulated 5v Psu
    Regulator
    Repair
    Review
    SAD (Segment Address Decoder)
    SCC
    SCC MK4
    Seven Segment Display
    Shift Register
    Silient 700
    Slow Progress
    Smoke
    Smps
    Soldering
    Speed
    Speed Test
    Stepper Motor
    Supression
    Swg
    Switch Box
    Tank
    Tantalum Capacitor
    Temperature
    Temperature Sensor
    Texas Instruments
    Thermometer
    Tic Tac Toe
    Tic-tac-toe
    Timer
    Tools
    Traffic Lights
    Transistor
    TTL
    Usb
    Uv
    Vbe
    Vcb
    Vce
    W65C02
    Wash
    Weller
    Wirecutters
    Wire Cutters
    Wire Strippers
    Wiring
    Wp3eu
    X2 Capacitor
    X Capacitor
    Y Capacitor

    RSS Feed

© Joe Farr, 2011 - 2022 - Email: HobbyElectronics@kcsl.uk.com