Skip to content


What makes a good developer board?

During FOSDEM 2010 I had discussion with Ulf Samuelsson from Atmel and few other guys about developer boards. What is required on them and what should be avoided. Some time later I had a talk with one person about new OMAP3 based board and what I would like to see on it. So I decided to write something in public.

So far I used mostly ARM developer boards from ST Microelectronics/ST Ericsson, Atmel, Cirrus Logic, Intel, Simple machines, Bug Labs, Texas Instruments. Some were better then others etc. But what ideal developer board should have? Let me try to create a list:

  • 2 serial ports (one can be null modem, second should have RTS/CTS/DTR lines)
  • working Ethernet not placed on USB bus (so it works when USB does not)
  • powered USB host port (more then one would be great)
  • USB device port
  • JTAG connector
  • one power input — +5V or +12V — other should be forbidden as those ones can be taken from PC PSU which can power multiple devices at same time
  • SD/MMC slot — even if it is over slow SPI (like on Sim.One — 250KB/s max)
  • GPIO pins
  • I²C bus
  • SPI bus
  • keypad with Up/Down/Left/Right + Enter at least
  • easily reachable reset button (pins to short are acceptable as micro switch can be put on them)
  • few LEDs controlled by system
  • all connectors put on one or two edges of board — top one + one of side ones are ok (Atmel at91sam9m10-ekes for example)
  • mounting holes (so board can be mounted on A5 sheet holder for presentation at stand)
  • backup battery for RTC
  • U-Boot
  • quite fresh kernel (not NHK-15 due to 2.6.20 kernel which is 3 years old now)

What to avoid:

  • female serial port connectors (Atmel NGW100) — most devs will find 3 null modem cables before straight one
  • flat cables which connect “debug boards” with main board (Openmoko phones, NHK-15 from ST Ericsson)
  • RJ45 connectors for serial console (Sim.One) — DB9 or properly done USB->RS232 adapter on-board are best
  • placing connectors on all edges (BeagleBoard — but it had to be cheap)
  • non standard bootloaders (U-Boot is what I prefer)
  • Ethernet on USB (Bug 2.0) — it is hard to use when you have problems with USB Host
  • jumpers (Atmel boards)
  • non standard connectors (Bug r1.2 and it’s Handylink crap — next versions use iPod connector which is easier to use)

I am trying to not cover should developer board contain display with touchscreen or not as it depends on type of board. But if screen is present then more then QVGA (320×240) would be nice (WVGA anyone?). Some kind of video out connector can also be used but would be nice to have one of VGA/DVI/HDMI so normal PC monitor can be used — Composite video and S-Video require searching for some kind of TV…

Which boards are my favorites? There are few:

  • FriendlyARM with WVGA screen — cheap product which gives access to everything needed to start with embedded Linux
  • Atmel AT91SAM9263-EK — my first own developer board
  • BeagleBoard Cx — has own problems but I like the power of it

Tagged with , , , , , .


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Anon says

    Which FriendlyARM board/display do you recommend: http://www.watterott.com/en/FriendlyARM?

    • Marcin Juszkiewicz says

      I would take Micro2440 – WVGA screen is more usable then QVGA one. Other option is Mini2440 + VGA board but I do not know details of it.

  2. Till says

    I disagree with the preferred rs232 gender. A male db9 being used as console always requires a seperate gender changer, especially with usb-serial cables. Ports that are typically used for console are lkkely to be conneted to a host and thus should have client connectors.

    • Marcin Juszkiewicz says

      This depends on board and use of it I think.

      For those which are used as clients for host female DB9 is more useful as you can plug usb-serial cable directly. This is done that way on BeagleBoard XM.

      But not each board is used that way. Many are used as autonomic systems.



Some HTML is OK

or, reply to this post via trackback.