My attempt at making an FPGA experimenters board in a popular form factor :)
In last month's project update, I wrote about the redesign and testing of my 'Ohm' FPGA platform. This month, I am pleased to present some pictures of my first newly-assembled and tested (of what I now consider production-level) Ohm boards:
Here are a few close-ups of my Ohm in the rather slick-looking (in my humble opinion) transparent Adafruit case :)
So, this effectively concludes the (re)design and prototype test phase of my Ohm project (yay!). Things left to consider are:
1.) How many boards to make initially (which will in part help determine the final unit price)
2.) Finish off my User Guide for the Ohm platform (already begun, but not yet completed)
3.) Uploading of a new Youtube video of my re-designed Ohm board in action! :-D
Kindly keep an eye out for answers to the above in my next project update. Glad to finally get things to this point as it has been a long time coming. Thanks again for reading. :-)
PS: Also last month, I hinted at the possibility of a releasing a second board based on my larger Ethernet-based variant. I have decided to create a separate .io project page for it in due course (time permitting)
Hello again :-)
Apologies for my late reply. Winter can be a challenging season for those with inept immune systems.. :-(
While I overcame my health hurdles, in my last blog update you may recall I was to make attempt at building Ohm pre-production boards? Well, turns out the PCBs that I had received were indeed of an inferior quality :-( So I am now in the process of moving my Ohm board design to another PCB house..
Now, while that was all going on, another major thing happened.. I basically had another crack at building a pi zero sized FPGA devboard again. Here's the result - (re)introducing my 'Flea Ohm' board! :-)
.. and here it is running a test configuration in the shape of the Minimig core:
So.. now it looks as though I now have two possible designs to explore further (ie. Ohm and as-yet-unnamed Ethernet variant :-) Time permitting, I hope to do a small run of one or both boards (depending on interest) in the near future.
Thanks for reading! More to follow..
A fair lot has happened since our last blog post. Unfortunately that included getting a chest infection put me out for at least a fortnight - but I am feeling much better now :)
First attempt at assembly of pre-production Ohm PCBs:
So I received my Pre-production Ohm boards and had some fun assembling them. I say 'fun' because it seems I may need to tweak my soldering process for these pre-production ready PCBs. Following is a picture of a slightly overdone pre-production Ohm board (notice the slight charring along the top of the PCB near the main GPIO header):
Luckily for me, this board wasn't a total writeoff (only one DRAM failed during functional testing), which is great because I've got a 45KLUT FPGA installed on it.. :) Illness forced me to 'take a break' from any further project work before I could attempt to make any more -
Hopefully I will be more successful in my 2nd attempt tomorrow :)
My first Ohm 'hat' (yay! :-)
Also, I managed to assemble my retro game 'hat' for Flea Ohm! Not 100% tested yet, but at least the PS/2 and Game ports worked fine with the overcooked Ohm board in the previous pic ;) There are even more interesting hats to create (and even the retro gaming hat can of course be improved on..) but hey everything has to start somewhere heh :-D
I did not have any ESP-12E modules on hand, so I slapped on a plain old ESP-12 instead. I will need the 12E variant if I want SDIO, but I may instead move on to an ESP-32 version as I previously wanted to - time permitting of course.
Re-rise of the pi zero variant??
Another thing that happened before I got sick: Now all of you may remember this project of mine started out as a pi zero sized board? Well I have definitely not forgotten about it! About a month ago I had decided I was going to have another go at making a zero-sized fpga board - this time using the physically larger FPGA package as used in my current Ohm:
(To be continued.. :-)
Hello again! :)
While I eagerly await on (what I hope to be) the final revision of my Ohm board, thought I'd drop one more update here..
1.) OV7670 module testing went well :)
2.) Fixed a few more minor errors with the PCB, as well as tweaked the following specs:
3.) Started work on my very first (and relatively simple) 'hat' for the Ohm board - a 'retro ports breakout' hat containing:
Looking forward to seeing the final boards when they arrive (hopefully) by next week's end (I hope I've covered everything..) More to follow!
**** EDIT 09/06/2017: For reasons mainly relating to time, I have decided to use the ESP-12E module (ie. ESP8266) for Revision 'A' the retro breakout hat (and possibly move to ESP32 for later versions when I am in a better position to support it). I have the following interfaces wired up from the ESP to the FPGA:
Both expansion hats and pre-production Ohm boards are almost ready to be shipped back to me. Next week will be an eventful one.. ;-) ****
Hello again! :-)
Well a few things have happened since my last update. Since that time, I ended up having two second-round prototypes built: one with 10/100 Ethernet and another with Gigabit Ethernet. Pictured below is the Gigabit Ethernet version (with and without user accessory modules plugged in):
Ethernet tests: This one was a pleasant surprise - wasn't expecting my Gigabit variant to work (was still happy to release the 10/100 variant if it did not work..), but work it did! :-D Gonna do some more testing on it, but I have decided to upgrade the spec. to include it in the final board..
CSI port testing: Didn't go so well.. After finally getting around to diving into this in a major way, I discovered my solution to be unsatisfactory due to problems with shared i/o pins for csi and parallel camera support :-/ Therefore, I decided to delete the CSI port and instead focus on parallel CMOS camera module functionality (but with the possibility for CSI support via 'SLVS' configuration of suitable GPIO pins)..
Deleting the CSI header did free up more user GPIO pins (which are always welcome.. :-), so I added an extra single-row header strip above GPIO-B to access the extra GPIO (see below):
This now leaves parallel CMOS camera and some GPIO-related tests to carry out. To be continued.. thanks for reading! :-)
Hello again! :-)
Quick update on my Ohm project: Prototype testing is now almost complete. Only thing not tested to date was the CSI header, thanks to a silly error that slipped under the radar..
Based on these tests (among other things) I've updated my PCB design to include all fixes and/or tweaks arising from it:
One of the things that really bothered me was the lack of user GPIO breakout. So I increased the GPIO count to 55 user pins total, thanks to the inclusion of a 20-pin 'GPIO-B' header, as well as increasing the pin-count of the 'GPIO-C' header :-D
There were also other changes and tweaks as well - I will write a more comprehensive list of the changes when I have more free time.
Next step: Review the above as soon as possible and see if I can knock one up quickly.. ;-) Thanks for reading!
Just a quick update to report I finally have a new Ohm Mk2 prototype assembled and undergoing testing:
Apart from a few minor snags, testing of my first Ohm Mk2 prototype has been going well. As part of the test process I've ported both minimig and Next186 softcores to this board (successfully). I've also exercised the onboard ADC inputs using my FPGA scope demo.
Among the remaining tasks, I need to provide some means of a loopback test of the Ethernet port from the FPGA. Also at some later stage I will need to validate (as a minimum) USB HID capability from those ports, not merely PS/2 pass-through as has been tested thus far.. Stay tuned! :-D
Sorry about the delay in my last reply. Non-hobby matters, along with the added frustration over long part lead-times etc. did slow things down here quite a bit..
Rather than wait an unknown lead-time on an FPGA part that I need, thought I'd try for a redesign of my Ohm board using larger (but more readily available) parts. While this might result in a larger (and more expensive) board, thought I'd also take this opportunity to make it a bit more useful..
So, whilst I was in the process of exploring FPGA alternatives, (where nothing is really jumping out at me right now - apart from maybe Max-10) I gave Lattice and another variant of their ECP5 series one more spin..
Anyway, here's my result (did I mention it's a bit bigger than before? :-) :
I've retained all the existing Ohm board functions, but added a flexible lvds header (for display or camera modules, potentially) and also 10/100 Ethernet.
Regarding the external DRAM: I have completed several versions of the above-mentioned design with different external RAM chips loaded, from SDRAM through to DDR3..
I realize this is a major deviation from the original (pi zero form factor) design. However cool that was (and still is, I've not forgotten), I've decided that I always wanted to do something in-between a zero and a full-blown pi. Through this renewed effort, it will be as close as I'm ever going to get. :-)
Next step: To decide upon the external RAM, review and then try fabricating one (or more) of these guys..
Thanks for reading! :-)
Hello again (and Happy New year to all! :-)
Over the holiday break, I've been pondering what I could do to possibly revive this stalled project of mine..
So, given I cannot obtain the parts I need for my current design I have therefore decided to look at redesigning my Ohm board using an FPGA from another manufacturer..
Okay, we'll see what I can come up with now. Suggestions are also welcome! ;-)
EDIT: *** 09/01/2017: This project is being considered for possible revival ;-) See Blog post titled "New year. New direction" Thanks!