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
    About the element14 Community
  • 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
Blog Gnarly Grey UPduino
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: michaelkellett
  • Date Created: 30 Sep 2017 4:20 PM Date Created
  • Views 5891 views
  • Likes 10 likes
  • Comments 33 comments
Related
Recommended

Gnarly Grey UPduino

michaelkellett
michaelkellett
30 Sep 2017

Following the mega useful suggestion from aventuri about the existence of this board I bought one because I couldn't find any other way to get hold of a Lattice UP5k FPGA chip in 48 pin QFN.

 

This is an interesting FPGA in that it has 5k LUTs, the usual block RAM (15kbytes), 4 single port RAMs totaling 128kbytes and 8 16 bit wide multipliers, all this in a 48 pin prototype friendly QFN package and quite cheap - if only anyone had them in stock.

 

The UPduino board has A UP5k, an absurdly large (32Mbit) flash for program storage, a three colour LED, power regulators and not much else. It is very cheap at $7.99.

 

The owner of Gnarly grey worked for Lattice for several years and thye are promoting the board on their website.

 

My board came very quickly from the US to here in the UK, no fancy packaging, just a poly (anti static) bag in a standard envelope.

 

I got it going today which took way longer than it should have done you can program the FLASH memory using standard Lattice software with an FTDI breakout board or cable I didn't have a board but I did have a  C232HD-DDHSP-0C232HD-DDHSP-0 cable(Farnell 2352017 To cut a long story short the cable won't work unless you reduce its length drastically I cut mine down to about 10cm long This is because neither the FTDI chip in the cable or the FLASH chip on the FPGA board expect to drive cables when the data changes on the output of the FLASH chip it cross couples into the clock signal due to the cable capacitance and the resulting clock glitch breaks the communications Crazily it took a 1GHz scope to debug the comms the FLASH chip is fast and the glitches are short

 

The hardware design of the board is truly dreadful - OK it was cheap but it is kind of amazing bearing in mind the makers' connections with Lattice. It breaks several of Lattice's design rules for this part.

 

There is almost no power supply decoupling on the board.

There is no ground plane and the ground is a spidery thin track weaving about the board.

Lattice recommend a filter to the FPGA PLL power pin - the UPduino has the series 100R resistor but does not have a capacitor on the FPGA side of the resistor to ground.

 

 

There is no precision oscillator on the board - the UP5k has its own rubbish 48MHz (+/- 10% for 0-85C)) oscillator on chip but this isn't good enough for a great many things. It's worth putting the oscillator on board so the fast clock doesn't have to have long wires.

 

I'll add to this blog if I do much more with the UPduino - it's tempting just to remove the FPGA and put it on my own board.

 

The supplied example files are pretty gruesome, possibly below even Lattice's pretty low standard for example code. The LED blink example is quite short but has not one single comment !

There is a Raspberry Pi IO expander example on GG's website - the key file in that is spi_gpio.v - oddly embellished with Lattice copyright stuff and dated 2010 - 310 lines of code - zero comments.

 

In summary this is great idea done badly: very badly.

 

It's not much use to pros -  no oscillator, dreadful design practice so won't give a good idea of any device limitations and is hopeless as a reference design. It's not much use for learning either -  the low price is great but the total lack of any kind of decent tutorial stuff is a huge negative.

 

So unless, like me, you just have to get hold of the UP5K, this isn't a very good buy - even at $7.99.

 

MK

  • Sign in to reply

Top Comments

  • shabaz
    shabaz over 8 years ago +3
    I noticed this on their website, my underlining: I think they perhaps confused the idea of a legitimate good quality minimal-accoutrements development product as somehow being in conflict with not spending…
  • shabaz
    shabaz over 8 years ago +2
    It is weird, it doesn't make sense given the linkedin page of the author of that design, how come the design itself ( PDF schematic ) is so bad. I guess it shows how important an interview (and maybe even…
  • johnbeetem
    johnbeetem over 8 years ago +2
    Thank you for this review. It's sad that the board's electrical design is so poor. It's not that hard to do a decent PCB job, but one does have to have some experience. Memo to UPDuino: ground lines that…
  • peepo
    peepo over 8 years ago

    re-soldered 8x pins on flash, pin 5 aka DQ0 lifted away from  board, wfm.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • johnbeetem
    johnbeetem over 8 years ago in reply to peepo

    peepo  wrote:

     

    seems to be intermittent fault, and wastes a lot of time.

     

    I'm glad to hear confirmation that the FT232H works at all.

     

    If it's intermittent, it's likely to be the electrical problem michaelkellett describes in his original post.  SPI requires a solid clock with no significant ringing.  My suggestions:

     

    1.  Make the wires from the Adafruit FT232H breakout board as short as possible.  If you have some extra perf board lying around you can mount both boards on the perf board and connect them with short segments of wire-wrap wire.

     

    2.  Wrap an extra ground wire around the clock signal to shield it.  Ground it at both ends.

     

    3.  Add an RC filter to the clock line at its source, i.e., at the FT232H board.  I'd suggest trying 33 Ohms into 100 pF.  0805 surface-mount components work well with 0.1" pins.  The RC filter smooths the edges of the clock so that there's less ringing.  Ideally, look at the signals on a sillyscope, but you need a fast 'scope (and possibly active probes) to see what's really going on with sharp edges.

     

    Hope this helps, and Happy Holidays!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • peepo
    peepo over 8 years ago

    Comments and Suggestions sought,

     

    When using iCEprog with Adafruit FT232H to upload an .bin to UPduino:

    ...

    programming..

    reading..

    Found difference between flash and file!

    ABORT.

     

    seems to be intermittent fault, and wastes a lot of time.

     

    using iceprog -v

    ...

    waiting..

    reading..

    read 0x000000 +0x100

    ff ff ff ff ...

    ff ff ff ff ...

     

    tx

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • johnbeetem
    johnbeetem over 8 years ago in reply to aventuri

    aventuri  wrote:

     

    Hello, just a quick update to point out where you can find a mostly working open source toolchain supporting the UP5K!

     

    thanx to David Shah for the commitment!

    Awesome.  Totally awesome.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • aventuri
    aventuri over 8 years ago

    Hello, just a quick update to point out where you can find a mostly working open source toolchain supporting the UP5K!

     

    https://github.com/daveshah1/icestorm/tree/up5k_ip

    https://github.com/daveshah1/arachne-pnr/tree/up5k

    https://github.com/daveshah1/yosys/tree/up5k

     

    with these three branches, you can create bitstreams for the Upduino board!

    amazing..

     

    thanx to David Shah for the commitment!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
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 © 2026 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