My attempt at making an FPGA experimenters board in a popular form factor :)
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Hello Everyone!
Well, it has been over a year since my last project update. My humble apologies for the very long hiatus between updates...
In summary, here is where my FleaFPGA 'Ohm' project is currently at:
- First run of production boards delivered successfully, albeit at a higher than expected unit cost and more difficult than anticipated production test cycle :-(
- Newest project I managed to successfully get working on FleaFPGA Ohm (and release on github): project Oberon to FleaFPGA Ohm
- I have (rather obviously) stopped all work on this hobby project until recently, mainly due to non-hobby matters. I am still waiting for my energy levels to return to normal so that I can devote more time to my hobbies wherever possible :-(
- I have received a ton of feedback (good and bad - thanks for both!) about my FleaFPGA Ohm. I have since used this information to design a new lineup of FPGA development boards starting with Ohm Mk2 pictured below - watch this space! :-)
- I've not yet decided on doing a second production run of Ohm boards (by me personally). However, I have received (and I'm receptive to) several submitted offers from interested parties to manufacture Ohm, so I am considering these offers going forward. In the event that all falls through, there is the option of putting the related Gerber PCB files up on Github for others to make more Ohm boards as they wish ;-)
Anyways, that's it for now. Thanks, as always, for reading about my slice of homebrew madness!
Regards Valentin
Seasons Greetings Everyone! :)
Just thought I'd post a quick update around my FleaFPGA Ohm production run...
Short summary: Indiegogo boards have been assembled and functionally tested! Furtner details (and pictures) may be found on my Indiegogo campaign page:
Well, that's all for now. More to follow soon...
Happy Holidays! :)
Hello Everyone!
Please forgive the delay in my latest Project log - life always getting in the way of the fun etc. etc...
I wish to start off this blog by extending my sincere thanks to those who backed my FleaFPGA Ohm project on Indiegogo! Without your support this project would quite likely have stayed a personal endeavor.
Now that the campaign is over, it's time to look forward to the production run. Parts have been ordered and should all arrive next week. PCBs have been fabricated and are already on-hand. Test and assembly plans devised and awaiting final review...
Assuming no major hold-ups, I expect to see the first assembled Flea Ohm boards roll off the assembly line in around two weeks time. Watch this space!! :-D
Cheers, Valentin
Hello Everyone!
First off, I want to give a huge thanks to everyone who liked or have been following my Ohm project with interest to date! I also want to thank those of you waiting on production news for your patience..
Now for the good news: I am pleased to announce the launch of my FleaFPGA 'Ohm' board as an Indiegogo campaign! Exciting times! :-)
Please do check it out (including the embedded video). Those of you who are interested in obtaining an 'Ohm' board, now is your opportunity to register your interest in my own take on an FPGA-based platform through the above link. Thank you!
Kindly stay tuned for further updates. Should you have any questions regarding the production run, kindly post those either here or over at Indiegogo. Thanks again!
Sincerely,
Valentin Angelovski
Hello again,
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. :-)
Valentin
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..
Valentin.
Hello again,
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!
Create an account to leave a comment. Already have an account? Log In.
Where do you get your PCBs made with tolerance that can handle an ECP5 .8mm escape? I assume since you mentioned tooling costs, it's not a budget supplier. Also how do you mount your BGAs for prototyping?
Was there ever some IO-pcb for the FleaFPGA Ohm, for use with the minimig core, for connecting keybord, mouse and joysticks?
I hope whatever issues you were dealing with are behind you and better times are rolling in.
Meanwhile, I'm really excited to see the MK2 teased above come to fruition. Looking forward to following this project and hopefully getting hold of a MK2 (or even a MK 1).
Hello. Thanks for your question and apologies for the late reply. I am alive and still working on my homebrew projects whenever I can. However, ongoing life matters continue to place severe time constraints on my hobby-related activities. Latest Ohm Mk2 boards seem to work (mostly) as expected, but progress around testing has been very slow.
Cheers, Valentin
is possible to create second version with ethernet or wifi?
and meybe a more memory (512MiB)
look this https://arduboy.com/ why not add screen some keys and buzzzer. many people would like to buy this.
Hello Renaud,
Thanks for your question. I may find an opportunity to look into that, once the dust finally settles on the first round (hasn't quite done so yet). Currently focusing on bringing more HDL examples to FleaFPGA Ohm among other things. Cheers, Valentin.
Hello James,
Thanks for your question. ao486 is too big to fit inside the ECP5 of my Ohm board AFAICT. From what I've read it is not an optimal x86 solution, but it is the first open and complete 32-bit x86 core for FPGA use.
I feel an fast, optimized 386 class PC system could be made to fit on the Ohm, but any 386-based SoC would be a massive undertaking, let alone 486. Cheers.
Since the indiegogo is closed, how can I buy one of these?
Saw the Q below, Diamond can run on Linux and via command line, no problem.
@Ralph,
I will address the question of post-campaign Ohm availability once I have proven that I can successfully deliver to the initial backers.
Cheers, Valentin
Hello,
Is Lattice Diamond the only option for programming the EPC5? My preference is for tools that 1) runs well in Linux, and 2) have command line interfaces.
The nice thing about the iCE40 devices is that they're supported by the IceStorm toolchain.
Good luck!
How faster is this processor? Can You run bogomips or other benchmark?
It's not a processor, it's an FPGA. You can put whatever processor (or even multiple processors) you want on it - as long as it fits inside the FPGA's logic capacity..
As for 'processor' (which I assume you mean CPU), fastest CPU core I have ever run on my board was F32C (MIPS/RISCV compatible):
There, you will find the speed benchmarks in the readme. At a guess, I estimate that I could possibly fit four such cores, each running @ 100MHz+ on my board and still have room for peripheral or other modules.
Potentially even faster (VLIW) cores could also be done, in theory. However, writing a suitable c compiler backend for such a core would be challenging..
Cheers, Valentin
On indiegogo is: 25MHz Crystal oscillator
What this is about? How posibility faster is this machine? For example implementing only benchmark, no OS etc.
@ia:
Thanks for your question(s). That 25MHz mentioned on Indiegogo is for the on-board reference oscillator that feeds into the ECP5 FPGA. From there it can be stepped all the way up to 400MHz(!) internally via the two PLL Blocks that exist within the ECP5 FPGA. Of course, various factors will dictate the final MHz of any embedded user logic inside the FPGA..
As for "What is this about" my project was not specifically designed for running Ubuntu... that is what computing platforms like the Raspberry Pi are for. My Ohm board was designed for use in FPGA-oriented projects (including the possibility of working with the raspberry pi as a hardware accelerator) and also for learning about FPGA technology in general. Cheers.
Indiegogo is blocking me for using a VPN. How lame is that? Not a cool thing at all.
Interesting. No VPN issues here. I am not sure that it's Indiegogo doing the blocking. Seems ironic they would actively block VPN users, particularly when they're hosting several VPN-related product campaigns on their site..
I think this looks perfect to built it into a keyboard to make your own little retro gaming machine. All you need is to solder two D9 connectors to the GPIO.
One question: Since I like my Amiga as much as my C64... will there be the possibilty to switch cores easily?
Hello!
Short answer: Without an external PC connected? Yes, it is possible but not easily so..
Longer answer: Notice a small 6-pin header on the right hand side of my Ohm board? That is for connection to an external JTAG programmer. You would need a custom 'hat' to control that header using a microcontroller and an SPI ROM with multiple FPGA config bitfiles loaded into it. Add a push button(s) to said hat to allow selection of said core and have the microcontroller on the custom hat transfer the desired bitfile directly into the configuration SRAM array of the ECP5 FPGA on the Ohm board upon power-up..
By far the easiest method uses the one created for the Ohm by default: Using a USB cable and a host PC running the flea jtag utility ;-)
Cheers, Valentin
*EDIT*: Using the SD card to update the Ohm board's onboard SPI ROM is really only suitable for configuration updates, not multiple HDL bitfile selection..
Thanks for your quick and detailed answer! I was more thinking of a simple software solution, like a menu to switch cores?
But maybe this is a naive wish, since I don't have any deeper knowledge about FPGA...
@t.abts,
"I was more thinking of a simple software solution, like a menu to switch cores?" You would still need an external microcontroller to take control of the FPGA via JTAG, regardless of whether you're using external push-buttons from an external hat, or some kind of on-screen-display menu to select your desired custom config bit-file for the FPGA. So yeah not quite so simple.
Tell my why not 4 fpga and goog adn fast magistrale?
FPGA is for speed, more trouble is with communication core. Create a machine with 4 core to learn and programming interaction with more than one fpga.
Hello and thanks for your question!
I have given some thought to what you've described when I designed my Ohm board. Beause the USB/PS2 host ports are wired to the ECP5, may be possible (as well as a nice weekend project to try :-) to link multiple Ohm boards together via those host ports using some custom comms logic to implement whatever network topology may be possible using those two ports. Over very short distances it should be fast, certainly faster than normal UART speeds I would think..
If that isn't fast enough, there are also twelve LVDS pairs available in the GPIO.. :-) Cheers, Valentin.
I thing Mikołaj sed about device similar transputer. Multiple core on one board and fast magistrale between it. (multiple fpga on one board)
Because realy trouble is with programming/configuring more than one fpga.
@Bartosz,
Sure. On the topic of adding multiple FPGA chips on one board: Technically the ECP5 (LFE5U-25) used on my Ohm board is not only faster, but also has nearly four times the logic capacity of any of my previous FPGA boards using the MachXO2-7000 device. So from that perspective one could argue that it is almost literally four FPGA chips on one board! ;-) Cheers Valentin.
No, 4 fpga and meybe normal ARM for linux. I need a faster machine and scalable
Epiphany is faster, and cost 99$ = linux ARM + 16 procesor + FPGA
@Bartosz,
Yes, starting with my zero-sized Ohm board. I hope to finish the Ohm campaign video in the next few days :-) Cheers Valentin.
Thanks for your encouraging words. It has been a lot of fun so far :-)
Compliments for fantastic project, i follow your description and possibility to update with ethRJ45. Permit to suggest: i think is better more and much more USB plug. Inside USB can put inside all we need it. Happy Hacking. : )
Yes, ethernet is important for cpufarm. Many people using fpga to count ingenering or phisics projects
This is super exciting! Please let us know how to support you. Minimig ECS and C64 is all I need, really, so anything else you add is just icing on the cake :)
Thanks for your positive comments! Given that I had successfully ported both (admittedly the FPGA-64 port is far less refined but working as more than a proof-of-concept). My next blog update will reveal my production plans - stay tuned! :-) Valentin
this is awesome can i buy one yet i cant wait to own one , what a clever brilliant idea i love it thanks for making it.
Thanks for yor encouraging words! My next blog update will reveal my production plans - stay tuned! :-) Valentin
Become a member to follow this project and never miss any updates
By using our website and services, you expressly agree to the placement of our performance, functionality, and advertising cookies. Learn More
tell me. Is posible integrate this to Pine Book Pro?
I would use normal keyboard, screen etc. And run program on FPGA and in ARM. For example emulator in window
PineBook have some free space inside