The ultimate low-cost dev board

We see a lot of microcontroller dev boards here at Hackaday, so much that we’re jokingly considering changing our name to Board a Day. These devices – from Arduinos to Arduino-compatible boards, very, very small boards, to extremely powerful ARM devices – are a great way to learn about the wonders of controlling electricity with code. There’s a problem, though: if you’re teaching a class on programming microcontrollers, giving each student a $20 board is nearly out of the question.

This is where the shrimp comes in. It’s a very, very minimal Arduino-compatible circuit meant to control all the pins on an ATMega328. The components only cost about £1.40 ($2.25 USD) when bought in volume, making it perfect for teaching a class or workshop on the Arduino and giving each student a circuit to take home.

The basic circuit is just an ATMega328 – the same microcontroller used in the Arduino Uno – with a few caps, resistors, and a 16 MHz crystal. It’s a very bare-bones system, but once built and programmed provides all the functionality of a $25 Arduino.

Like all microcontroller platforms, there’s the chicken-and-egg problem of actually programming the device. The Shrimp team is using a CP2102 USB to UART bridge to program each shrimp. Not an inexpensive part, but it is of course possible to only have one serial bridge for each workshop.


  1. matt says:

    Why not spend $3 For a launchpad? Includes a serial bridge on the board.

  2. Waffles says:

    The shrimp is nothing new. Sure you can build a arduino compatible board on the cheap, but you will still need a $15 usb to serial adapter, or another arduino board to program the thing. You also need a power supply or regulator circuit. However, the more people that know about the cheaper alternatives the better. This is a good idea to make bulk (1000+) boards to teach kids in the class room, just take turns programing. Where can you bulk order ATMega238 (with optiboot i would assume) at the price needed to get this build that cheap?

  3. Jim says:

    So they can take it home but not program it once they get there. Smart.

    • Cefn Hoile says:

      We typically provide each participant a CP2102 USB to UART programmer which costs us around £1.65 in the UK. They are then able to program the £1.40 circuit when they get home.

      However, for schools under extreme cost pressure it’s possible to have fewer UART devices and still provide kids with functioning boards.

      For many projects, once they have been programmed in class, they may be substantially functional at home, for example the Simon Memory Game or Persistence of Vision display, which can operate very well on batteries, after being personalised with text, icons or tunes by the pupil in class.

  4. kay says:

    You can also use a Picaxe micro and skip the crystal.

    • John says:

      You don’t even need the crystal to program the ‘328. The fuses are set to the internal clock by default.

      • Cefn Hoile says:

        We’ve done whatever we can to ensure compatibility with Arduino, official and contributed libraries. This relies on flashing the bootloader and setting some standard fuses to satisfy the expectation of the programming environment.

        It is feasible to override the standard flashing behaviour and set the fuses to use the internal clock, but we’re concerned about timing compatibility assumptions, especially in contributed libraries.

        Additionally, we wanted to ensure it was easy to replicate the configuration we use all around the world. Fuse setting, though well documented, is a somewhat specialist activity.

        It is very easy to purchase ATMEGA328-PU or ATMEGA328P-PU chips which are pre-flashed and pre-fused for Arduino use with a standard 16MHz external crystal, even in small volumes.

        The price of the crystal and pair of caps to satisfy the “Arduino assumptions” is around 9 cents.

      • John says:

        I’ve heard the internal clock isn’t quite accurate enough for serial communications.

      • simcop2387 says:

        As long as you’re not trying to push the serial port to full speed i’ve not had issues doing communication with it. 57600 is the highest i’ve taken it reliably on the internal clock. Though the bigger issue with the internal clock is that keeping acurate time with millis()/delay() is much more difficult since the internal clocks will vary a bit from 8Mhz, so if you need accurate timing of the code you probably won’t have as good of luck with the internal oscillator.

  5. John says:

    Why not only buy the bare microcontrollers and parts and have them breadboard it themselves?

    That would be much more satisfying and it’s a simple enough circuit.

    If the barrier to entry keeps getting lowered, at some point we will hit a wall with people thinking the programming itself is a chore and what then?

    • Chris C. says:

      We already hit that wall. Programming is too scary, so Arduino calls them “sketches” instead.

      Apparently the barrier for teaching isn’t low enough either. I can just imagine this class:

      “Ok, we gotta pass around the programmer. So you each get one turn to program your board. Aww, your program had a bug? Too bad, it’s someone else’s turn. You’ll get to take home the free board and play with it more there, if you buy your own programmer and wait for it to arrive in the mail. Surely you’ll remember how it all works by then, after doing it once.”

    • Cefn Hoile says:

      John, hopefully this reply doesn’t come across as facetious, but your suggestion is exactly what we’re doing at @ShrimpingIt.

      You start with a breadboard layout which entirely mirrors the stripboard layout, and indeed you construct it from bits.

      That’s central to the way we hope pupils will pick up the Maker bug – to get direct exposure to the way people like you would choose to do things for simplicity, flexibility and low cost.

      We definitely need more steer from other Makers’ great ideas so keep them coming.

      And yes, we did get HAD’d. Server offline and working on it.

  6. NewCommentor1283 says:

    while i have to say it is a good board, i also have to say;

    usually a $3250 USD tuition cost covers the measly $250 for a full-featured altera dev board AND the $60 arduino…

    or he is talking about highschools?
    if so, then yes, a 10$ or 20$ board might make or break a deal (vs. a 60$ arduino)

    PS: im TRYing to be neutral

    • Bob says:

      In many European countries, public Schools and Universities are free of charges for students.
      This means you can become an Engineer or a doctor for free. On the other hand, they try to save on everything, just as explained in article above.

  7. Thopter says:

    Did their server get HaD’d? It’s not loading for me.

  8. Extrano says:

    And here I’m currently working on my own DEV board based on the ATMega2560.

  9. FredT says:

    For such a devboard, capacitor and resistor are useless on the Reset line. The board can even be smaller. Also, I don’t see what the diode is doing here also.

    And if you take time to create a new board in arduino software (by modifying board.txt), you can also remove the crystal and its capacitors.

    one AVR and a bunch of capacitors….much better ^_^

    • Eric says:

      What the hell are these capacitors everyone talks about?

      (I know what capacitors are)

      • axodus says:

        it’s the two little components you think you can spare. then you wonder why your micro-controller doesn’t boot at random occasions with no apparent reason.
        the two capacitors are used together with the crystal, as feedback for the mcu internal oscillator.
        without them oscillation will not always stabilize, and the mcu will not get its clock.

  10. Cefn Hoile says:

    Wow, with attention like Hackaday we’re getting more hits than ever before and looks like the server’s predictably fallen over. Wish I’d set up caching beforehand :(

    In the meantime try us at @ShrimpingIt or Google’s text cache. For example you can see the ‘recipe’ page cached at…

    …while I try to bring our cheapo rack server back.

    To answer some of the questions in this comment thread, the aim of the project is to curate a resource for non-specialists to lead them through breadboard and then stripboard Arduino-compatible projects, which not only helps to keep the cost down, but teaches authentic prototyping skills.

    We’re basically attempting to curate others’ knowledge from all over the web, the Arduino forums etc. and we don’t claim to own this idea or circuit in any way.

    Indeed we don’t even have a shop to sell them. Instead we try to list the bill of materials, and the best known suppliers for bulk orders by others who can then follow our pictorial guides (schools are our major collaborators so far). We also run these workshops ourselves.

    The aim is that people following our breadboard/stripboard “experiments” or “kits” are prepared to embark on their own Maker projects. Using a PCB by contrast can tend to disempower people.

    We started with the Shrimp canonical breadboard design for an Arduino Uno compatible, and we’re now teaching workshops with ‘kits’ like POV displays, Simon Memory games, Steady Hand Games, Quiz buttons and other simple projects, with full breadboard and stripboard guides and classroom materials prepared.

    Looking forward to collaborating with others who are interested, just grab us on Twitter @ShrimpingIt.

    Running a number of workshops locally in the UK with local teachers and teenagers if you want to get involved. If we can help you do the same elsewhere in the world, then we’d love to hear from you.

    To the post author, do you think you could provide a link to our Twitter account for now (which links to our webserver), so people aren’t just faced with the dead server at

  11. wulfman says:

    MSP-EXP430G2 – MSP430 LaunchPad Value Line Development kit

    It’s not an arduino but its awesome for $4.30 including shipping

  12. alex says:

    LaunchPad and energia … code composer might scare away the kiddies.

  13. Cyril says:

    Learning uC’s with an Arduino is a BAD idea, kinda the same as learning basic maths with a calculator. If that seems wrong to you, ask a maths teacher why you shouldn’t do that.

    • ericwertz says:

      I’d say that learning *C* with a uC is probably a bad idea, but it’s unclear why your hand-wave justified, given that close to 1M people obviously don’t agree.

      • ericwertz says:

        that is “is justified”.

        And why does HaD keep removing words from my posts…? :(

      • Cyril says:

        I think they’re out to get you… or it could be a new irony filter?

      • steve says:

        I think learning math with a calculator is a bit more like learning C by copying sketches from online. I started with a basic stamp 2 (remember those things?!) in high school and moved on to the arduino later on. Later I moved to python with the firmata library in order to be able to use the I/O pins in a more versatile way then previously. I still do duino projects now and then but like everything, there comes a time when you will outgrow the arduino on it’s own.

    • n0lkk says:

      I can’t agree with the calculator analogy, because as far as I know no one is introduced to printed tables slide rule or electronic calculators on the onset of math instruction. All uprocessor development boards are basically teaching tool to to introduce uprocessor programming, just like paper and pencil are used to introduce students to math and writing. I know of no way to teach programing and see the results of the effort without using advanced tools.

      • Cyril says:

        Sorry if I wasn’t clear, learning basic maths with a calculator is BAD – you skip most of the essential thinking for button pushing. [5318008]
        Really? you couldn’t teach uC programming with a data sheet, text editor, assembler/compiler and terminal program? Bollox! I know you could ;)

  14. n0lkk says:

    Appears that has become over loaded, so unable to view the blog. Would be great if the maker community would devise a way to help mirror projects inexpensively to spread the load, assuming a creator permits it. Those who will be doing the obstruction get to choose get to choose what platform that will be used. Affordability is one criteria is to consider. The instructors’ familiarity of it, and now days online support. Perhaps most important a library of ready to use projects (circuits and code), that the student age group is likely to be interested in duplicating. Here’ to this working out well for Cfin, and his students. I’d go as far to say he may be doing or can do a better job at what the RasPi foundation set out to do. At least in his part of the world anyway.

  15. Eirinn says:


    All you need is a 2 caps and a crystal. The rest is just fancy extras. In reality you should be able to use the built in oscillator.

    I’ve done this for awhile (caps&crystal) and it’s worked without problems. No diodes or a mess of caps all over the place.

    • Cyril says:

      I know right?!? EE’s put all sorts of stuff in all over the place just to make them look clever :)
      What you say is true(ish), but ONLY in low noise circuits/environments ;)

    • cefn says:

      Couldn’t agree more, that the simplest possible circuit is worth people knowing about.

      At @ShrimpingIt we tend to teach this Minimal Shrimp as the first step, when breadboarding a flashing LED, before moving on to a Protected Shrimp which is suitable in more noisy environments.

      It’s really important that learners are exposed to the issues of different designs and the strengths of different configurations, if possible without overwhelming and confusing them.

      That’s one reason for having a clear, incremental, progression through different circuits. See image links below…

      • steve says:

        Personally i’d say that the graduation point between just a bare bones arduino and an actual dev board would at least be to make a legit pcb. pcbs are not really that expensive compared to perf board and you’d save on things like wire. even if it’s etched in the class it would still be a step up from the perf board.

  16. Jimmy the Geek says:

    These are called hackaduinos. I built a bunch a few years ago.

    I prototype on my arduino, and then transfer the curcuit over to one of these. I bought 25 AVR 328 chips and programmed the arduino boot loader on them all.

    The great thing about these boards is all the free space on the perfboards to wire up a bunch of components. Without the need for a second board riding on top they are a much smaller form factor too.

  17. xorpunk says:

    Even better, use a better chip and have students make their own board and build firmware etc..

    None of them cam do things like sample 400Mhz bus anyway..

  18. ornotermes says:

    I made a simple board with USB, granted i got the microcontrollers cheap but it cost me about 6USD/board when i made 10 boards. And it have two buttons, RGB LED and USB (no need for a programmer).

  19. jpnorair says:

    price wars are bad for low volume industries.

  20. steve says:
  21. QW says:

    Why do you need the usb to serial adapter. Just find an old pc with a serial port, hell most new motherboards still have at least a header for serial. Just attach a cable to it and off you go.

  22. Graybeard says:

    You might want to look at the $3.00 Arduino developed by Wolf Paulus (

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,353 other followers