element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum ICE40UP5k in stock
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 21 replies
  • Subscribers 560 subscribers
  • Views 3594 views
  • Users 0 members are here
Related

ICE40UP5k in stock

michaelkellett
michaelkellett over 7 years ago

For anyone interested in a cheap DIY pcb assembly kind of FPGA:

 

Mouser have the Lattice ICE40UP5K-SG48ITR in stock at £4.98 each (25 off).

 

These are in a 48 pad QFP package with 0.5mm pitch but readily hand solderable (to a suitable pcb of course).

 

This part has 128k of RAM on chip as well as some other fun stuff.

 

iCE40 Ultra / UltraLite / UltraPlus - Lattice Semiconductor

 

MK

  • Sign in to reply
  • Cancel

Top Replies

  • rachaelp
    rachaelp over 7 years ago in reply to johnbeetem +7
    I just looked at the other thread you linked to and then saw the schematic linked by shabaz for the board. OMG... I'd have not bothered even looking at the PCB based on the schematic design alone. It looks…
  • shabaz
    shabaz over 7 years ago in reply to rachaelp +7
    I think it is a bit mean he is blaming a 'high school kid from Sri Lanka'. The product is from his firm with his name on his website, he should take responsibility. The buck stops with him. He should have…
  • shabaz
    shabaz over 7 years ago in reply to johnbeetem +5
    Hi John! I think it is possible the price-point is low because it could be reusing old components, maybe.. There was some comment on the other thread that the serial flash had strings in it from some other…
Parents
  • rachaelp
    rachaelp over 7 years ago

    Oh that looks like a cool little device. There is probably scope for creating a carrier board which gives access to all the IO but deals with any power and clocking in a breadboard friendly format maybe with a microUSB for connecting to the PC for programming. Hmmm, I can see an additional project coming up image

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 7 years ago in reply to rachaelp

    rachaelp  wrote:

     

    Oh that looks like a cool little device. There is probably scope for creating a carrier board which gives access to all the IO but deals with any power and clocking in a breadboard friendly format maybe with a microUSB for connecting to the PC for programming. Hmmm, I can see an additional project coming up

    The iCE40UP5K is the FPGA on the US$8 Gnarly Grey UPduino.  The board has some electrical issues, so check the last link.  It doesn't have a built-in programmer.

     

    Edit: it still seems to be in stock at gnarlygrey.atspace.cc.  I first learned of the UPduino from andrea venturi's comment in Not-as-expensive FPGA Boards

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 7 years ago in reply to rachaelp

    Bearing in mind the slowness of the ICE40s and the on chip PLL I think I'd go with a slower basic clock (I usually go for 10 or 12MHz.) 

    If you use a standard oscillator footprint it doesn't really matter until you solder it on.

    For designs with a STM32xxx processor I often use a processor pin for the FPGA clock. The processor runs from its internal RC clock (good enough for asynchronous serial but not much more) and the FPGA is clocked synchronously with the processor (often useful).

    The Cirrus chip is very nice (and hard to duplicate in just logic) but way too expensive unless you really need it.

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 7 years ago in reply to michaelkellett

    michaelkellett  wrote:

     

    Bearing in mind the slowness of the ICE40s and the on chip PLL I think I'd go with a slower basic clock (I usually go for 10 or 12MHz.)

     

    I think I have been using Altera for too long! Yeah that's a good point, looking at the datasheet I see Fmax for a lot of it is only 50MHz.

     

    michaelkellett  wrote:

     

    For designs with a STM32xxx processor I often use a processor pin for the FPGA clock. The processor runs from its internal RC clock (good enough for asynchronous serial but not much more) and the FPGA is clocked synchronously with the processor (often useful).

     

    Yes that's a good point. My plan was that all the IO's would be available externally anyway so there would be nothing stopping you doing this I don't think.

     

    michaelkellett  wrote:

     

    The Cirrus chip is very nice (and hard to duplicate in just logic) but way too expensive unless you really need it.

     

    Yeah I've used that Cirrus chip before, and you are right it's way too expensive for a lot of applications hence I have usually ended up implementing various schemes within the FPGA itself. You are right, to completely replicate the Cirrus chip wouldn't be trivial but there is plenty you can do without too much difficulty.

     

    Best Regards,


    Rachael

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 7 years ago in reply to michaelkellett

    michaelkellett  wrote:

     

    In the hope that it might be useful here are some design notes I did for a customer who did their own pcb design (lots of other audio stuff on it that we won't talk about).

     

    I'm glad you shared that schematic as no matter how hard I search I can't find the full pinout on the Lattice website! They refer to a pinout file in the datasheet but give no link to it and it's nowhere to be seen!

     

    Best Regards,


    Rachael

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 7 years ago in reply to rachaelp

    You need to know the secrets of Lattice's web site and organisation image

     

    iCE40 Ultra / UltraLite / UltraPlus - Lattice Semiconductor

     

    Near the bottom of the page, download the ICE40UP5k pinout - it's a .xlsx file.

     

    http://www.latticesemi.com/view_document?document_id=50697

     

    BTW - my schematic is the iCE5LP4k which may be slightly different.

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 7 years ago in reply to michaelkellett

    michaelkellett  wrote:

     

    You need to know the secrets of Lattice's web site and organisation

     

    iCE40 Ultra / UltraLite / UltraPlus - Lattice Semiconductor

     

    Near the bottom of the page, download the ICE40UP5k pinout - it's a .xlsx file.

     

    http://www.latticesemi.com/view_document?document_id=50697

     

    Oh so it is.... I didn't scroll down far enough.... But I searched for pinout previously and it didn't show, this time I type it and it finds it.... I guess I had a typo when I searched before.... image

     

    michaelkellett  wrote:

     

    BTW - my schematic is the iCE5LP4k which may be slightly different.

     

    Ah ok, maybe not best to copy the pinout from there then!

     

    I think I am having an off weekend.... I've been doing dumb things too much the last couple of days image

     

    Best Regards,

     

    Rachael

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 7 years ago in reply to michaelkellett

    There is one difference in pins between the Lattice speadsheet for the up5k and my schematic and Lattice's spreadsheet for the LP4k

     

    It won't break any thing much but RGB0 and RGB2 are swapped on my schematic re the up5k.

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 7 years ago in reply to michaelkellett

    michaelkellett  wrote:

     

    It won't break any thing much but RGB0 and RGB2 are swapped on my schematic re the up5k.

    There is a note at the top about fixing a pin swap with the RGB pins. So either they based it on the 4k and that is different for the 5k, or it was wrong on the 4k too when you created that part and now they've updated it. Either way, it's not actually a problem that would cause any serious issues as you say.

     

    Best Regards,


    Rachael

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 7 years ago in reply to rachaelp

    rachaelp  wrote:

     

    Is there anything else which could be added to give value which would make people more likely to want to pay a little more?

     

    From a software perspective, I guess the open source IceStorm tools would be the ideal base for such a platform but it looks like this part isn't supported yet so the only option is to use Lattice's own toolset.

    I like your feature set.  As a general rule, you have to be very careful with "creeping featurism" where you add features to try to get more users, but then you add cost for everybody which means fewer users.  A good example of this is the Nandland GoBoard which includes 7-segment LEDs, VGA output, buttons, and LEDs.  Nice board, but it's over US$50 for a board with only an iCE40 HX1K part.  Or you can make it modular, but then the cost of the connectors becomes a killer.  A good example of this are the Gadget Factory Papilio boards: they have wonderful connectors, but they add to the cost and you need "wings" to do anything useful.

     

    I like Michael's suggestion of not having a programmer on the board, since that almost doubles the cost.  One approach would be to have a break-away programmer like the Cypress PSoC4 prototyping kit.  I think that's a very clever design.  You could have an FT2232H on the break-away section to get both SPI and UART.  Then you could sell both the fully-populated version and a cheap version for those who have an alternate way to program it.

     

    For programming, I recommend the scheme used by Lattice's iCE40HX-8K Breakout Board.  It has 0.1" jumpers to select programming the serial flash or the FPGA config RAM directly.  However, don't populate those jumpers: just leave holes for them on the PC board and hard-wire the serial flash option with traces that are easily cut with an X-acto knife.  That way there's no cost other than drilling a few extra holes, and someone who wants the board to be configurable can easily add jumper options.

     

    IceStorm does now support the UP5K.  I think the software is "beta test" at this point.  I haven't tried it yet myself, but when I downloaded IceStorm and arachne-pnr a couple weeks ago it did build the files for the 5K.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 7 years ago in reply to rachaelp

    Here's another iCE40 board in DIP form factor that's useful for price/capability comparison.  The US$38 TinyFPGA B2 has an iCE40 LP8K which is only available in micro BGA packages as far as I know.  The B2 has a USB port for programming, but from a quick scan it looks like they do something clever that required a lot of design work.  The serial flash is 4 times larger than it needs to be, so 1/4 of it is a bootloader that makes the LP8K a USB device (most likely low- or full-speed) that can program other sections of the serial flash.  That's clever, and a fun project (depending on your definition of "fun").

     

    The TinyFPGA B2's small number of I/O pins is a bummer given the capabilities of the LP8K.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 7 years ago in reply to rachaelp

    For the Xmas Tree we provide to schools, the PCB was arranged to allow either FTDI chip to be populated.

    image

    (Sorry about the image quality)

     

    image

     

    If you added Header pins, you could easily use an off board programmer which a number of other boards use.

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • mcb1
    mcb1 over 7 years ago in reply to rachaelp

    For the Xmas Tree we provide to schools, the PCB was arranged to allow either FTDI chip to be populated.

    image

    (Sorry about the image quality)

     

    image

     

    If you added Header pins, you could easily use an off board programmer which a number of other boards use.

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube