LogicStart Shield for the Papilio DUO


Jack Gassett

Recommended Posts

Ok, I am finally settled in and am starting to work on the LogicStart Shield for the Papilio DUO. I would love all feedback and ideas to help shape this new board. One of the biggest things I'm hearing so far is let's make it cheaper so the Papilio DUO and LogicStart Shield combo are low cost. That sounds good to me here is what we can do:

 

  • Right off the bat we are eliminating the most expensive component from the board, there is no need for the SPI ADC since the Papilio DUO already has an ADC. I think we should break out the ADC to Grove headers but that is very inexpensive to do.
  • The second thing I think we should get rid of is the Joystick and replace it with smd directional buttons. The joystick is hard to source, expensive, and the button cap is expensive too. Directional buttons do the same thing and drastically reduce the cost.
  • Use slide switches from the Seeed Open Parts library... That can theoretically bring down the price. They may not be suited for a board like this though.

 

Ideas to make the Shield better:

  • I'm thinking of adding some WS2812b RGB LED's to the board. The big question is how many, I don't want to drive up the price too much. I'd say either add 1 or add 8 to match up with the single color LED's on the board. 8 is a bit risky because if I'm off on the price that adds up pretty quickly... It looks like on taoboa WS2812b chips are going for around 10 cents each. If that is what I can actually get them for then it will be a no brainer to add 8x.10= 80 cents added to the BOM. But if there are markups in the supply chain and they are more like 30 cents each then I start to get into trouble... 
  • Leave the right 16 bit Wing header completely open for extensibility.

 

Anyone have any more ideas? Hamster what do you think? Anything you would like to see done? Do you think low cost is the way to go here?

 

Thanks,
Jack.

Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply

This morning I just got a box of individual OPL parts - including the slide switches, two sorts of tactile switches (SMD and throughhole) and 20 x  DIP ATmega328. I have no idea what I am going to do with them, but at that price I couldn't resist!

 

The slide switches are not as large or robust as the current LogicStart Switches, but seem to be perfectly fit for this use, just maybe a lttile light for classroom use (or being unprotected in a backpack, but seem just fine. If you want I can solder one up and see how robust they are.

 

For the WS2812s, I think one on each corner of the board would be great. A bit of bling for not much dosh. It will also make them very attractive for marketing - a few twinkling FPGA boards on a bench. I worry how I've zapped some of mine already, during the first day of playing with them. Maybe some investigation into how to ESD-proof the start of the chain could be worth while to prevent high numbers of RMAs. They might have really high impedance inputs and adding a couple of clamp diodes to +V and GND (or even just a 1k0 to GND might be enough). Definately some room for experimentation here - but if I can kill two while sitting at a desk they are going to drop dead like flies.

 

The Joystick doesn't and much value for the cost - just the ergonomics of using buttons could be an issue for games - you need to be able to hold it and push buttons (like a game pad).

 

I like the idea of a completely open wing. (esp if it is the multi-purpose PMOD compatible one. You won't sell as many wire jumpers!

 

What's everybody's thoughts on the 7-segs? Are they still of use?  I was using mine last night for showing temp during a my reflow session, so I still like them,...

Link to comment
Share on other sites

I think it would be cool to put cheap examples of each serial protocol on there, blink leds is a good start, serial protocols are a good next step. A cheap i2c prom, a cheap spi temp sensor, the ws2812 is good for its protocol and something 1-wire too. accelerometers are cheap nowadays too.

Link to comment
Share on other sites

Ok, I have created a template for Papilio DUO Shields and am now adding the sections.

 

Here are the Slide Switches and LED's. I think we should stick with the same slide switches that are used in the LogicStart MegaWing. But I am changing so that the switches use pullup resistors instead of connecting directly to 3.3V. There were a batch of bad LogicStart MegaWings because the switches allowed 3.3V and GND to short out momentarily.

post-29509-0-93072400-1407434926_thumb.p

 

post-29509-0-96313000-1407435144_thumb.p

 

 

 

Link to comment
Share on other sites

7segs are a nice learning exercise in strobes and also quite handy for debug on other projects, just with resistors this time perhaps 8)

 

An LCD would be cool but if you have some handy SPI pins on the top or a suitable connector then you already have the bits to hook up one of the little Adafruit displays if wanted, assuming the Papilio Duo can source the 100mA + it needs ?

Link to comment
Share on other sites

Anybody else think that the existing LEDs a a wee bit intense?  Of course you can PWM them to make it a little less bright, but I mostly use them as indicators, not to burn holes in my retina :-)  If I was to assemble a sheild for myself I would most likely put on defused LEDs, or bump the current limiting resistors a little higher (470 ohm? 1k?).

 

However, the sun might always be shining in Colorado!

Link to comment
Share on other sites

Here's some hints on WS2812B from http://www.pololu.com/product/2548:


Warning: The WS2812B seems to be more sensitive than the TM1804 on our original LED strips. We recommend taking several precautions to protect it:


  • Connect a capacitor of at least 100 μF between the ground and power lines on the power input.
  • Avoiding making or changing connections while the circuit is powered.
  • Minimize the length of the wires connecting your microcontroller to the LED strip.
  • Follow generally good engineering practices, such as taking precautions against electrostatic discharge (ESD).
  • Consider adding a 100 Ω to 500 Ω resistor between your microcontroller’s data output and the LED strip to reduce the noise on that line.
Link to comment
Share on other sites

7segs are a nice learning exercise in strobes and also quite handy for debug on other projects, just with resistors this time perhaps 8)

 

An LCD would be cool but if you have some handy SPI pins on the top or a suitable connector then you already have the bits to hook up one of the little Adafruit displays if wanted, assuming the Papilio Duo can source the 100mA + it needs ?

 

Ok, the 7seg display stays. I'm using an updated design with more protection this time. :) Any of the power pins on the Wing Slots can source 100mA with no problem. I've also got a LCD Wing that I should be getting out.

 

Anybody else think that the existing LEDs a a wee bit intense?  Of course you can PWM them to make it a little less bright, but I mostly use them as indicators, not to burn holes in my retina :-)  If I was to assemble a sheild for myself I would most likely put on defused LEDs, or bump the current limiting resistors a little higher (470 ohm? 1k?).

 

However, the sun might always be shining in Colorado!

 

The sun is always bright here in Colorado. :) I will take steps this time to limit the brightness, the problem is that the LED's that get sourced in the manufactured product are out of my control. So I have to make an adjustment after the first batch to adjust. Or actually, since Seeed will be making these prototypes maybe I will have the LED's to test with before going into production. Now if they just consistently use the same LED's through the lifetime of the product...

 

here's a long shot, what about a 10/100 ethernet phy, can be had for under $1 in 25+ on mouser. Could drive it with the opencores mac and build a traffic blaster!

 

Well, I have already made a RMII Ethernet Wing several years ago. The problem is that all of the cores out there use MII and that eats up waaaaay to many pins. So until someone takes on an OpenSource RMII to MII converter we would have the hardware but no way to drive it... 

 

 

Here's some hints on WS2812B from http://www.pololu.com/product/2548:

Warning: The WS2812B seems to be more sensitive than the TM1804 on our original LED strips. We recommend taking several precautions to protect it:

  • Connect a capacitor of at least 100 μF between the ground and power lines on the power input.
  • Avoiding making or changing connections while the circuit is powered.
  • Minimize the length of the wires connecting your microcontroller to the LED strip.
  • Follow generally good engineering practices, such as taking precautions against electrostatic discharge (ESD).
  • Consider adding a 100 Ω to 500 Ω resistor between your microcontroller’s data output and the LED strip to reduce the noise on that line.

 

 

Perfect, thank you for the info. I'm still on the fence about adding these LED's though. It's a little scary to be on the hook to replace a board every time ESD strikes one of these little guys...

 

Jack.

Link to comment
Share on other sites

Hi, for all our analog need, I think we shall still consider an IC... I found out that nice analog chip :http://www.maximintegrated.com/en/products/analog/data-converters/analog-to-digital-converters/MAX11300.html

 

This chip can do so many thing. Its the analog swiss knife.

 

Also, i want to add my position on the shield... I don't really like the groove connector idea, groovy thing cost a lot, and are not widely available everywhere. I don't want to have a connector i will never use on it.

 

 

Oh, an by the way, its me that make us got the 60k gap...

Link to comment
Share on other sites

Hi, for all our analog need, I think we shall still consider an IC... I found out that nice analog chip :http://www.maximintegrated.com/en/products/analog/data-converters/analog-to-digital-converters/MAX11300.html

 

This chip can do so many thing. Its the analog swiss knife.

 

Also, i want to add my position on the shield... I don't really like the groove connector idea, groovy thing cost a lot, and are not widely available everywhere. I don't want to have a connector i will never use on it.

 

 

Oh, an by the way, its me that make us got the 60k gap...

 

Hello, thank you for dropping by and giving us you input. 

 

That analog IC is quite expensive... It's $15 in singles and $6.59 per 500. That would add too much expense to the BOM, I would have to sell it more then the original LogicStart MegaWing...

 

The Analog grove connector that I'm thinking to use is actually pretty standard. It's just three .1" spaced male pins per channel. So it is actually the easiest way to connect any type of analog device, not just grove.

 

Thank you for getting us over the 60K gap!

 

Jack.

Link to comment
Share on other sites

Hi Jack,

 

I'm don't know what the latest proposal is, so I'm not sure if these suggestions even make sense. I'll just list them anyway  :)

  1. [What I want the most] Bring out some number of I/O pins on the LogicStart wing so I can still control my own hardware even when I'm using the wing.
  2. Are the RGB leds you're talking about intended to replace the 8 monochrome leds that currently lie above the switches? I kind of like that idea.
  3. Any potential for replacing the 7-segment LEDs with 14-segment so that alphanumerics can be displayed?
  4. [More speculative, but I'd personally enjoy this] What about a second VGA connector to be used as an input? Then a person could build little realtime video processing filters like deblurrers, edge detectors, chroma-keying, etc.
Link to comment
Share on other sites

Hi Corey,

 

1) Yeap, I like the idea of free IO pins. 

 

2) Hopefully not - the WS2812s are about 6mm square, so it will eat through board real estate compared to a 0603 LED. Also the pixels are smart, so are not a good starting point for beginners - framing and spitting 24 bits with sub-microsecond accuracy is a big ask to light a LED. However, you can get the LEDs from the usual suspects and wire them onto your free I/O port....

 

3) I quite like the idea of 14 segments, but once again these are cost prohibative. The additional displayable characters doesn't add much additional learning, just lots of coding mapping out the patterns required.

 

4) VGA input is an interesting one. It would require a very high speed multi-channel ADC, Don't think it will be possible to do at a reasonable price point.

 

Botther - this all sounds so negative. Sorry!

Link to comment
Share on other sites

Hello everyone,

 

Yeah I also completely agree with having IO pins on the other side of the LogicStart. I'm working my way now through Hamster's ebook with the Papilio Pro and it would great to be able to get at the pins for other projects without having to take the LogicStart wing off all the time. I also love the idea of having a cheap mems sensor.

 

Awesome!

Link to comment
Share on other sites

Hi hamster,

 

What I gather from your reply is that there are two important principles for the LogicStart: that it be low cost and that it is very simple to program so that it supports learning for people who are new to FPGAs. I think both of these goals make perfect sense.

 

Now, what I'm wondering is, is there scope for a board more advanced than LogicStart for people who are at the next step of their education. You could call such a board "LogicNextStep"  :)

 

Put another way, what do you see are the next steps for someone who has done the basic learning on a board like LogicStart and would like more advanced hardware to mess around with? Which of the below is most similar to your thinking?

  1. Users should get a breadboard and parts and wire up something themselves.
  2. Users should go buy a different FPGA trainer altogether--Papilio is strictly for beginners on a tight budget.
  3. Or... there is indeed scope for a more advanced (and more expensive) board like LogicNextStep. And maybe Papilio will have that some day.
Link to comment
Share on other sites

Hi Corey,

 

Yes, yes, and maybe.

 

My thinking that people have a whole lot of different motivations.

 

Some people get the "I want to design my own CPU" bug, and they may never need more I/O bits and bobs than the Papilio Pro + LogicStart combo provides and don't like soldering. Maybe they want a NIC and a few other goodies and spend $270 on a Digilent Nexys 3 - http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&Prod=NEXYS3 - and get an FPGA that is twice the size. Or spend big bucks on a $420 Digilent Atlys ( http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS ) and get a x5 the logic and 128MB RAM. If it was me, I would just get a $155 Pipistrello  (http://pipistrello.saanlima.com/index.php?title=Welcome_to_Pipistrello) and reuse my LogicStart with that....

 

When it comes to people who want "more sensors" nobody can compete with the inexpensive (and sometimes cheap in the bad sense of the word) sensor boards that are out there for the Arduino. For $10 and some jumper wires you can have more sensors than you know what to do with (e.g.  http://www.dx.com/p/gy-85-6dof-9dof-imu-sensor-module-for-arduino-148436#.U-qCYPmSxZ4). The new Duo design is going to help out here, by removing the need for wires for Arduino shields. You can reuse bits of your Logicstart with these projects ()

 

Some people want to integrate FPGAs into their own larger project. They just put the Logicstart into a draw.

 

I don't really think there is a generic LogicNextStep. Everybody whats to do different things!

Link to comment
Share on other sites

Ok, so I have a first draft of the LogicStart Shield ready for review. The design files files are checked into Github.

 

post-29509-0-46224200-1408029886_thumb.p

 

Here are the steps I took to get there:

 

First I added Switches and LED's:

post-29509-0-92963300-1408029894_thumb.p

post-29509-0-42267700-1408029893_thumb.p

 

Then audio:

post-29509-0-96933500-1408029890_thumb.p

post-29509-0-95698300-1408029892.png

 

Then VGA:

post-29509-0-03334800-1408029897_thumb.p

post-29509-0-95443100-1408029895.png

 

Then arranged all in this final form:

post-29509-0-46224200-1408029886_thumb.p

 

This is the pinout:

post-29509-0-81221500-1408030200_thumb.p

 

As you can see I moved the VGA to its own removable 16-bit Wing and expanded it to 4096 colors - 4-bits per color. You can remove the VGA wing and free up two Wing slots for your own projects. 

 

There are three pins free that we can do something with... I think overall this will be a very affordable board to get started with...

 

Jack.

post-29509-0-05049000-1408029889_thumb.p

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.