Group support Olimex FPGA?

173 views
Skip to first unread message

William DesLauriers

unread,
Nov 30, 2025, 2:34:01 AM11/30/25
to FPGAwars: explorando el lado libre
Can this group support Olimex iCE40HX1k and iCE40HX8K?  Both FPGAs have Lattice brand marks.

Thank you very much.
Wm

charli va

unread,
Nov 30, 2025, 2:42:09 AM11/30/25
to fpga-wars-explora...@googlegroups.com
Hello! This group welcomes any FPGA. If it's an FPGA similar to those most commonly used in the community or uses open-source toolchains, it will be easier for people to participate in the threads you start. In any case, many questions or problems are generic to all boards that include that chip model, so don't hesitate to ask questions; you'll always learn new and interesting things.

Welcome!

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/33ab157b-353f-46df-aacc-efffa7d1b6b1n%40googlegroups.com.

William DesLauriers

unread,
Nov 30, 2025, 7:54:04 PM11/30/25
to FPGAwars: explorando el lado libre
Thanks.  I would like to see somebody write an addition to an Icestudio.  Olimex FPGA boards to Icestudio.  I just checked the Icestudio, but I couldn't find Olimex on the board list.  Thanks again.

Wm

Jo mo

unread,
Dec 1, 2025, 6:43:53 AM12/1/25
to FPGAwars: explorando el lado libre
hello guys,

if i am not mistaken those two board were already added to apio .
They are entered in boards.json

"iCE40-HX8K-EVB": {
    "name": "iCE40-HX8K-EVB Olimex",
    "fpga": "iCE40-HX8K-CT256",
    "programmer": {
      "type": "iceprogduino"
    },
    "usb": {
      "vid": "2341",
      "pid": "8036"
    }
  },
  "iCE40-HX1K-EVB": {
    "name": "iCE40-HX1K-EVB Olimex",
    "fpga": "iCE40-HX1K-VQ100",
    "programmer": {
      "type": "iceprogduino"
    },
    "usb": {
      "vid": "2341",
      "pid": "8036"
    }
  },


And on the icestudio side, we have it ~50% ok!
In C:\Program Files\icestudio\package.nw\resources\boards we have this folder _iCE40HX8K-EVB

So, what i suggest you william is to:

Rename that   _iCE40HX8K-EVB folder to iCE40-HX8K-EVB

and overwrite the menu.json file in the C:\Program Files\icestudio\package.nw\resources\boards folder with the one i am joining to this post.

This may do to it for the 8k Olimex board!   Let us know if you managed to upload a design successfully !

For the second board 1k Olimex board, it remains to create the board folder! this means checking inserting the right pinout in the pinout.json file.  if it is similar to the 8K olimex board, it should not be too difficult!

Have a nice day!
menu.json

William DesLauriers

unread,
Dec 1, 2025, 9:09:11 PM12/1/25
to FPGAwars: explorando el lado libre
I was partially successful.  I studied an existing very long menu.json file. Then, I decided to write an abridged version of the menu.json file for my personal use and experiment.  See the attached file here. While I was in icestudio's board selection, I only saw NANDLAND Go-Board, iCE40-HX8K, and iCE40-HX8K-EVB, among others.  But, not olimex-1K, alhambra-ii, and olimex-8K.

I clearly understood that we need to write an info.json, a  pinout.json, and a pinout.pcf. and a rules.json for these 2 Olimex FPGA boards. Can someone help me and the rest of us?

Thanks,
Wm
menu.json

Jo mo

unread,
Dec 1, 2025, 9:58:39 PM12/1/25
to FPGAwars: explorando el lado libre
Do you see a difference between    iCE40-HX8K-EVB  and  olimex-8K  ? i see you put both on you menu.json file!

For me, you have just to select iCE40-HX8K-EVB board for you olimex (8k) card !?

Also, the "olimex-8K"and "olimex-1K"  that you  added in the boards section in your menu.json will not appear in the icestudio menu because they do not have their respective folder existing in C:\Program Files\icestudio\package.nw\resources\boards.

And remember, has i wrote in my previous post the "board names" you add in icestudio menu.json  will fully work only if they are present in the board.json. (in C:\Users\"YOUR USER NAME"\.icestudio\venv\Lib\site-packages\apio\resources)

William DesLauriers

unread,
Dec 3, 2025, 12:08:14 AM12/3/25
to FPGAwars: explorando el lado libre
I will upload a few pictures of these 2 Olimex FPGA boards here when I have more time.  Whether these boards have their FTDIs popularized is what I am aware of.

Here is their website:  https://www.olimex.com/Products/FPGA/iCE40/

The Olimex-1K features 2 LEDs, 3 buttons, a programming connector, and a standard extension connector.

The Olimex-8K features 2 LEDs, 3 buttons, a programming connector, one standard extension connector, 4 mini extension connectors, and JTAG option holes.

Have a nice day.

Thanks,
Wm


Jo mo

unread,
Dec 3, 2025, 4:45:25 AM12/3/25
to FPGAwars: explorando el lado libre

Hi William,

Thanks for your reply. However, I think you may have overlooked the main point in my previous messages.

I am writing about the potential differences between  "iCE40-HX8K-EVB"  and  "olimex-8K" (not between 8k and 1K),  as you added them both in you menu.json

Please carefully re-read my last two messages !

So please select the right board ( iCE40-HX8K-EVB board ) in icestudio board menu, than upload a design like (blinky led). this should hopefully load the design on your  Olimex-8K  board!

THEN, If you get it right for the 8K board, i probably can help you to also make it right for  Olimex-1K  board.

Have a nice day

Joaquim

Jo mo

unread,
Dec 3, 2025, 5:53:26 AM12/3/25
to FPGAwars: explorando el lado libre
Hi William,

i am joining here an alternate blinky led .ice file that i can build on my computer for the  iCE40-HX8K-EVB board.
Of course, has i do not have myself this olimex-8k board( iCE40-HX8K-EVB ) i can not test the upload. But you can ;-)

all the best!
05. Two LEDs alternate blink.ice

charli va

unread,
Dec 3, 2025, 12:26:15 PM12/3/25
to fpga-wars-explora...@googlegroups.com
Hi William! i'm buying one today the next week i could share with you the experience ;)

Thanks Joaquim for the support!

Jo mo

unread,
Dec 3, 2025, 12:38:21 PM12/3/25
to FPGAwars: explorando el lado libre
@ Carlos: You are crazy, it is not like pokemon cards, no need tol have them all ;-)
well...on my side 2 day ago (cybermonday) I finally ordered a Qmtech  Kintex-7 XC7K325T.

charli va

unread,
Dec 3, 2025, 12:58:21 PM12/3/25
to fpga-wars-explora...@googlegroups.com
jajaja, I try to have a little bit of everything so I can support Icestudio and the community. I've had these sound cards on my list for a while now, and the price is great, so I decided to treat myself to an early Christmas present! XD

You're aiming high! What a fantastic piece of equipment you've bought! Tell us about your progress with it; I'm sure it'll be amazing ;)




William DesLauriers

unread,
Dec 3, 2025, 4:39:00 PM12/3/25
to FPGAwars: explorando el lado libre
Charliva and Joaquim,

I really appreciated that both of you supported the two Olimex FPGAs.  I am so happy as Pokémon dance animals! In addition to the previously mentioned board, you will need to purchase an Olimexino-32U4 or Arduino Leonardo board, or a similar board.  And treat it as a programmer.  I need to find out how to connect these two boards and link them to the computer.  I also need to recheck Olimex's website for an exact instruction.  I still don't forget about the pictures of these boards. :-)  Thanks!

Regards,
Wm

Jo mo

unread,
Dec 3, 2025, 10:15:00 PM12/3/25
to FPGAwars: explorando el lado libre
Hi William,

For the programming method, i recommend you using the FT2232 method .
Two advantages:
   - it is probably the fastest of all methods: you load a design in around 2 seconds against maybe 1minute for other methods ! 
   - we have a lot of experience here with this method. i think the majority of boards in the " Icestudio ecosystem" are programmable with an FT2232H.

You can find those FT2232H boards at multiple place like here 
You can also use an  FT232HQ but with this one , you will not have access to a second port with serial communication (uart) to computer (very handy for some designs you will draw with icestudio).
CAUTION: some cheap boards have an FT232RL chip, an those are not good for us (they do not have the Jtag port we need for programming)


have a good day

Jo mo

unread,
Dec 3, 2025, 10:20:42 PM12/3/25
to FPGAwars: explorando el lado libre
This one is slightly cheaper 

William DesLauriers

unread,
Dec 4, 2025, 12:18:55 AM12/4/25
to FPGAwars: explorando el lado libre
This is a photo of what I currently have.

- Olimexino-32U4
- Programming cable
- Olimex iCE40HX8K-EVB
- Also, I have an Olimex iCE40HX1K-EVB, not shown in the picture.

However, I am open-minded to what you are offering, Joaquim!  But I need approximately two weeks to a month to receive an FT2232-based board.  Then I can try yours.

Charliva,  I read Olimex FPGA public forum that I am not the first person who wanted the icestudio project for an iCE40HXxK-EVB as early as 2016!

Wm

DSC00318.JPG

William DesLauriers

unread,
Dec 4, 2025, 12:31:18 AM12/4/25
to FPGAwars: explorando el lado libre
https://www.olimex.com/forum/index.php?topic=5942.0

Not 2016.  But 2017.  My apologies!

Rob Holmes

unread,
Dec 4, 2025, 6:27:35 AM12/4/25
to fpga-wars-explora...@googlegroups.com
Hi William, ive got this running in ice studio using the Olimex-32U4 programmer you also have.

APIO already knows to use iceprogduino so that wasnt an issue.

image.png


FYI: its not the fastest at programming and the more LC's used the longer and longer it takes it seems.

Ive included the board definition here, all the pins are present but they are not named sensibly but its enough for blinky! See the attached video.

image.png

When clicking upload it does its think straight from icestudio, love this software :)

image.png


iCE40-HX1K-EVB.zip
olimex-blinky.mp4

charli va

unread,
Dec 4, 2025, 10:56:07 AM12/4/25
to fpga-wars-explora...@googlegroups.com
Thanks a lo! what a great team! ;) 

i'm playing with it the next week i hope....

Jo mo

unread,
Dec 4, 2025, 3:29:25 PM12/4/25
to FPGAwars: explorando el lado libre
Hi Rob,

Thank a lot, for the upload test! 
Those two Olimex boards are the first to use iceprogduino. So it is good to see it works fine (even if at low speeds ;-)  ) !

For the .zip file you joined, it is for the 1K board.
And as you wrote the pins were not "labeled sensibly". so i did a new version of pinout.json.
People wanting to use their Olimex 1K board just need to copy paste the entire folder "iCE40-HX1K-EVB" found on the zip file to their icestudio board directory
C:\Program Files\icestudio\package.nw\resources\boards 

For the 8K Olimex board, the correct folder "iCE40-HX8K-EVB" is already in place. However, I noticed a few issues.  eg: pin J3 is listed 5 times.

If you’d like, I can go through the pinout.json file and fix these errors, and just as I did for the 1K board rename more sensibly the pins. 

That said, since I don’t personally use the 8K board, it might make more sense for someone who does to decide on the port names that should appear in Icestudio. Just let me now, i have some free time ;-)

Have a nice evening guys


iCE40-HX1K-EVB_modified V2.rar
Message has been deleted
Message has been deleted

William DesLauriers

unread,
Dec 5, 2025, 6:59:13 PM12/5/25
to FPGAwars: explorando el lado libre
Charliva and somebody,

Can you duplicate the folders' iCE40-HX1K-EVB' to 'Olimex-HX1K' and 'iCE40HX8k-EVB' to 'Olimex-HX8K'?  And have APIO recognize them (new folders) as an iceprogduino.  And fix the menu's board selection, so it shows the newly mentioned boards.

Regards,
Wm

Rob Holmes

unread,
Dec 6, 2025, 3:43:28 AM12/6/25
to fpga-wars-explora...@googlegroups.com
I think the name is fine as it is, it is literally the manufacturer's part number?

image.png

Rob Holmes

unread,
Dec 6, 2025, 4:47:32 AM12/6/25
to fpga-wars-explora...@googlegroups.com
Ive added a pull request with the HX1K board definition if that helps. 
https://github.com/FPGAwars/icestudio/pull/907


charli va

unread,
Dec 6, 2025, 5:39:29 AM12/6/25
to fpga-wars-explora...@googlegroups.com
Merged! I'll be compiling binaries today. I'm working on a new fork and need to merge some things to avoid errors when I release all my changes and ensure they're inherited. I'll let you know later when the binaries are ready.

Thanks a lot!!


William DesLauriers

unread,
Dec 6, 2025, 4:24:13 PM12/6/25
to FPGAwars: explorando el lado libre
Thanks, onemano...,
You are correct.  I just checked the https://www.olimex.com/Products/FPGA/iCE40/ to see about the iCE40HX1K-EVB.  Obviously, Olimex is the manufacturer and designer as the one person of the iCE40HX1K-EVB and iCE40HX8K-EVB boards.

Thanks again,
Wm

Rob Holmes

unread,
Dec 28, 2025, 12:07:19 PM12/28/25
to fpga-wars-explora...@googlegroups.com
Ok, today i learnt a few things. :)

So i thought id give programming the Olimex board a try using an FT232H programmer (i have already tried using my hw-usbn-2b via diamond programmer which works)

Here are some things i noticed along the way.

1. Running icestudio in WSL is totally possible, but need to remember to attach the usb device to WSL e.g. usbipd attach --wsl --busid 1-2
2. icestudio develop branch does not support apio version 1.2 at this time so i needed to make a few tweaks as i needed the latest versions to allow overriding of the programmer cmd... although as i didnt end up using that option it might not have been necessary in the end.
I did need to create custom boards.jsonc, programmers.jsonc and custom apio.ini which i dont know if they would have been supported in apio 0.9.5 but i had already made the changes to allow the latest toolcahin to install.

3. Here is where the pain started for me:

The only FTDI board i had to hand was the Adafruit FT232H breakout board. and after quite a few hours come to the conclusion that it just flat out doesnt work with iceprog.

apio raw -- iceprog -t -v
init..
cdone: high
reset..
cdone: high
read flash ID..
Extended Device String Length is 0xFF, this is likely a read error. Ignoring...
flash ID: 0xFF 0xFF 0xFF 0xFF
cdone: high
Bye.  

Nothing would stop 0xFF being read as the flash id no matter what i tried.

what DID work (via  flashrom )

~/development/fpga/ice-build/02. Two LEDs/_build/default$ sudo flashrom -p ft2232_spi:type=232H,port=A,divisor=16 -v full.bin
flashrom unknown on Linux 6.6.87.2-microsoft-standard-WSL2 (x86_64)

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Eon flash chip "EN25QH16" (2048 kB, SPI) on ft2232_spi.

Verifying flash... VERIFIED.

So given that i can actually program the btistream means at least the wiring wasn't the issue....

Final solution (openfgpaloader)


Apio.ini
[env:default]
board = ice40-hx1k-evb-ft232h
top-module = main

boards.jsonc
{
  "ice40-hx1k-evb-ft232h": {
    "description": "Olimex iCE40-HX1K-EVB programmed via external FT232H (VID:PID 0403:6014) using iceprog",
    "fpga-id": "ice40hx1k-vq100",
    "programmer": { "id": "openfpgaloader_ft232h_spi" },
    "usb": {
      "vid": "0403",
      "pid": "6014",
      "product-regex": ".*"
    }
  }
}


programmers.jsonc
{
  "openfpgaloader_ft232h_spi": {
    "command": "sudo",
    "args": "openFPGALoader --spi -c ft232 -f -o 0"
  }
}

after adding these (which is very cool APIO allows them all to be added and used in a project.)

I have an ice studio instance that can  program the Olimex board via my programmer.

"/home/rob/.icestudio/venv/bin/apio" upload -p "/home/rob/development/fpga/ice-build/02. Two LEDs"

Loading custom 'boards.jsonc'.
Loading custom 'programmers.jsonc'.
Using env default (ice40-hx1k-evb-ft232h)
Setting shell vars.
Checking device presence...
- FILTER [VID=0403, PID=6014, REGEX=".*"]
- DEVICE [0403:6014] [1:4] [��������] [������] [��������]
--------------------------------------------------------------------------------
sudo openFPGALoader --spi -c ft232 -f -o 0 _build/default/hardware.bin
empty
write to flash
Can't read iProduct field from FTDI: considered as empty string
Can't read iManufacturer field from FTDI: considered as empty string
Can't read iSerialNumber field from FTDI: considered as empty string
Jtag frequency : requested 6.00MHz   -> real 6.00MHz  
Detail:
Jedec ID          : 1c
memory type       : 70
memory capacity   : 15
RDSR : 00
WIP  : 0
WEL  : 0
BP   : 0
TB   : 0
SRWD : 0
Open file _build/default/hardware.bin DONE
Parse file DONE
flash chip unknown: use basic protection detection

Erasing: [==================================================] 100.00%
Done

Writing: [========================================          ] 78.66%
Writing: [==================================================] 100.00%
Done
========================= [SUCCESS] Took 1.57 seconds ==========================


image.png


Conclusion

My assumption is that iceprog doenst like the 232H board at all for reasons unknown, I would have probably been absolutely fine with a 2322H board which ill order now and see if thats true.

Ive learnt how to override boards, override programmers and add custom apio.ini files.

Ive learnt how to get WSL to recognise FTDI devices.


Question

1. Is the latest version of APIO likely to be supported in icestudio by default?
2. As far as programmers go, can someone recommend a FT2232H breakout board that isnt from ALIEXPRESS as i dont want to wait and would prefer something nextday that is known to work e.g. https://mou.sr/45kBkcZ

Anyhow, i have a working setup albeit a bit painful getting there with the bits i had to hand.


charli va

unread,
Dec 28, 2025, 12:21:01 PM12/28/25
to fpga-wars-explora...@googlegroups.com
Hi Rob! It's great to see your progress! 

These past few days I've been working with Zapta (the lead developer of Apio) to release the new Apio, a new engine that will bring many features to Icestudio. This has overlapped with my new version of Icestudio, which is being delayed for various reasons, but it will be released soon and will be compatible with the latest version of Apio. It will improve the installation process, usability, and much more, and I don't want to invest energy in the current version of Icestudio, which is why it's currently "out of sync" with Apio, so to speak. T

here are many changes, and it needs work to get it working properly, which I'm already doing on the new version. Therefore, I can't/don't want to duplicate efforts, so I apologize for this transition period during which the development version's compatibility has been broken.

On the other hand, my Olimex cooktop has been stuck in customs in Germany for a month now, and no one has given me a solution. I don't know if it's in some kind of limbo or what the heck is going on; all I can do now is pray that it will miraculously get out of there someday and arrive home.

I'll read your email carefully in case I can help, but thank you so much for all your feedback and experiences.

Best regards!

Captura de pantalla 2025-12-28 a las 18.13.48.png

charli va

unread,
Dec 28, 2025, 12:57:19 PM12/28/25
to fpga-wars-explora...@googlegroups.com
Hi Rob, one of the first things I want to try when I get the board is https://github.com/phdussud/pico-dirtyJtag

This project uses a Pi-Pico board (around $5, which you can buy on Amazon and receive in 24 hours) that functions as a JTAG programmer. It's slower than other JTAG programmers, but very useful. I've used it with several boards and I'm very happy with it.

It's compatible with OpenFPGAloader and, in fact, with the new Apio.

Good night!

Rob Holmes

unread,
Dec 28, 2025, 1:11:08 PM12/28/25
to fpga-wars-explora...@googlegroups.com
Oooh... i actaully  have a pico2!!!

Ill give it a whirl later tonight :)


image.png

charli va

unread,
Dec 28, 2025, 1:19:04 PM12/28/25
to fpga-wars-explora...@googlegroups.com

William DesLauriers

unread,
Dec 29, 2025, 1:45:03 PM12/29/25
to FPGAwars: explorando el lado libre
Charliva,

What a long wait for your order! [WOW]  Does your order contain Olimex iCE40HX1K-EVB, iCE40HX8K-EVB, and Olimexino-32U4?  Did you also order a special cable for these previously mentioned boards?  I anticipate your process on these boards!

Regards,
Wm

charli va

unread,
Dec 29, 2025, 2:05:30 PM12/29/25
to fpga-wars-explora...@googlegroups.com
Hey William! Yes, I ordered the full combo XD. It's unbelievable, and the worst part is that no one's giving me an explanation of what's going on. I've had problems with customs before, but this is my personal best; I'm breaking all records XD.

I'll keep you posted!

Reply all
Reply to author
Forward
0 new messages