Larry McGovern

Fractal project with Papilio Duo

8 posts in this topic

Thought I would share what I've been up to with your board.  This has been a really enjoyable way to learn VHDL.  This was inspired by a similar project by Hamster. 

 

Share this post


Link to post
Share on other sites

Wow! That is really, really cool! Going to get this posted to the blog.

Share this post


Link to post
Share on other sites

Thanks Jack!  It would be an honor to see this on the Gadget Factory blog.  This project was quite suitable for the Duo, since it makes use of the AVR chip for some of the basic math and input controls processing, and leaves the hard stuff to the FPGA.

Also, hats off to Hamster, whose own Mandelbrot project were the inspiration for this.  My project was not a copy of his (after all, my objective here was to learn), but I did learn quite a bit from his implementation on how to pipeline a project like this. 

I posted a few other details on the project on the YouTube post, but I suspect some of the readers here would be more interested.  Here is the bullet point description:

• The Atmega32U4 is used to process the analog joystick, buttons, and rotary encoder to set the cursor position, zoom, and color map.  This information is sent over to the FPGA via an SPI interface.
• The FPGA runs the 800x600 pixel fractal calculations at 200 MHz using the onboard DSP48s.
• The fractals are saved to SRAM, with each pixel stored as a 1 byte word.
• A set of selectable 12-bit color maps are stored using the FPGA BRAM.  I currently have over a dozen, and am planning on adding more color maps.
• An 800x600 pixel SVGA controller on the FPGA is used to send a 12-bit color image to the LCD.  I used the snap-off VGA wing from the LogicStart Shield.  The LCD was an inexpensive 7” screen purchased off eBay, typically used for Raspberry Pi projects.
• The case for this design was 3D printed, and custom designed just for this project.

Finally, the 3D case could be easily modified for a more general purpose Papilio Arcade.  The Papilio Duo drops right into it.  Perhaps I'll post the SketchUp file on Thingiverse if there is interest.

1 person likes this

Share this post


Link to post
Share on other sites

Man, this really makes me happy to see such an amazing use of the Papilio DUO! It seems like this is the perfect project to demonstrate what can be done. :)

I'd love to get a sketchup file of the case - I'd like to make myself one of these puppies for the office. I'm sure other people would love to have one of these too. If you have any interest in producing these I would give you the best discount we offer on the DUO so you can have some profit to work with when you make some of these. Just drop an email to support@gadgetfactory.net and we can have an offline discussion.

Thanks!

Jack.

Share this post


Link to post
Share on other sites

Hi Jack, thanks for your enthusiasm!  At my household, the reactions ranged from bafflement on why I had wasted so many hours doing this to "you need to get a real hobby"!  LOL!  Actually, my 11 year old enjoyed finding all sorts of crazy fractal patterns.  She keeps coming back to this little gadget for more.  It is strangely addictive, and one can get lost for long stretches of time exploring the Mandelbrot set.

I just posted the SketchUp and STL files on Thingiverse with a few instructions, in case anyone is interested:

https://www.thingiverse.com/thing:1655662

Although my application was very specific, it is pretty easy to modify if someone wanted to have a different placement for the joystick and buttons.  I could see rotating the screen 90 deg, moving the joystick, and setting this up as an arcade. It is a very simple design, and I'm sure someone who designed consumer products for a living would find plenty wrong with it.  I'm not really interested in mass producing these, but might be persuaded to print off one or two for a few interested folks for the price of the filament (a few dollars) and shipping.  (Or if you're interested, maybe in exchange for a discount on one of your new Nanos when it is ready.  I'll definitely need to pick up one of those!)  And I notice that Thingiverse has a new "Order this printed" button, convenient for those without access to their own 3D printer.

Share this post


Link to post
Share on other sites

Hi Jack,

I noticed that you put this project on your blog back in mid-July.  Thanks for creating it on my behalf! If possible, could you replace the picture with an image and link to my YouTube video? Link: https://youtu.be/OqxMnT_Ruuk.  The current picture there is not from my project, and I would hate for the author of that picture to think that I had taken credit for their work!

Also, I am certainly happy to share my VHDL code, though I’m not sure it’s best to learn VHDL from me, clearly a novice. I approached this project as a learning opportunity, and my best recommendation is for others to do the same and create as much from scratch as they can.  I can certainly provide a link to the source code if you think it would enhance the blog entry.

Again, thanks for putting that up there.  Also (on a different topic altogether), looking forward to the Papillio Nano.  I'll definitely be ordering one of those when they are ready.

Share this post


Link to post
Share on other sites

Ah, ok. I created a task for Dhia to update that post as you have requested.

Jack.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now