Open, hackable Freescale i.MX283 based SOC (plug)

somecallmeTim

[H]F Junkie
Joined
May 28, 2001
Messages
9,565
For you embeded folks, thought I would share the latest project from the minds at Crystalfontz. Disclaimer: I work at Crystalfontz ;) --

Okay -- the nuts and bolts is we were developing a system for use in-house using knowledge gained from a previous project. We needed a SOC that had tons of GPIO and quite a bit of code space, as well as internally generated voltages. The result is our CFA-10036. Based on some feedback, we decided to launch a Kickstarter for it:

http://www.kickstarter.com/projects/crystalfontz/cfa-10036-open-hackable-linux-arm-embedded-gpio-mo

Nuts and bolts specs:
• 454MHz Freescale i.MX283 (optionally i.MX287) processor:
• 289-ball BGA 17x17 grid on 0.8mm pitch
• 16-Kbyte instruction cache, 32-Kbyte data cache
• 2x CAN interfaces (i.MX287 only)
• Four synchronous serial ports
• 10/100-Mbps 802.3 Ethernet MAC (1x on i.MX283, 2x on i.MX287)
• USB 2.0 OTG (connected to microUSB AB on CFA-10036)
• USB 2.0 host controller and PHY
• 5x UART plus one dedicated debug UART
• 2x I2C (OLED shares one of these)
• LCD, touch screen, keypad, and rotary encoder support
• RTC with 32KHz crystal (requires continuous power)
• 4x 32-bit timers
• 8x PWM
• 5x 12-bit 428KS/s ADC channels
• 1x 12 bit 2MS/s ADC channel
• In short, all peripherals available on the i.MX28 are available on the CFA-10036 expansion connector except the OTG USB, which is brought out to its own dedicated connector. For details, refer to the Freescale i.MX28 data sheet.
• 128MB (optionally 256MB) DDR2
• MicroSD/microSDHC/microSDXC socket: up to 64GB of nonvolatile storage
• 91 GPIO (i.MX283) or 126 GPIO (i.MX287)
• 6-layer impedance-controlled PCB, gold SODIMM contacts
• On-board micro USB AB connector
• Only a single 5v supply needed (3.3v/1.8v/1.5v supplies internally generated)


It's been a fun project so far, and a bit of departure from the displays that we are so fond of. It *does* come with an OLED :D

Any input / questions welcome!
 
(based on my limited understanding of the raspi)

The raspi is like a PC, that has no case, that is very small. Because it is small, people will embed it in projects.

The CFA-10036 (dont'cha love how that rolls off the tongue?) is intended to be embedded from the very start.

For instance, not many embedded systems have an HDMI monitor in them. They typically have a small TFT. The CFA-10036 can drive a small to medium TFT LCD with very little external hardware (a few resistors, caps and a connector).

So if you are making up a one-off kiosk with a 19" LCD monitor, then the raspi would win. If you are making a hand-held control box for an industrial robot, the CFA-10036 might be a better choice.

I heard one guy say: "So it's kind of like an Arduino on steroids . . . . lots of steroids." If you had an application where an Arduino-like board might work, but you needed more power, memory, and I/O, then the CFA-10036 might be a good choice for you.
 
The raspberry Pi was designed to provide a cheap computer that kids could tinker with without fear of breaking an important computer and without running into the lockdown that PCs in schools have been subjected to by IT departments. It's also proved a popular device for hobbyists to embed due to it's low cost and easilly accessible IO. However the form factor makes it difficult to integrate into compact solutions.

The CFA-10036 seems to be designed to be integrated into moderate volume products and/or products that need a lot of IO. It has less CPU power than a Pi but a lot more IO. It also has a form factor that is more suited to moderate volume production than hobbyist use.
 
You could use it to control any project. We originally designed it to be the controller for an LCD.

If your project needs Ethernet/WiFi connectivity and lots of GPIO then this is a good choice.

You can also use it to talk SPI, I2C, serial and CAN.

The Linux build environment and running on the board is a benefit.
 
Do you mean a low-end like a Cortex M0 ?

We wanted to run Linux and I do not think the M series will handle Linux.
 
Progress!

We've continued to work on the project and created what we call the CFA920 and CFA921 which have a 4.3" or 5" 800x480 TFT display respectively, along with various ports on a bigger board that the CFA10036 connects to.

So - we have the Linux kernal running well, and decided to have some fun with a CFA921:

http://www.youtube.com/watch?v=YaPadeNcboY

It's just the demo for Doom as we borked up the USB keyboard compile (by not paying attention). Should have that going, and next up is Quake. It's running on the i.MX283 (128MB of RAM) - which I think I a better "system" than I played DOOM on back in the day...
 
hah thats awesome

can it drive larger displays?

I need something just like this with a lot of GPIO that can also drive a ultra-wide bar type lcd display, ex 1024x256

do you have any development support?

if I take this to market I could be making several hundred if not thousands
 
hah thats awesome

can it drive larger displays?

I need something just like this with a lot of GPIO that can also drive a ultra-wide bar type lcd display, ex 1024x256

do you have any development support?

if I take this to market I could be making several hundred if not thousands

The largest display we have is the 800 x 480. In theory, it should be able to drive something larger. I think we have some larger displays on the way.

Few more vids of of things "in action":

Mounted on a 10049 motion control board (prototype) driving an M2 printer:

http://www.youtube.com/watch?v=TAGktRIUS3Y

10036 (SOM), mounted on a 10037 (breakout board), driving a 1055 (3.5" 320*480 display):

https://www.youtube.com/watch?v=XTChabIvFqg

We are a Hardware company, which is why we ported Linux to this :). We do support our products - while we don't have the resources to write your code for you or design your circuits, we will be here to help out. Pop on over to the website, we have more parts posted up: http://www.crystalfontz.com/products/index-linux-SOM.html



Heh... sound like I'm a salesman - but I'm not. We actually dont' have any here.
 
would it support odd resolutions? I need to drive a 1024x256 display
 
would it support odd resolutions? I need to drive a 1024x256 display

No reason why it shouldn't.

And 1024 x 256 displays are hard to find... dang. Waiting to hear back from a couple of our partner factories to see what else is available. Found one, but it's a complete "monitor" type set up and not just a bare module, making it much more expensive. The displays we've put on the 10036 thus fare have all be RGB interface - really the only way to clock things with enough speed so you aren't watching the display update.
 
Back
Top