KiCad - More complex boards, our experiment with Spartan6 CSG225

Note: For those who likes to get a free PCB please place the order at http://numato.com/freebies for free. Sorry guys, we ran out of free boards.

 

Spartan6 PIC32 FPGA Module

Its been almost a year since we completely switched to KiCad. It was a great experience working with KiCad. No schematic page limits, no board size limits, built in online DRC and what not. The online DRC feature itself making the switch worth because we are completely out the DRC->FIX ERROR->DRC... cycle in Eagle. Yeh, you can mitigate this with Eagle by using properly selected grid size, but still not as useful as online DRC. I must say, learning KiCad and making the switch (not just me, the whole company) was really really worth it. Now looking back, I can find no trace of regret in my mind doing this. If you are thinking about giving KiCad a try, go for it. It will be time well spent, and you'll never regret it (provided you can get past the initial trouble of learning a completely new tool).

Ok, let’s get back to the original subject, our experiment with Spartan6 CSG225. Its been a long time since we designed Elbert, Spartan 3A based FPGA development platform . We sold many hundreds of Elbert boards and it was one of our very successful products. 50K Spartan 3A is an entry level FPGA best suited for small projects and learning purposes. The most frequently asked question by customers was when Numato is going to come up with a larger FPGA for some serious projects. Well, designing Elbert was an easy learning curve for us. But as we go to bigger FPGAs, it can get more difficult. Board design gets complex, more external interfaces, SDRAM et... So we decided to settle on the middle ground with Spartan 6 which is the next level to Spartan 3 series in terms of power and functionality but similar complexity levels. 

After a few rounds of discussion, the product feature set is finalized, Spartan 6 FPGA + PIC32 Micro + SDRAM. We decided to make it in a module form factor rather than a development form factor. This way, we could still make a development board using this module or users can design their own custom boards to use the module.

We put together the schematic and design a 6 layer board using KiCad and Freerouting tool. We could get away with 4 layers if blind/buried vias used. But the PCB house we originally planned to work with didn't support blind/buried vias. PIC32 interface with FPGA was straight forward with no necessity for length matching. At these short trace lengths, it probably wasn't critical that the SDRAM traces are length matched. But out of our peak of paranoia, we went for length matching. As you know, KiCad doesn't support length matching but it will let you export the board to work with Freerouting tool. Freerouting supports length matching but it wasn't easy to figure out how to do it due to lack of documentation (may be documentation existed but we couldn't find it). Anyway we figured out how to do it (May be worth writing a tutorial on this) and once got used to it, length matching was fairly easy. 

Another biggest challenge was finding a FPGA package that we can work with. After searching for a while we came to the conclusion that we are not going to find a part that is non-BGA and fit all our requirements (Gate count, Hardware SDRAM controller etc...). Finally we ended up choosing Spartan6 LX9 which is available only in BGA packages. CSG225 was the only package available with our vendor (Digikey) at that time. So we had to choose 225 ball BGA even though our experience with working BGA was very limited. 

After a couple weeks worth waiting, we received the boards and our hardware folks were able to solder the BGA chip very successfully using a toaster oven and a pair of tweezers with the help of a microscope . To tell you the truth, even I was amazed that they did do it right at the first time. Kudos to the team!!

 

 

We are still playing with the board trying to configure the FPGA and bring up SDRAM interface. We are only partially successful so far so don't know if and when we will start selling this. If anyone wants to get their hands on a bare board, please contact our sales team . They will be more than happy to send you one for free (only limited number of boards available though).

Here are some pictures of the board.

 

 

 

 


 

 

Need more GPIOs ?

No problem, we've got more GPIOs for you. A lot of customers were asking for more GPIOs per board after using the super easy 8 Channel GPIO Module. As always with Numato Lab, no questions go unanswered.We rolled out our next product in the USB GPIO product series with 16 GPIOs on board. The new 16 Channel USB GPIO Module supports the same command set that was available in 8 Channel module. This makes it easy to use existing programs and script with no modification.

16 Channel USB GPIO

16 Channel USB GPIO Module

And the good news just doesn't stop there. We are back to the work shop and started working a new module with 32 GPIOs. Again completely command compatible with 8 and 16 GPIO version, this module will give the user a huge number of IOs to work with on a single USB cable. 32  Channel GPIO module is expected to be available for purachase by mid October.

32 Channel USB GPIO

32 Channel USB GPIO Module (Graphics generated from KiCad)

 

Update:

32 Channle GPIO module is available for purachse now. Here is a picture of the board.

Arduino go arms with ARM

This is probably what all power hungry (I mean processing power, MIPS/MFLOPS not Watts) Arduino fans were waiting for, for a long time. Arduino with a powerful 32bit micro. ChipKit, with its 32bit beefy microcontroller would have been a choice for many. But for some unknown reason, ChipKit didn't seem to be filling the void and gain the trust of Arduino fans. Now your prayers are getting answered, here comes Arduino Due, which is due later this year according to Arduino Blog. Arduino had been a great tool for beginners to start tinkering with microcontrollers without going in to neck deep swamp of technical details. But many advanced users found that performance is limited by the 8 bit micro onboard. RobotGrrl have some nice pictures of developer prototype board at http://robotgrrl.com/blog/2012/05/25/arduino-due-up-close-pics/

Relays going wireless

USB Relay controllers were one the most popular products we ever carried. These boards with built in USB based command line mode, make it easy for everyone to control the relays without even writing a single line of code. There were a lot of customers who were asking Ethernet and wireless version of these modules, so a few weeks ago we started working on the wireless relay module with eight relays, fully isolated with opto couplers and USB. This board can be connected to a PC through USB and can be used just like an 8 Channel USB Relay Module. The onboard radio allows the user to remove the USB and connect an RF dongle and move the board anywhere within 500 ft range. Over the wireless, the command line interface will be exactly the same as USB interface. So there is no need of modifying existing application which were written for USB based modules. Here is a screenshot of the 8 Channel Wireless Relay Controller Design in KiCad.

 

Update: We have received the boards from our PCB house. Those boards were assembled and basic functionality is tested. A photo of the assembled unit is below.

We have posted initial design here.

CPLD Breakout, KiCad and a little inspiration

CPLD breakout board design in KiCad is based on design by Ian Lesnet of Dangerous Prototypes. This board was designed in KiCad in 3-4 hours. It is the first board we ever designed completely in KiCad. The learning curve wasn't that steep. I'll put my KiCad experiences together in a tutorial series soon. This is what prototype board looks like.

 

For those who want to take a look at the design, it can be downloaded here. We have a few PCBs (10-15 ) to give away. Want one? send us a quick message.

Arduino design in KiCad

I sure don't have to introduce Arduino here, it had been in the hackerspace limelight for a long time now. If you ever noticed their hardware design at arduino.cc, all of them are designed in an excellent PCB design software - Eagle. Here at Numato, we had been pondering about drawing schematics and designing hardware with KiCad, another excellent CAD software out there. In fact we designed a few boards and they would arrive in store in a matter of days!

So why do we want to use KiCad after all? There is no short answer, we will write another post about it. Anyway, to learn and experiment with KiCad we chose "The most popular" open hardware design Arduino. Using their design as reference, we put together the schematic and board in KiCad from the scratch. Here is the 3D rendering of the board. As you may notice, some of the components don't have 3D models available and aren't populated on board. But still this image gives a good idea about how the board looks like.

 

This design is not fabricated or tested yet, hopefuliy it may happen in another couple of weeks. Meanwhile take a moment to download and play with the design.

 

Download KiCad Design Files

Syndicate content