Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: ESP32S3 ZXSpectrum
109 points by iamflimflam1 85 days ago | hide | past | favorite | 30 comments
I've been playing around with ESP32 MCUs and displays for a while and finally got around to getting a ZX Spectrum emulator working. I then saw that you can now do full color silk screen printing on PCBs and got the thinking - the ESP32 has capacitive touch capabilities - I could make a full ZX Spectrum keyboard on a PCB along with all the electronics for running the emulator. And it actually works!

There's a full video here: https://youtu.be/foP81O48WAI

And you can sign up here for updates as I move towards getting it ready for a production run: https://esp32zx.substack.com/p/announcing-the-esp32-zx-spect...

It's looks amazing, takes me back to my childhood.




It will also be completely open source. The Z80 emulator I'm using is GPL, so all the firmware I write will be GPL.

And the Schematics, PCB and Gerbers will all be available as a KiCad project for people to play with and even get assembled themselves.


If you want to do a 128 model version and have it interface to a real AY sound chip, I've written ESP32 code for that: https://bitbucket.org/doughammond/fourays/src/master/


Very cool!


I created a ZX Spectrum BASIC compiler (compiles from BASIC to ZX Spectrum machine code).

You might want to give it a try and run the programs in your device: https://github.com/boriel-basic/zxbasic


Very cool! Thanks!


Oh lord, you just had to use a screenshot of Elite :)

It looks utterly wonderful, I wish you every success in your production run!

Makes me want to play Manic Miner.


You might be interested in knowing that LCSC (same company as JLCPCB) are about to offer proper panel / membrane keypad prototyping: https://www.lcsc.com/panel-printing


That’s very interesting - thanks!


It's really cool, but... somehow you managed to make the Speccy keyboard even worse :)


Haha - I know! Who would have thought that was possible :)


The colour silk screening is gorgeous! Such a cool looking bit of hardware.


It’s remarkably cheap as well. In the long run I think it will just be the same as standard silk screen. Just part of the process.


Looks good. One note about the video: you mention you recently watched a good video on 1-bit sound, and suggest it's worth a watch, but it doesn't appear to be linked-to in the description.


Oops - added it now - for reference it's this one: https://www.youtube.com/watch?v=N5ACJd2LvbY


Fantastic project and that colour silk-screen seems to work perfectly for this.

It's not clear what size screen would be ideal though, as a 3-4" one will seema bit 'stuck on'. Maybe an option for a larger screen to make a 'spectrum clamshell laptop', and/or a video out to have no screen at all.


In the next version, the screen will feel a lot more integrated. There is a bit of a challenge with larger screens as they tend to have more pixels and the MCU is pretty limited in how much it can push out at a good frame rate.


Use a RP2040 or similar to handle the conversion from the Spectrum pixel output to what the display needs?

And perhaps a small adapter board for the display FPC connector?


Been thinking exactly along those lines! But need to get this version actually done… so many rabbit holes :)


Maybe mount the display on a small adapter PCB that has a CPU for pixel conversion, and a standard flat cable down to the main board?

Then the main board can stay the same even as the displays are swapped out together with new adapter PCBs?


I know, just spitballing :)


That size is about where the range for software hacker friendly products end. Minimum cost and complexity needed for a 4.8" and 6" LCD are substantially different.


I can recommend you dig through all the videos on this guys channel there’s lots of interesting projects.

He is atomic14 on YouTube.


Thanks! Some of the early videos are not great. But hopefully they’ve improved over time.


I am not a fan of the Spectrum, but this looks like an interesting project. I believe a lot of this can be applied to the NES emulator for the ESP32.


So nobody commented on the easter egg on the keyboard yet? Not sure whether I prefer it to the original, but I appreciate its existence :)


OK, I give up; I can't find an easter egg, except maybe for the simulated “curve reflection” on the spectrum on the right (but I wouldn't call it an easter egg, so most probably it isn't what you mean).


Hint: let’s assume that you want to get the value stored at a specific memory address.


On the O key, PEEK became GEEK.


That is fantastic! Well done. Please continue; it is something I want to do for the MSX, but didn’t get to (yet).


this was my 1st computer and the 1st time I coded.. such nostalgia!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: