View All Posts
read
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi

Super stoked to share this creation – an ESP32 ZX Spectrum emulator! Although it's still very much a proof-of-concept, it's looking pretty rad. I've got the classic games like Manic Miner, and yes, you can program in basic too! In perfect Sinclair fashion, I'm planning on selling this key piece of nostalgia for just £99. Work still needs to be done before the production phase, but rest assured, I'm meticulously working out the kinks, including tweaking the keyboard to ensure even better user experience. And on the technical side - a single ESP32S3 runs the show and we’ve multiplexed the keys exactly like the OG Spectrum. It's been great fun designing this piece of kit with the new full color silk screen printing from PCB way. Stay tuned for further updates!

Related Content
Transcript

[0:00] I’ve made something really cool it’s a complete ESP32 ZX Spectrum emulator. Now in the next version

[0:07] the display will be integrated with the PCB. I did place an FPC connector on the board but

[0:13] it’s only compatible with the tiny displays I was using for the TV project. I have got some

[0:18] bigger displays on order but displays are really a pain in the backside. So, I’m going to use the

[0:24] bigger screen connected via jumper wires for this video. As you can see we can play games.
[0:37] Manic Miner certainly brings back some memories and it seems that I still have

[0:41] quite a lot of muscle memory from all those years ago and we can even program in basic
[1:05] I’m sure a few of you remember going into computer shops and getting the machines to print their

[1:09] names or possibly something more rude on their screen. It’s really nice and I know people are

[1:14] going to want one of these. It’s not quite ready for production yet this is very much at the proof

[1:19] of concept stage of things but I have set up a melee list for you to register your interest.
[1:24] If there’s enough people wanting one I’ll set up a production run and put it on sale. There are a

[1:29] few things things that need to be worked out so despite this saying v1.0 is very much more like

[1:35] V 0.0. In good old Sir Clive Sinclair fashion I’m going to aim for a pretty reasonable price point
[1:42] I want a computer that we can sell for the magic sum of £99. The nice thing about this design is that the

[1:48] keyboard is all part of the PCB. So in theory it should be pretty simple to manufacture . Now why did

[1:55] I even build this? Well I got a spectrum Emulator working on my ESP 32 TV board a while back and I

[2:02] was just going to do a video on that but then I heard about the new full color silk screen

[2:07] printing that’s available from PCB way and I just had to try it. The Spectrum keyboard to go with the

[2:12] emulator seemed like a nice colorful thing to try and do and it has come out amazingly well

[2:18] the boys and girls at PCB way have really done an incredible job. It’s easy to underestimate just how

[2:24] cool this is. This is not just a simple printing job. The ink shoes need to be stable and keep their

[2:29] color at high temperatures used in the Reflow ovens and all the follow-up processing stages

[2:34] It’s pretty impressive that it works at all. So what’s on the actual PCB the brains of the

[2:40] operation are the good old ESP32S3 this really simplifies things as it can be directly connected

[2:47] to the USB we don’t need any extra ICs what’s really cool with this design is that we’re able

[2:53] to get all 40 Keys feeding into just one ESP32S3 I’ve done this by multiplexing the keys in

[2:59] in a similar way to how the original Spectrum keyboard worked this is possible because the

[3:04] S3 has 14 touch pins for the 40 keys on this keyboard we need 13 of those pins there are

[3:11] eight rows each with five columns we can detect each individual key by checking which column

[3:16] and which row is being touched simultaneously it does work really well and it’s really responsive

[3:22] I would say that it’s just as good as the old dead flesh and membrain keyboards on the old Spectrum
[3:34] and it’s much less likely to wear out there is however a small tradeoff that I’m going to fix

[3:39] in the next version of the board I’ll come back to that later all the games

[3:43] are stored on an SD card I’ve got over 1200 games on this card and they take

[3:47] up around 65 megabytes it’s really easy to forget just how small 48k is there’s a

[3:54] small speaker I’ve gone very classic for the sound output it’s a simple speaker driven by

[4:00] transistor one bit sound just as Sir Clive originally intended the results are surprisingly good
[4:22] it is incredible what can be done with one bit sound there is

[4:25] a great video I found recently that does a deep dive on this definitely worth a watch

[4:30] I’ve also added an earphone jack so you can plug an external speaker in it sounds pretty good
[4:50] there’s a battery charger on board so you could have your very own portable ZX Spectrum

[4:55] perfect for working in your local coffee shop though I do wonder if we’re going to need a mute

[5:00] button displays are something that I’ll sort out in the next prototype there is an FPC connector

[5:05] for the tiny display that I’m using for the ESP32-TV project but as you saw this is way too small

[5:11] for real use I’ve got a bunch of 3.2 inch displays on order from AliExpress that I’ll try out in the

[5:17] next version one frustrating thing with displays is that although most of them can be driven over

[5:23] standard 4 wire SPI the pinouts on the FPC ribbon cables are all completely random I’ve got some

[5:29] of 10 pins 18 pins and even 40 pins it’s completely Bonkers for a production run

[5:36] I’ll need to select a supplier and commit to whatever pin out they use I will still break

[5:41] out the display via a header though so we can plug in other displays if needed as mentioned

[5:46] earlier there are some trade-offs with the keyboard you may have noticed when I was

[5:50] typing in the basic program earlier that for symbol shift I tap the symbol she here first

[5:55] and then the character that I wanted I’m using a touch matrix for my keyboard and with the approach

[6:01] I currently have this means that only certain combinations of keys can work in the original

[6:06] Spectrum keyboard they prevented this by using some ders on the address lines now this is not

[6:12] really possible with a touch matrix but I do have some ideas on how to fix this that I’ll

[6:16] be trying out in the next revision to be honest it’s not a big limitation but it does mean that

[6:21] some games can have some surprising behavior as combinations of keys can trigger other keys you can see

[6:27] this when playing Elite if I try and pitch up and roll right it thinks that symbol shift is

[6:32] being pushed and I slow down to zero speed so the next version of the board should hopefully fix

[6:38] this so stay tuned for updates of course with the first version of the PCB there are some mistakes

[6:44] and I had a couple of big ones the first ER was that somehow despite copying the design

[6:49] from my tiny TV board I completely messed up the ESD protection chip so I’ve had to remove this

[6:55] and put some jumper wires in I may just remove this IC completely cuz I’m not really sure it’s

[7:00] needed the second error was on the speaker driver during some over enthusiastic bomb optimization I

[7:07] accidentally placed a p Channel mosfet instead of an N channel one so that didn’t work at all this

[7:12] was easily fixed but I didn’t have the right size one fortunately my bodge is barely noticeable so

[7:18] I’ve got a few kinks to work out before this can go on sale make sure to register your interest

[7:23] if you’d like one over the next few weeks I’ll be working on the next prototype and I’ll keep

[7:28] you all posted as I think this is is really cool I’ll also do a follow-up video soon with a lot

[7:33] more technical details as I know some of you will be keen to understand how it works under the hood


HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
Blog Logo

Chris Greening

> Image

atomic14

A collection of slightly mad projects, instructive/educational videos, and generally interesting stuff. Building projects around the Arduino and ESP32 platforms - we'll be exploring AI, Computer Vision, Audio, 3D Printing - it may get a bit eclectic...

View All Posts