Skip to main content
Topic: A development board for Lua programming (Read 24519 times) previous topic - next topic

Re: A development board for Lua programming

Reply #15
[quote author="jiri"]i have used TVS "DVIULC6-4SC6" for USB. It is used as near as possible from connector.[/quote]

Thanks for the pointer. This is a little big for the space I have (it would fit but with very small clearance). I've found discrete TVS diodes in 1005 (metric) package that would be more appropriate.

[quote author="jiri"]I'm not expert in EMC, but why do you make pcb on 2 layers. 4 layers would be better for EMC.[/quote]

The main reason I'm using two layers is that the free version of EAGLE only allow for two layers. So I've only ever worked with two layers. If I meet big problems with the SDRAM I'll probably investigate options for more layers.

[quote author="jiri"]There is SDRAM and high speed wires without ground under wires.[/quote]
[quote author="gtz"]Nice board, but it looks like if the traces to the SD-RAM are all of different length.
I've not tried to do such a layout my salve, but have read about more than one project, where they had to do multiple layouts, because the unbalanced lines to RAM causes phantom bugs.[/quote]

I can't find how to measure a signal length with EAGLE (I know it can work with differential pair length matching, but I don't think it can work with a whole bus like that). Unless I find an easy solution rapidly, I'll have a try like that, and then diagnose the problems.

[quote author="gtz"]I like your board, but would like one with ethernet. The chip you've selected already contains an ethernet MAC, so all you need to add it a PHY, but I realize, you're low on space.[/quote]

I could have squeezed another chip (or gone double sided for components). But just like for the USB high speed UTMI PHY, I didn't put an ethernet PHY on-board because of the number of GPIOs it removes from the MCU. I'm already quite disappointed to only have around 60 even though the MCU has 144 pins. Like UTMI PHY I imagine a daughter board could be made for Ethernet. If my board ever gain popularity (which I highly doubt) I'll consult the users to see if many would like Ethernet or high speed USB on the main board.

[quote author="nickjohnson"]I love the board, especially the routing. Did you use a topological router, or do that by hand?[/quote]

All the routing is done manually. I've always been disappointed by the EAGLE autorouting, in good part because I find the results ugly. I feel the need to do beautiful routing, I'm not sure why. Maybe it's to make the little electrons happy when they travel my traces, so that they are less inclined to misbehave :D

And I've only recently discovered it's possible to offload the routing to secondary software and re-import the result in EAGLE. But even though it's time consuming, I'm quite easily losing hours routing my boards. It's like a puzzle I feel the urge to solve.

Re: A development board for Lua programming

Reply #16
I'm not an expert in the area, but my uneducated guess would be that matched-length routing might be a bit overkill here. The maximum sdram-clk from the stm is only 90 MHz giving a cycle time of about 10 nS. If the lengths of the data lines varies by 1 cm that would give a skew of 3 pS (calculated on light speed in vacuum, not on the actual speed on a pcb). That is a skew of about 0.03%.  Probably the signal speed in the transmission lines would vary more due to proximity to a groundplane or not.

I'd be more worried about the track widths and track spacings on the board.  They seem to be like 5 or 6 mils in a lot of places without any good reason.  With 5 you have exceeded what the cheap boardhouses can reliably do.  Don't tempt fate just because you can :-)

 

why not port to the STM32F429 Discovery?

Reply #17
It's already inexpensive enough and even has a screen for $24.

Re: A development board for Lua programming

Reply #18
[quote author="matseng"]I'd be more worried about the track widths and track spacings on the board.  They seem to be like 5 or 6 mils in a lot of places without any good reason.  With 5 you have exceeded what the cheap boardhouses can reliably do.  Don't tempt fate just because you can :-)[/quote]

It's all 6mil tracks and 6mil spacing (actually 0.15mm since I'm doing it all in metric). It's the first time I use tracks that small, it's also part of the experiment.

[quote author="kenyee"]why not port to the STM32F429 Discovery?[/quote]

Well, it's an overlook on my part, I think I'll order one and start development with it. It's a bit large though for the first project I had in mind, and it's missing the SD card slot.

Re: A development board for Lua programming

Reply #19
[quote="doub"It's all 6mil tracks and 6mil spacing (actually 0.15mm since I'm doing it all in metric). It's the first time I use tracks that small, it's also part of the experiment.[/quote]

PCB experiments.... That is something a can definitely relate to  ^_^

To be fair the boardhouses can to much better than they tell you.  By mistake I moved a capacitor and forgot to run a drc afterwards and then sent for the pcbs.  One track ended up at 3 mil distance from the capacitor pads and one track was going through the pads.

The 3mil distance turned out to be ok on all 20 copies - the one that was going through the ads had to be cut and greenwired :)

[attachment=0]

Re: A development board for Lua programming

Reply #20
I've finally received the PCBs from Smart Prototyping. This time I gave lengthy instructions, and the board and the stencil ended up alright (except the tooling holes in the stencil, which are there but a bit tight, I suspect they might have shrunk all pads on the stencil). Here is a picture of the bare PCB, top and bottom:



I already had the parts, so yesterday evening I soldered a board, but it ended up having lots of solder bridges (a dozen on the MCU alone), so I didn't even bother plugging it (I don't have rework equipment, but I ordered some flux on ebay to try to fix it).

Today I soldered a second one, and it looks much better. Here is a picture:



I just plugged it on my PC while pressing the DFU button and Windows recognized it as a "STM Device in DFU Mode", and properly downloaded the drivers, so I guess it's working alright. Now I have to write some software for it and check if the SDRAM works OK (this is my biggest unknown).

Re: A development board for Lua programming

Reply #21
Quote
I can't find how to measure a signal length with EAGLE
There is length.ulp and length-freq-ri.ulp in eagle. Just click on it while in brd and you will get lengths, max frequencies, resistances, max currents etc listed for all signals routed.
I like your routing - it is an art marvel :)

Quote
the core is a Cortex-M4F (floating point will help running Lua)
Not much help from FPU - it is 32bit only, eLua works with 64bit floating point type (lua default), the mantissa is used for storing integer type (64bit fp is the only type there)..

Re: A development board for Lua programming

Reply #22
I'm interested in buying a board if you plan on selling any (either bare or populated)

Re: A development board for Lua programming

Reply #23
Progress is very slow, I've been distracted quite a lot. But the goal is to distribute the board once it's easy enough to use.

Re: A development board for Lua programming

Reply #24
Very cool project doub! Did your SRAM end up functioning OK? Are you still working towards distributing this?

Re: A development board for Lua programming

Reply #25
Yes, the SRAM ended up working OK. I'm unfortunately not working a lot on this at the moment, I've been quite busy recently. I've met a very though timing related bug involving USB interrupt handlers, so I've had to spend the little time I have for this on improving my debugging environment rather than actual functionality, and I still haven't fixed the problem.

Re: A development board for Lua programming

Reply #26
How does SDRAM work on board? Did You run it at 90 MHz?