Page 1 of 5

Loki: A new PSoC based development board

PostPosted: Mon Nov 26, 2012 4:53 am
by nickjohnson
Loki is an arduino-esque development board I've been working on based on Cypress's underappreciated PSoC series of chips. The PSoCs are novel in that instead of predefined peripherals, each chip has a set of programmable digital logic blocks, as well as analog blocks, that you can configure to do just about anything at runtime - PWMs, counters and timers, serial interfaces, and so forth. The IDE comes with a large set of predefined functions, and you can build your own, too. The PSoC 3 series are based on the 8051 core, while the PSoC 5s are Arm Cortex 3s. Even better, all devices with the same pinout are compatible, so the one Loki board can host any chip in the range.

Image

Loki uses a stackable expansion system much like the Arduino and other develoment systems, but it has a couple of novel features to take advantage of this flexibility, the most significant of which is how it handles the pin conflict issue that plagues most stackable systems. Instead of using through-hole headers, each expansion board ('plank') has surface mount headers top and bottom. A plank takes the first IOs on the header for its own use, then reroutes the remaining ones to the first positions on the output header to fill the gap, completely eliminating the issue of pin conflicts between expansion boards. To make using and configuring this easier, each plank also has an I2C EEPROM containing configuration information, allowing the bootloader to print out a pinout table for any set of connected expansions.

Other features include:

  • 3.3v level signalling
  • High efficiency 5V@1A switching regulator with 6-20V DC input
  • 3.3v@300mA low noise linear regulator for logic power
  • Onboard USB bootloader
  • Programming header allowing you to program and debug the chip directly with a Cypress miniprog3
  • Native full speed USB support on-chip
  • Onboard microSD slot for extra storage
  • NEW: Sick of beige 8049 standard dimensions
  • Open hardware, naturally!

I've finished the first draft of the PCB design, and I could really use feedback on the schematic and layout. Since my account is new, the forum won't let me post links, but you can find higher resolution pictures and the full size schematic at the link above.

Image

Image

I'd also like to create a thriving ecosystem of expansion boards for the Loki, so here's the plan: Design an expansion board that others are likely to find useful, release it under an open hardware license, and I'll get some made at my expense. I'll then send you some of the boards, along with a fully built and tested Loki board, for you to experiment with. In the unlikely event this turns into a project with commercial potential, I'll consult with you on selling your expansion, and split any profits with you. Can't ask fairer than that, eh?

The specifications for designing an expansion board are here. The design files for the main Loki board, as well as an Eagle library with a layout for standard and short planks are all available here.

What expansion boards would you like to see?

How is this different from the freeSoC?

It'll be a lot cheaper - around $35-$40 for the basic model. It also has this nifty stacking header system described above.

How is this different from the eZPSoC3?

The chip used has more pins and thus more IOs available, and it's upwards compatible to the PSoC 5. There's also more onboard, including a switching regulator and uSD card slot. And don't forget the neat stackable header system!

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 5:59 am
by nickjohnson
Updates:

  • Refactored the board to be Sick of Beige 8049 compatible!
  • Moved the USB and power connectors to the right side of the board
  • Shuffled a few other parts around
  • Added images and schematics to the original post

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 5:32 pm
by nickjohnson
I've updated the plank specs and the sample plank, and published it along with an Eagle library file here: https://github.com/arachnid/loki

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 6:34 pm
by katjap
That all looks really neat, except maybe the polyfuse on the usb. They did that on the Pi and i was pretty miffed until i bridged them. Could i encourage you to use a PMIC? You can get them for $0.75 or less in quantities of 1 and they won't make your board randomly unstable when you plug something into usb. Better yet, leave the spot for the polyfuse, but provide a spot for a PMIC as well so the builder can choose. They come in tiny 5 pin SOT packages and wouldn't require you to add any additional components.

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 6:39 pm
by nickjohnson
katjap wrote:That all looks really neat, except maybe the polyfuse on the usb. They did that on the Pi and i was pretty miffed until i bridged them. Could i encourage you to use a PMIC? You can get them for $0.75 or less in quantities of 1 and they won't make your board randomly unstable when you plug something into usb. Better yet, leave the spot for the polyfuse, but provide a spot for a PMIC as well so the builder can choose. They come in tiny 5 pin SOT packages and wouldn't require you to add any additional components.


Thanks for the feedback! Can you recommend one? It looks like I could replace the opamps being used to do power-source selection as well if I used a PMIC, which is perfect.

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 6:47 pm
by hardcore
1. Where possible keep parts at 90 degress to a board edge, it makes placement faster and more accurate.
2. Watch your placement near large items:

R3,R9,C7 there is no need to place them so close to the switch when you have the board space.
C12,C6,C9,C13 too close the the chip.
F1,R2 too close to the USB, consider the heat shadow of the metal USB connector, preventing reflow.


HC

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 6:56 pm
by nickjohnson
hardcore wrote:1. Where possible keep parts at 90 degress to a board edge, it makes placement faster and more accurate.


I largely have - but the MCU routes a lot better at a 45 degree angle, since about 3/4 of the traces have to go to the header at the top.

2. Watch your placement near large items:

R3,R9,C7 there is no need to place them so close to the switch when you have the board space.


Fair enough, I'll adjust that (in the morning)

C12,C6,C9,C13 too close the the chip.


These are decoupling capacitors; they need to be as close as possible.

F1,R2 too close to the USB, consider the heat shadow of the metal USB connector, preventing reflow.


Fair point, I'll see to those too.

Re: Loki: A new PSoC based development board

PostPosted: Tue Nov 27, 2012 7:15 pm
by michael46
This looks really great! That's a lot of unused PCB space though--it would be awesome to add a piezo speaker or DS3234/DS3232 RTC plus battery backup if there's room.

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 2:32 am
by nickjohnson
michael46 wrote:This looks really great! That's a lot of unused PCB space though--it would be awesome to add a piezo speaker or DS3234/DS3232 RTC plus battery backup if there's room.


I picked the form factor because I wanted something that would be a reasonable size for expansion boards, while making it nice and cheap to make the PCBs - which means 50mm or less in height.

It's certainly tempting to add more features given the available space; I'm just worried about blowing my budget! I'm also mostly out of spare GPIOs that aren't routed to the expansion header.

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 5:06 am
by matseng
If I did a project like this I would probably seriously consider using 2.0mm pitch or possibly even 1.27mm pin headers for the board-to-board connectors. The standard old clunky 2.54 pitch is good for being compatible with breadboards, but board interconnects might not need to be breadboard compatible.

Maybe it's time to go to a new era in pitch... :-)

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 5:13 am
by nickjohnson
matseng wrote:If I did a project like this I would probably seriously consider using 2.0mm pitch or possibly even 1.27mm pin headers for the board-to-board connectors. The standard old clunky 2.54 pitch is good for being compatible with breadboards, but board interconnects might not need to be breadboard compatible.

Maybe it's time to go to a new era in pitch... :-)


I did seriously consider this. The 1.0mm pitch Hirose connectors the Smartduino are using are also an option. I ended up going with ordinary 0.1" spaced headers because they're easily and cheaply available, and because with a mixed signal board like this, bigger pitch means wider track spacing and therefore (hopefully!) less interference between channels. Also, the routing for shifting pins between expansion boards is tough enough with roomy connectors like these. ;)

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 6:08 am
by matseng
Valid points... I'm happy to see that there are others that actually thinks about the possibility of not using standard old parts just because "they've always been used".

What track/space are you using on the board now? It looks like 12/12 mil. (I'm too lazy to download the files and check for myself :)

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 6:12 am
by nickjohnson
matseng wrote:Valid points... I'm happy to see that there are others that actually thinks about the possibility of not using standard old parts just because "they've always been used".

What track/space are you using on the board now? It looks like 12/12 mil. (I'm too lazy to download the files and check for myself :)


Around the MCU, it's 6/6 because the pitch of the QFN package is only 0.4mm. As soon as the lines spread out a bit, I switch to 10/10. The rest of the board is mostly 10mil traces, too.

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 4:02 pm
by kmmankad
Good stuff Nickjohnson!

Add proper and well divided ground planes though.

Re: Loki: A new PSoC based development board

PostPosted: Wed Nov 28, 2012 4:17 pm
by nickjohnson
kmmankad wrote:Good stuff Nickjohnson!

Add proper and well divided ground planes though.


The CPU has separate analog and digital ground planes, which join to the main ground plane at only one point. The PSUs likewise. What would you recommend doing differently?