Loki: A new PSoC based development board

A place to document your own projects.

Loki: A new PSoC based development board

Postby nickjohnson » Mon Nov 26, 2012 4:53 am

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!
Last edited by nickjohnson on Tue Nov 27, 2012 5:31 pm, edited 1 time in total.
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby nickjohnson » Tue Nov 27, 2012 5:59 am

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
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby nickjohnson » Tue Nov 27, 2012 5:32 pm

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
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby katjap » Tue Nov 27, 2012 6:34 pm

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.
katjap
Newbie
Newbie
 
Posts: 22
Joined: Tue Nov 27, 2012 5:53 pm

Re: Loki: A new PSoC based development board

Postby nickjohnson » Tue Nov 27, 2012 6:39 pm

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.
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby hardcore » Tue Nov 27, 2012 6:47 pm

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
hardcore
Jr. Member
Jr. Member
 
Posts: 83
Joined: Sun Sep 26, 2010 1:23 am
Location: Hong Kong

Re: Loki: A new PSoC based development board

Postby nickjohnson » Tue Nov 27, 2012 6:56 pm

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.
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby michael46 » Tue Nov 27, 2012 7:15 pm

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.
michael46
Newbie
Newbie
 
Posts: 6
Joined: Tue May 01, 2012 10:00 pm

Re: Loki: A new PSoC based development board

Postby nickjohnson » Wed Nov 28, 2012 2:32 am

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.
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby matseng » Wed Nov 28, 2012 5:06 am

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... :-)
User avatar
matseng
Hero Member
Hero Member
 
Posts: 876
Joined: Sat Oct 15, 2011 12:29 pm
Location: Kuala Lumpur, Malaysia

Re: Loki: A new PSoC based development board

Postby nickjohnson » Wed Nov 28, 2012 5:13 am

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. ;)
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby matseng » Wed Nov 28, 2012 6:08 am

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 :)
User avatar
matseng
Hero Member
Hero Member
 
Posts: 876
Joined: Sat Oct 15, 2011 12:29 pm
Location: Kuala Lumpur, Malaysia

Re: Loki: A new PSoC based development board

Postby nickjohnson » Wed Nov 28, 2012 6:12 am

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.
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Re: Loki: A new PSoC based development board

Postby kmmankad » Wed Nov 28, 2012 4:02 pm

Good stuff Nickjohnson!

Add proper and well divided ground planes though.
kmmankad
Full Member
Full Member
 
Posts: 109
Joined: Tue Feb 22, 2011 4:10 pm

Re: Loki: A new PSoC based development board

Postby nickjohnson » Wed Nov 28, 2012 4:17 pm

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?
nickjohnson
Sr. Member
Sr. Member
 
Posts: 295
Joined: Mon Nov 26, 2012 4:32 am

Next

Return to Project logs