Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If this board is to be a Upduino update, ask around in the community for improvements :) #1

Open
ghost opened this issue Aug 28, 2019 · 20 comments

Comments

@ghost
Copy link

ghost commented Aug 28, 2019

Was just checking github for upduino related things, I have a 2.0 :)
There were a lot of complaints on the 1.0, the 2.0 is a lot better, but probably still not prefect.
I think one point of attention might be the crystal and how it's connected, since the internal 'clocks' are not very stable on this fpga :) But I'm not an expert, I literally only just started with them a week ago :)

I like the Upduino's simply because of the price point and breadboard friendly-ness making it a great little starter board for Maker projects, and people/students trying to learn FPGA. That and the open source toolchain, which is awesome of course :)

@vr2045
Copy link
Collaborator

vr2045 commented Sep 24, 2019

@cranphin I agree with you. This low-cost platform makes sense to me which is why I agreed to taking on the responsibility of maintaining this and pushing it forward.

Am open to feedback and improvements! Could you please fill out the following survey to give your feedback.
https://www.surveymonkey.com/r/7YFGGY6

Also, any suggestions on forums where I can request feedback would be most welcome!

@ghost
Copy link
Author

ghost commented Sep 24, 2019

Hi!

Awesome, I wasn't sure if there would be a reply :)
I know that people had some fun and complaints with the Upduino 1.0:
https://twitter.com/oe1cxw/status/950083493073178625?lang=en
But maybe those same people would have suggestions on improvements, ping them a Twitter? :)
I will fill in your survey, at another time, in my timezone it's far too late already :)
You could always try posting a question on https://electronics.stackexchange.com/ also :)
I'll hope to come with more suggestions later :)

Another link with complaints, but also good to hunt for improvements :)
https://www.element14.com/community/groups/fpga-group/blog/2017/09/30/gnarly-grey-upduino

@ghost
Copy link
Author

ghost commented Sep 25, 2019

At work now, so not much time either, but some small things while I remember them:

  • To do direct programming of the FPGA (instead of via SPI flash), two 0 ohm smd bridges need to be unsoldered and resoldered, which is close to impossible. Only using flash isn't that big a deal to me, but for a fast development cycle it can be usefull to switch to direct programming more easily, for example with jumpers or switches :)
  • The green led connected to CDONE (D2) is rather bright, and there's no way to turn it off once the fpga is running (as far as I know). It's minor, I know :)
  • There's some confusions around the pins in many places/documents, I think partly also cause of faults in the original Lattice documentation. For example the RGB pins are often wrongly numbered, even on the diagram. With icestorm toolchain the following is true:
    set_io led_r 41 # On board RED Led
    set_io led_g 39 # On board GREEN Led
    set_io led_b 40 # On board BLUE Led
    But I don't know if the numbering in icestorm is correct either :)
    It would be most useful to make sure at least the info here is correct, it can be determined by just writing some sample programs :)
  • I'm not sure what's up with the two leds that are not placed, but are in the diagram and have places on the board (LED1/LED2), looks like they connect to the FT232H, but not sure what their purpose would be. Leaving them out entirely might simplify the design :)
  • I know it's very low on the list, but the silk screening could be improved a bit, lots of half numbers and such right now :)
  • There's some minor things which I would like, but they would most likely compromise the base principle of the board, to keep it simple and cheap :)
    • The FT232H is a very fancy and capable chip, but because most pins are not broken out, and only few are connected to the FPGA, it's only usable as SPI programmer, and with some tweaks as a serial port. But there isn't really much that can be done about that on such a small board :)
    • I -think- the used flash would support quad SPI, but the needed data lines are not connected. But again it would likely complicate a simple board, and not sure how great the benefits would be. For the programmer, programming doesn't take -that- long, it might be nice to have a faster bus between the FPGA and spi flash though :)

One last thought, the Upduino 1.0 was great at being super cheap and simple, but it's held back by a very bad design. An upduino 1.1 with the design improvements of the 2.0/2.1, but without a FT232H, might see interest :)

Disclaimers:

  • I know nothing about FPGA's or electronics :D
  • I look at this from a hobby/DIY/Maker point of view :)

@vr2045
Copy link
Collaborator

vr2045 commented Sep 25, 2019

Thank you for the detailed feedback! Will try to reach out to some of those sites and see what I can incorporate and come up with a proposal for the community to comment on.

@vr2045
Copy link
Collaborator

vr2045 commented Sep 25, 2019

PS: I faced the same issues as you did with the Lattice UP40 designs all over the web (that seem to have been copied from each other without much change) and have already built this into my other project that is more commercially focussed here.. Specifically:

  • FPGA CRAM vs. flash programming is properly addressed. FPGA programming takes far less time than flash and makes sense in a production environment as well and not just for makers. Its already supported by the iceprog tool as well :)
  • Flash is qSPI (but not dual transaction ie. double-edge clock which can be added some day)
  • FTDI programming is moved off to another board. Allows for not just cheaper but more modular design.
  • Only the 3 color LED is on-board as the user interface. FPGA done LED is off-board since the end application may not have a DONE indication using an LED.
  • IO bank voltage is programmable using an input voltage that can be derived from the on-board regulators quite easily.

@ghost
Copy link
Author

ghost commented Sep 27, 2019

Sweet, I'm gonna have a better look over then weekend when I hopefully have some time :)

Btw. I saw you mentioning riscv on the main page.
I have PicoRV32/PicoSoc running right now on my 2.0 :)

Here I have the minimal changes I did to get this working (fork of picorv32):
https://github.com/cranphin/picorv32
Just look at the last commits :)
And keep in mind my (Current) hardware setup:
https://github.com/cranphin/picorv32/tree/master/picosoc#upduino-20-port

The same in a separate project can be found in:
https://github.com/cranphin/updosoc
I want to slowly expand that one for my own setup, but at the moment it's still very vanilla :)

@vr2045
Copy link
Collaborator

vr2045 commented Sep 28, 2019

Cool! I'll add this to the useful links section and also add the design to the sample code besides just the trivial blinking led.

@fanoush
Copy link

fanoush commented Oct 18, 2019

just found this project by coincidence and http://www.gnarlygrey.com/ site is currently down (is this somehow related?)

+1 for simplified version 1.1 without FT232H for cheap price. Basically just breakout board for the FPGA with crystal - if quad spi would work from FPGA that would be great.

+1 also for easy switching between spi flash or ram upload

I guess nowadays one can use raspberry pi for spi programming (I did it with upduino version 1.0) so having just spi pins for flash is not so big obstacle. Or one could possibly write some usb or serial to spi flasher as arduino sketch for pro mini clone or even for blue pill or stlink V2 clone (all ~$2-3 items from ebay/aliexpress)

@fanoush
Copy link

fanoush commented Oct 18, 2019

oh, so you really took over it officially as mentioned here https://www.element14.com/community/groups/fpga-group/blog/2017/09/30/gnarly-grey-upduino#comment-222684

one more comment - upduino 1.0 was $7.99 including shipping in envelope, upduino 2.0 was $13 ($16 including shipping in envelope) - that was the best thing about it - it was very cheap entry to FPGA world in arduino pro mini style.

Your current tindie price is $19.95 and the shipping for me to Europe is another $15.00 - that's $35.
For such price most of the magic of upduino is gone. There are many other choices for me near that price level. Maybe if you could also sell it at some store in Europe like Pimoroni it would be great (they have EUR 4 shipping for small items like raspberry zero)

I understand the price of upduino was very low - near the costs (or maybe even below as some sort of Lattice promotion?) but I just wanted to say that in my opinion improved barebone 1.1 version without that expensive FTDI chip for lowest price possible (like ~$15 including shipping or less) would be more useful for FPGA tinkerers than $35 device with lot of added stuff. There are already couple of other boards like that.

@vr2045
Copy link
Collaborator

vr2045 commented Oct 19, 2019

Hi Fanoush,
Thank you for the feedback! I had someone buy a couple of boards from Germany almost 2 weeks back and the package is still working its way to them according to my tracking info! In addition to the steep postage charge, the delivery time is also an issue.

I will ask Pimoroni if they'd be willing to carry this board. Would greatly reduce shipping cost. I did ask Sparkfun if they'd like to carry this board but was turned down. Do you have suggestions on other European based stores like Pimoroni?

Re. the next steps, heres what I'm thinking and open to feedback:

  1. Fix the silkscreen and other minor changes based on the feedback depending on sales
  2. Define the next version of the barebone version. I have the same ideas as you on this. A tiny stamp with the FPGA, oscillator, qSPI DTR flash and LDO's. I'd like to design this with community input. There has been a request to keep the microUSB connector on & use a TinyFPGA style bootloader and eliminate the (expensive) FTDI part and associated components.

I had to increase the price due to many factors. It has to make some money for me, unknown and low projected volume leading to manufacture in CA, California sales tax, vision to fund future UPduino/OpenSource projects from the proceeds being among them.

@fanoush
Copy link

fanoush commented Oct 19, 2019

Hi vr2045,

I also have good experience with https://thepihut.com/ They both focus on raspberry pi but also carry other stuff and have cheap shipping.They both sell $5 Raspberry Zero for years which is very low profit item. They are not so big as sparkfun so I hope they will be willing if they understand what it is. pimoroni are really cool pirates, check their youtube

And thanks for you reply, it is great that you perfectly understand the price aspect :-)
The need for good enough profit is understood, I guess the original upduino was not made for profit as the guy was from Lattice so such very low price is not sustainable in the long run. Well unless Lattice is willing to promote is as loss leader to take over the open source FPGA market :-)

@vr2045
Copy link
Collaborator

vr2045 commented Nov 13, 2019

No responses from the European folks mentioned above. It would be great to have someone stock these locally and mail them out for a fee, no? Any volunteers?

@vr2045
Copy link
Collaborator

vr2045 commented Nov 19, 2019

I created a discord channel for discussions, please message me for the link.

@vr2045
Copy link
Collaborator

vr2045 commented Dec 2, 2019

@fanoush , thanks for pushing me to reduce cost! I tested the USPS scheme of mailing out an UPduino to Europe using an envelope and am happy to say that it worked and took about a week to make it. I updated the UPduino Tindie store with the $3 shipping option.

@fanoush
Copy link

fanoush commented Dec 3, 2019

Thanks, that is great news! There is 22EUR VAT free limit on EU imports (inluding shipping) so that might just fit below it. As I already have couple of 2.0 versions, I won't be getting 2.1 as there are virtually no changes, but it will be useful when 3.0 comes. I checked the schematics of 3.0 and some comments there hint that you may have version with same board but unpopulated FTDI chip and usb going to fpga directly. Oh and I see it now also metioned here https://github.com/tinyvision-ai-inc/UPduino-v3.0/wiki#optional That looks interesting.

Additionally there is schematics bare module with just the fpga (the ICE40_SoM.pdf)? That would be also great. BTW I'd trade LEDs for 12MHz crystal there.

Can you send me link to the discord forum or just put it here if it is public. Thanks.

@vr2045
Copy link
Collaborator

vr2045 commented Dec 3, 2019

Good point, I was also told to look at https://www.royalmail.com/sites/default/files/International-customs-charges-leaflet-Jan-2017.pdf which requires VAT and handling charges on anything over 15GBP. This would place a limit on the price of the UPduino as well.

@vr2045
Copy link
Collaborator

vr2045 commented Dec 3, 2019

Thanks for providing this information, I wasnt aware that these VAT limits existed and that you have to pay VAT+handling. I will include this in my pricing so that it stays below this limit.

Yes, I agree, I wouldnt recommend getting a v2.1 if you already have the yellow board. The 3.0 fixes a lot of issues so would recommend that for newer designs.

I'm trying to implement the tinyFPGA bootloader that eliminates the FTDI chip. This needs to be tested though and will not be compatible with the Lattice programming tools...

Heres the discord link, hope it doesnt get spammed! https://discord.gg/n83M4xS, do join and comment so we can improve the design!

@fanoush
Copy link

fanoush commented Dec 3, 2019

thanks, btw there is another option for usb bootloader, check this conversation https://forum.icebreaker-fpga.com/t/spinning-a-prototype-based-on-the-icebreaker-cchematic/50/4 - either the bootloader is all in HW/fpga logic (tinyfpga) or there is usb device part in HW logic and then software - this may be more flexible

@vr2045
Copy link
Collaborator

vr2045 commented Dec 3, 2019

I was simply not aware of the VAT limits to various countries! By reducing the price of the UPduino to $19 from $19.95, this falls below the VAT threshold for the UK. Should be a significant saving for UK buyers of this board as they wont be charged an additional GBP10 as handling charges.

I have updated the pricing on the Tindie site.

@fanoush
Copy link

fanoush commented Dec 3, 2019

thanks for taking care, true that 22EUR is EU wide regulation but member countries can indeed change it, for me in CZ it is really 22 EUR(including shipping, that may also change between countries?) - as for USD to EUR conversion the customs office has its own fixed conversion rate table that changes once or twice a year so it can be in fact slightly different than real rate, not sure how UK customs handle it. It is complicated :-) But worth it so thanks for caring about this. I avoid buying stuff over this limit unless this is handled by seller (like with amazon or ebay). Not only I need to pay additional handling fee ~7EUR on top of VAT but the package is held at borders and I need to sign some papers and scan invoice and sent it to them and it can delay delivery by week or two.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants