Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Since a long time I have thrived for being able to program something I can take with me - a very small computer like a programmable calculator, gameboy, pocket PC or cellphone. However, I didn't find anything fitting yet!

The thing I'm looking at is the price, because I can't afford to spend too much money on it.

  • What are some cheap portable programmable devices?

All I'd need is support for uploading assembler code from my computer. I don't care about the display, a simple LCD would be sufficient. Same goes for the buttons

I have looked at programmable calculators, portable gaming consoles such as the PSP and more, however didn't find anything that fit :(

share|improve this question

migrated from stackoverflow.com Jan 6 '11 at 17:43

This question came from our site for professional and enthusiast programmers.

closed as not constructive by maple_shaft Feb 19 '13 at 19:37

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
Is there anything in particular you want to do with it? –  Michael Lowman Jan 6 '11 at 17:37
    
I would adapt myself to what the device has to offer. I'd either just play around with numbers, if the device allows it graphics / small retro-style games, and so on –  Ars Jan 6 '11 at 17:41
3  
Why didn't the programmable calculator work for you? –  Barry Brown Jan 6 '11 at 18:21
2  
Grab an old, cheap iPhone/iPod touch. –  LeakyCode Jan 7 '11 at 0:10
    
Wondering same as Barry Brown. In the early 90's on a deployment with the USN I brought a TI-85 and manual, just to have something with me to program on. It links to a PC for up/download, and you can probably find a used one cheap, or a TI-86, or even a newer model might be affordable. Maybe these days a used/cheap tablet would do it. –  Bratch Feb 19 '13 at 18:30

10 Answers 10

If something you can take with you, but not really for using on the move, take a look at Raspberry Pi.

You can use it on the move with a USB power pack designed for giving your cellphone extra battery life, but you'll also need to bring some sort of screen / output device with you, and maybe a USB keyboard or something.

share|improve this answer

I've been in this position. I evaluated a lot of different things, but didn't really find something that suited me. Here are some things I've looked at though and pros/cons

Gameboy Color/Advance

Pros:

  • Fairly cheap
  • The actual programming work isn't too bad
  • Strong community
  • Fairly easy to write graphically intense applications (since it's designed for it

Cons:

  • The hardest part is actually getting a program onto the thing. Persisting it without your computer beside it is even harder
  • Not "officially" supported for creating your own programs
  • Beginning to become archaic

TI-84

Pros:

  • Easy to program using TI-BASIC on-the-go
  • Graphing applications are trivial
  • Easy to load programs from a computer (in assembly or basic)
  • Dependendable and very good battery life
  • Strong community around it due to the proliferation of high schoolers creating games and other time wasters on them

Cons:

  • Really weak hardware. Slow processor, black and white low-res screen, less than 1M of memory
  • Programming it in assembly language is not too easy
  • C compilers doesn't appear to be too popular as a replacement for assembly
  • Rather pricey for such weak hardware (~$100)

Arduino

Pros:

  • Cheap
  • Easy to come by(I think even Radio Shack sells them now)
  • Can interface to just about anything
  • Extremely strong community
  • Extremely low power (if you program it right)
  • C compilers galore!

Cons:

  • No built in screen or input device
  • Program memory is read-only for the most part, making programming on the go nearly impossible
  • Comes as a bare-board. You have to supply a lot to make it something useful
  • Programming it to hook up all of the hardware you need could be daunting depending on component choice
  • Relatively weak as far as hardware. 8 bit micro at 20MHz, less than 1M of RAM/ROM

Raspberry PI

Pros:

  • A strong and growing community
  • Fairly powerful hardware (1080p capable, 512M of RAM)
  • USB support (means you could have wifi support, external HD, etc)
  • Can run Linux and therefore run high level languages like Python or C# with ease
  • Cheap

Cons:

  • Doesn't come with anything. You must supply screen, input device, power supply, even a case.
  • Fairly new device. Community is still growing and finding all of the best practices
  • Kind of hard to get your hands on. Don't expect to get one shipped to your doorstep sooner than a month in advance
  • USB support can be a pain because it doesn't really provide enough power for it. A powered hub is basically required
  • Drivers are still being ported and developed for USB devices (the basics will work, but when you buy a wifi adapter you have to make sure to get the right one, etc)

also, I have seen at least one custom RaspberryPi Laptop. Maybe one day you can just buy a kit (that'd be my choice)

Smartphone/Tablet running Android

Pros:

  • If you don't mind used, can be found fairly cheap
  • Very fragmented, but usually a fair amount of power compared to the other options
  • Wifi connectivity
  • Very large community for developing android apps
  • Trivial to download apps off the internet
  • Many phones can be easily rooted(especially older ones)

Cons:

  • Learning to make apps can have a bit of a learning curve
  • Difficult to program on-the-go
  • Possible, but not extremely common to make apps in something other than Java
  • Most phones don't include a keyboard
  • Most phones don't ship already rooted
  • Usually have to deal with carrier bloatware crippling your battery and being a general annoyance

Not a full list of course, but tried to cover everything I've looked at in the past for this purpose

share|improve this answer

You may have to go retro for something small, portable, and programmable, as the trend today is for small, portable, non-programmable devices.

How about the HP Palmtop computers from the late 1990s? They are programmable and can be hacked to run Linux, too!

Another idea is to buy an older Android phone that someone is getting rid of. You can write apps in Java and install them yourself. No need to get a cell plan; they'll work just fine without cell service.

share|improve this answer

The Zune HD.

"Microsoft's Zune HD will use one of the most powerful chips to go into a portable media player yet: Nvidia's multicore Tegra processor."

Read more: http://news.cnet.com/8301-13924_3-10308833-64.html#ixzz1AHsjsRW3

Recently, it was hacked to allow more programs and features to work...OpenZDK:

http://www.engadget.com/2010/04/16/zune-hd-hacked-openzdk-now-available-to-developers/

Using this hack, the underlying Windows CE operating system and explorer was revealed and can be used...

"That’s about to change. Through the work of myself as well as Netrix, Nurta, and the rest of the ZuneBoards Development Front, all Zune models, including the Zune HD, have been hacked. The first true hack available for the Zune, this makes it possible to, for the first time, run applications directly on top of the Zune firmware, with full access to everything XNA withheld before. The limitations of XNA are now no limitations at all." (from Zune Boards: http://www.zuneboards.com/?p=vB50442)

The OpenZDK wiki: http://zunedevwiki.org/wiki/

share|improve this answer
2  
you can get one around $200 new...or cheaper places such as eBay. They are very high-quality and well made devices, I would recommend one anytime... especially over the iPod touch. –  studiohack Jan 6 '11 at 18:57

I would make sure your next phone runs Android and experiment with that. It's quite easy to develop for - you just have to learn a little Java. All the developer tools are free.

Unlike the iPhone, you can put apps you have written on the web and allow anyone to install them without having to pay to get them in the official market, or get them approved or anything else.

share|improve this answer

I used an Altera FPGA board. You can do many interesting things with the board. There are also a lot of I/O ports like VGA, USB, Ethernet, audio, and PS/2. Specs of the latest Stratix V is very impressive.

share|improve this answer
    
The only problem with the Altera boards is their kludgy NIOS processor system (and "integration" with Eclipse). But I do have to say that it's still better than the AWFUL IDE system Xilinx has to offer. –  Jeff Langemeier Feb 19 '13 at 14:16

I would suggest the Freedom Board from Freescale if you want to have a bunch of stuff on a single board. The nice thing about this is, it can use C, C++, or Assembly, and it's completely self contained. But, if you want to go the route of attaching it an Arduino board it's got the correct expansion headers to be able to do so. It's also as cheap as the Arduino but has a more robust on-chip interface.

I've been using one as a standalone for the last few months and have really enjoyed it. As well, I know my university is moving towards these for their EE 101 class to do an intro to hardware programming and all the soldering business of adding your own expansion headers. Also, these boards will be used by those EE 101 students to build a small vehicle to be used in competitions. I figure, if it's good enough to be used as a teaching device and robust enough to be used in interscholastic competitions that it should be a reasonable board to get someone going with "mobile platform" programming and development.

share|improve this answer

In your position i would buy a cheap Android-Tablet (you can get them for under 100€/$) and then code with AIDE, it's an IDE to develop full Android-Apps on Android devices with Java.

share|improve this answer
    
would you mind explaining about this in more detail - how and why does it answer the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat Feb 19 '13 at 12:46
1  
Added some info about the link... –  Vloxxity Feb 19 '13 at 16:16

The ultimate hobby boards/processors if you are at all interested in embedded development comes from Microchip. In particular, they manufacture PIC controllers. www.microchip.com.

The processors are dirt cheap (many less than $2) but are very powerful. The apps/devices can be as simple and/or complex as your imagination will take you. They have oodles of libraries and specialized chips to add to boards so you can build whatever device you desire. The form factor goes from computer sized boards down to downright small, so a mobile programming device is quite doable.

As a side benefit, many companies use PIC Controllers in their products (even if just for proof of concept/prototypes). So you will gain some expertise that could land you a job. Good embedded developers are hard to find.

share|improve this answer

I don't know if this will fit your purpose, because you mention uploading from a PC to the device, however, one of the most fun and compelling environments I have used fully portably was the Palm family of devices running Quartus Forth.

Written by a former colleague of mine (but having no personal stake in the company myself), Quartus provides a complete on-the-go programming environment on the Palm system. I used to run it on a IIIx quite some time ago, and given Forth's power and expressiveness, it made many things possible even when running fully-hosted on the device with no outside PC support.

You could pick up a Palm device from a local flea market or perhaps Craigslist and live the 90's all over again.

Good Luck

share|improve this answer