The Shrimp circuit is an Arduino Uno substitute with a component cost of around one tenth the price of official Arduino boards. You can hand-make the circuit on breadboard or stripboard, learning about the components as you go, and remix the circuit freely for your needs.
There’s more about the design below. If you like the approach, there’s details of costings and how to source your own components at the recipe page.
Building
Many Makers will be able to use the diagrams below to construct a Shrimp. If you’re in Morecambe, or generally in the UK, we can teach you to build and program your Shrimp at the Shrimping Workshops. If you need any other resources to help you build, let us know.
A number of beginners projects can be built with your Shrimp if you want to get some experience before embarking on your own designs. Examples include a clone of the Simon memory game, a Persistence of Vision display, a set of Quiz buzzers, a Steady Hand Game a Webserver, Bluetooth-controlled, Python-scriptable Robot, a project inspired by Makey Makey and plenty more.
Programming
You can use the well known Arduino IDE software to program the Shrimp (it appears just like an Arduino Uno). This means that all the Arduino projects built by the community can be replicated using the same code and wiring diagram, but with the cheaper Shrimp instead.
Designs
We offer a set of reference designs for this Arduino-compatible microcontroller board, suitable for makers to put together with the minimum of money and skill, to get them started inventing things. The process begins by constructing a minimal Shrimp on a breadboard. This can be immediately programmed using a PC or Mac. If you don’t have a laptop, use one of our studio computers. If you need one, we can loan regular attendees who are in need a laptop for home working.
Adding additional components offers a progressive foundation for users to make prepared kits, or open-ended homebrew projects. Because of the choice of layout, once they have proven the design on a breadboard, transferring to stripboard should be possible without any changes to the circuit, minimising errors.
Background
The Shrimp circuit was designed specifically for workshopping with Morecambe makers, but is already popular and influential in the wider community. Guidance for schools is being actively worked on.
Thanks to Mcqn Ltd, Morecambe Town Council and Madlab we have a number of free Shrimps available to give away to anyone in Morecambe who is in need. For waged participants, a kit of components to make a Shrimp on stripboard is available from Cefn Hoile for £2.
A USB CP2102 module to program the board is available for a returnable deposit of £2. Solderless breadboards for prototyping and testing are available for a returnable deposit of £3. Laptops to learn programming can be made available in workshops and loaned out for projects.
Get in touch if you’re interested in working with us to improve the design, spread the word, or just get making.
- Erratum: this circuit should show a diode connecting from the reset pin to the power pin, in parallel with the 10KiloOhmresistor. The diode is there to handle a very rare failure condition and can normally be omitted.









The images would be improved by showing the connections at the 2102 programmer chip end as the letters on its ports do not exactly match those on the images. There are 5 wires to match up with 7 pins on the 2102 (including one that has to be soldered on).
The following image is most helpful http://www.miconbkk.com/shop/m/miconbkk/img-lib/spd_20120411163027_b.jpg
Here is what I got to work. The pin numbers are counting down the chip along the bottom side
DTR (additional pin) – capacitor before chip pin 1 [brown]
RST – empty
3V3 – empty
5V – chip pin 7 [red]
TXD – chip pin 3 [orange]
RXD – chip pin 2 [yellow]
GND – chip pin 8 [green]
Numerous previous failed attempts did not appear to damage the 328 chip
Hopefully the new diagrams fit your needs better. Thanks for the feedback.
http://shrimping.it/blog/blog/shrimping-workshops/
This link returns a not found
Thanks, Ty. Fixed link now. Was expecting WordPress to maintain its own internal links with consistency after renaming them. Looks like I was overoptimistic. Time to do a crawl for 404s.
http://shrimping.it/blog/need/ returns a Not Found, too.
That’s really weird as it’s there now. Wonder if there was some temporary config messing I was doing. After the Hackaday slashdotting I went through and accelerated the site through a lot of fancy modifications of the server, FastCGI, Object caching, database caching, Apache static redirects etc. but was doing this whilst live so could explain the problems.
[...] to the Arduino project and came across a super cheap (albeit self-made) alternative called “The Shrimp” – which, I figure, would be a much cheaper solution when deploying your invention [...]
Hi folks, very nice work. I ordered stuff for 100 shrimps from mouser and tayda for my grammar school where I’m teaching ICT (Ettelbruck, Luxembourg). Just one question: Why did you include this strange diode between Reset and Vcc?
Thanks,
Alex
Good question. As you can see at The ATMEL support site , the ATMEGA has a special kind of programming mode which the chip can be thrown into by applying a high-voltage (12V) to the Reset pin.
The diode is there to cause any environental voltage spikes coming in over the Reset pin to be shed into the Power pin, preventing the chip from entering this weird mode owing to temporary surges on a floating Reset, which could be hard to diagnose or come back from. If I understand – it would manifest itself as an apparently dead chip as the fuses and program would have been hosed.
Having said all that, I regularly workshop with truly minimal layouts, like http://shrimping.it/blog/shrimp/shrimp_breadboard_minimal/ for a generic layout or http://shrimping.it/shrimp/project/pov/pov.pdf for a project layout, and I haven’t encountered any issues of this kind so far.
The full #Shrimp layout is intended as a reference design which accommodates all the proper paranoid protections, and given the Tayda cost of all these protections is something like $0.15 it doesn’t seem worth eliminating them from the reference design. In practice, however You can get away without them in a lot of cases.
[...] The Shrimp | Shrimping.it via Hack-A-Day [...]
Outstanding, thanks for the hard work. This gives me even more low-cost options than the digispark and ardweeny.
[...] The Shrimp | Shrimping.it via Hack-A-Day [...]
[...] < promach Get flash to fully experience Pearltrees The Shrimp We hope to get more components in volume soon. In the meantime to source your own components, take [...]
[...] Shrimp Arduino Clone — This tiny design is a microcontroller that you can program using the Arduino IDE. In fact, it looks to the system like an Arduino Uno, so many of the projects available for the Arduino will also work on the "Shrimp." Of course, you will have to connect the I/O up as appropriate. All this design covers is the MCU and a USB-to-UART converter. [...]
Where can i get a 10KHz resistor? do you mean an oscillator or a resistor?
Well spotted. Just writing out too many component lists for my own good. Now fixed. Although the schematic is there for reference, hopefully some of the other diagrams are more useful in practice.
Thank you for this article, I was thinking exactly of this shrimp circuit a month ago and I purchased the components I deemed appropriate. Now your article is of a paramount importance with the components on my desk.
Also I would like to know if there is some difference if I use an ATmega8 instead of the 328. I don’t need to do mumbo jumbo robotics, just simple stuff and 8Kb should be enough. I also plan to burn the bootloader with an USBasp I got from ebay, I also have a CP2102.
I think the ATMega8 should be fine, so long as Optiloader has support for putting a suitable bootloader via autodetection, and so long as the correct board is identified within the Arduino IDE when you send programs over. For the 328-based builds we can assume it’s an Arduino Uno since the Uno bootloader gets flashed onto the chip via Optiloader. Check with the Optiloader documentation exactly what bootloader gets flashed onto an ATMega8 and select the corresponding board in the IDE. In the worst case you may need to define your own hardware profile in the config files of the IDE, but I would guess one of the standard boards would do.
I successfully made the circuit work with an ATMega8 (costs 1$ on ebay and I was pretty broke when I ordered my toys) However I first tried programming with AVR Studio because I didn’t know how to use the bootloader. You should also add an LED to D13 (pin 19) in the schematics because the feedback given by the LED when you reset is nice to have and beginners would avoid the confusion that pin 13 in the arduino IDE is not pin 13 on the chip. Also, I tried the CP2102 without a 100nF cap between the reset and if I hadn’t had an LED on PB5 I wouldn’t have understood why I couldn’t upload with my serial adapter.
In addition I would recommend these stickers : http://forums.adafruit.com/viewtopic.php?f=44&t=18957 to all beginners because one doesn’t have to count the pins every time when putting a Shrimp together.
[...] stumbling through the Web Alex found The Shrimp. It’s basically a striped down Arduino with just enough components to [...]
[...] my last post about miniShrimp I talked about TheShrimp and how I want to modify it. I put together some tiny layout in EAGLE. Here are some [...]
[...] Those without their own Arduino hardware will learn how to construct an Arduino compatible Shrimp from a handful of components costing only a few [...]
[...] 75% being complete beginners. The group split into two with beginners building their own Shrimp computers, including building and programming the Persistence of Vision project, which blinked a [...]
SMRCC – South Manchester Radio and Computing Club.
I took part in the Liverpool Howduino workshop November 3rd-4th 2012 and built the shrimp.
Since programmed and used it as a two tone tester for amateur radio,
The shrimp and other Arduino and Raspberry Pi project work wll be on our stand at Blackpool this Sunday 2013: Norbreck Rally – Sunday, April 7th, 2013
If you want to know more about electronic projects in Amateur Radio why not pay us a visit.
Thanks for the update, Ian. Always glad to know how people are using and remixing. If you can figure out how to flash the Arduino bootloader over GPIO SPI and upload Arduino sketches over GPIO Serial, the world will be forever in your debt – the first £1.50 Raspberry Pi breakout
Maybe this is old news, but have you considered using USBaspLoader (http://www.obdev.at/products/vusb/usbasploader.html)?
I’m no expert, but as far as I can understand, once you’ve flashed it to a microcontroller, you can do away with the USB to serial converter and simply use a USB cable.
That sounds extremely cool, and very close to something we could stream into our work. We’re always facing a tension around what we could do locally and in workshops – where we can easily configure the bootloader, available hardware, desktop builds etc. – and what others are likely to be able to do, autonomously, around the world.
It’s for this reason we don’t try to save the $0.09 by using an internal Crystal. Configuring the IDE is an extra, challenging, step for most people.
Following the current build approach, people can easily buy pre-bootloaded ATMEGA chips from many global suppliers, and the cost of the CP2102, unlike the FTDI adapters, is miniscule, though not as cheap as a USB cable it’s true. However, the advantage of programming directly from the Arduino IDE, treating the circuit as an Arduino Uno, is really worth keeping I think.
This is one to track and see whether sourcing pre-bootloaded chips gets easier, or if we can afford to actually ship them to solve that problem for adopters. So far shipping actual kits is something we’ve been avoiding, preferring to divert people to global suppliers.
I’m exploring feasibility of using this approach. Any ideas how we would cheaply and easily provide instructions for users to wire usb cabling direct into a breadboard?
Hello there!
I have used a simple USB female connector, like this one:
http://www.taydaelectronics.com/usb-type-b-female-connector.html (type B, Arduino Duemilanove and Uno compatible)
or this one:
http://www.taydaelectronics.com/usb-type-a-female-connector.html (type A)
Mine were pin-hole compatible, I think these are too but you should probably make sure by asking Tayda. As you can see, at $0.24 for just one (price in dollars, not sure why) they’re extremely cheap.
BTW, once you’ve flashed the chip with USBaspLoader, the [bread]board can be seen as a standard Arduino and programmed directly from the Arduino IDE just by modifying the boards.txt file; see https://metalab.at/wiki/Metaboard.
Hope that helps!
–Giulio
The thing I’m trying to figure out is how to breadboard with USBaspLoader. I think you’re saying the connectors were 2.54mm pitch, but were they solderless-breadboard compatible? I have some of the Tayda A females somewhere. Will dig them out and see whether they’ll push-fit into breadboard.
I have one in my hands at the moment. The pins are definitely breadboard compatible; the only thing is that it’s got those two additional little legs that I you can see in the picture from the link above, which can be simply bent. Once you’ve done that the connector sits happily on a breadboard. Admittedly it’s not as firm as, say, a chip.
[...] it added up to too much code for the 8k Flash memory of the ATtiny85. Instead, I used a low cost Shrimp microcontroller kit that was designed specifically for breadboard / stripboard prototyping and comes as a bag of [...]
Hi there.
Thanks for, The Shrimp.
Seems to work (blink).
Needed to burn the bootloader and succeeded.