Go Down

Topic: Workshopping £1.40 Arduino-Compatible (£3.05 including USB!) (Read 5 times) previous topic - next topic


Jun 25, 2012, 12:27 am Last Edit: Sep 05, 2012, 07:52 pm by cefn Reason: 1
I've been experimenting with a minimal-bill-of-materials USB-connected Arduino Compatible, which currently looks like the attached, (Fritzing diagram off the top of my head, hopefully no errors). We're using Chinese CP2102 boards in the place of the FTDI ones, and ATMEGA328-PUs from Mouser in the place of the full fledged ATMEGA328P-PUs Pico-Power chips. At the moment it looks like we can churn these out for about £3.05 in parts, including built-in USB connectivity.

The configuration seems to work, but I thought others with more experience might be able to warn me in advance of the issues I'm likely to hit when workshopping with people using such a stripped-down board, an alternative USB to TTL and no Picopower.

We have a bunch of official Arduinos which will be used for learning and prototyping, but when people want to build their own circuits and take them away as part of their Shrimped laptops, we'll walk them through a breadboard version of their circuit and then take away the £4 version on stripboard (identically laid out).

For an idea of what a shrimped laptop looks like, take a look at this video of an 11 year old Compaq Presario 700, running Lubuntu, and with some bespoke Python and Arduino code which wires the soundcard through Gstreamer into some HL1606 strips.

The aim is to run workshops where local kids in Morecambe get a freecycle laptop, then shrimp them to something personalised and desirable using linux, recycled bits, toys etc. Then they can take it home and use it as a hacking machine, something like the logic of the Raspberry PI, but using old lappies instead. Hence the importance of low cost for these 'kits'.

Welcome your observations on the Shrimpduino and anything else about the workshopping approach so we're as prepared as we can be for the first ones to be a success.


I would also add a decoupling capacitor (100nF) between pins 7 and 8 (Vcc and Gnd).


Thanks, Florinc.

I missed out the ground wire to the reset button too :(

I've attached a more accurate diagram to reflect your change and the ground wire, with extra information on the resistors, capacitors and resonator and a layout which still leaves room for female headers if people need them for any reason, although you can compress this layout to lose extra lines if necessary in various ways, depending on the physical size of things like the button.


Will you have any connections to 20/21/22, Avcc/Aref/Agnd, to support analog functions, or to use D14-D19?
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.


Also since you're using '328 vs 328P, you will need to adjust boards.txt (I think) for the different signature bytes.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.


Thanks, Crossroads.

I did wonder whether wiring to ARef was an 'override' of the default voltage and whether GND just made its way through the chip internally. For Analog input sketches (which I haven't tried yet with this board) I would have had a nasty surprise.

I'm not sure what you're saying about Arduino D14-19 (which is I think the alter-ego of the Analog pins). Are you saying I can at least use them as digitals without ATMEGA PINs 20/21/22 being connected, or is there an interaction with the Analog reference pins even then?

So far I haven't needed to modify the signature information within the IDE to program these chips. I have seen similar instructions when you need to _flash_ the chips, but once the bootloader's on there (I use Optiloader for this), it seems to behave fairly well just treating it as an Uno. Maybe I will uncover some nastiness later when I start using different parts of the board because the signature's wrong. I'll keep an eye out and I have your instructions to follow up on just in case there are weird results.

Thanks for all the suggestions so far, everyone. Really valuable.

Coding Badly

Will you have any connections to 20/21/22, Avcc/Aref/Agnd, to support analog functions, or to use D14-D19?

AVCC and AGND are required for the processor to function correctly.  I vaguely recall that a bypass capacitor is recommended.  AREF can be left unconnected.


This is how I start every project I do with a '328.
I often leave off the Power LED.
Crystal & caps you're replaced with resonator, that's fine.
0.1uF/100nF cap are essential for Vcc, Avcc, and Aref if you want to use the internal ADC and get good results.

100uF, maybe get by with another 0.1uF if you have power coming in via CP2102 so its fairly clean.
IO, connect up what need.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.


Thanks for the diagram, CrossRoads. Really useful for discussion.

Although the two caps on the power lines look like they're in parallel (equivalent to a larger capacitor), I guess the main thing is that they are near the respective pins, hence they are actually doing a different job.

Is it reasonable to squash them into a single cap, assuming that cap is on the path between the pins and the power source. I'm thinking to just run some lines over the top of the ATMEGA from VCC and GND to connect AVCC and AGND, given that VCC and GND are already 'protected' from source variation by a decoupling capacitor. I'm aiming at the fewer tracks and complexity the better, but don't want to make unacceptable/idiot compromises.

I was a bit confused by the line starting...
"100uF, maybe get by with"
...as I didn't know what part of the circuit it referred to. I wonder if some words went missing on this line when posting.



so whats the point of "shrimping" ones laptop? does the arduino interact with the OS or is it basically just powered from the laptop and used to do fun looking things?

I definately agree with helping kids to learn how to do electrical wizardry, and freecycle is a good place to start for those who are hard up, i wish the had it in Spain,


so whats the point of "shrimping" ones laptop?

Ideally, the laptop's OS is indeed interacting with the Shrimpduino, although some might just use the laptop to do the programming and experimentation to build standalone devices.  Examples of behaviours actively combining the laptop and the arduino which could be fun for different people...

  • Animation using 5 frames of a scanimation with replaceable printouts - a servo moving the transparency an exact amount to create a zero energy display of something - you have mail, days since last checked facebook, tomorrow's weather, an animal motion (Moire animated illusion like http://www.youtube.com/watch?v=Ox6ScYXQU2E)

  • System which skips tracks when you throw something at the laptop, or similar designed interaction (accelerometer + Rhythmbox/MPD)

  • LCD which displays the current score from Court One at wimbledon (a friend of mine is obsessed with this and can't stop checking her phone)

  • Servo-actuated Popup-book mechanisms which trigger, for example, a spider with red LED eyes to leap from behind the screen when someone touches trackpad/keyboard (a donor's kids are threatening to come along and build this one)

  • Proximity detection system which unlocks the laptop when you walk away from it using ultrasonics to judge your presence

  • Keylogger which causes every key typed to be illuminated as a single letter on the back of the laptop [logkeys + HL1606] (using the LED array demonstrated in the video in the first post)

  • Etch-a-sketch dials for painfully-complicated vector authoring in GIMP

  • System requiring you to elevate your heartrate every 2 hours, else locks the desktop

  • Dedicated control for something important to the user, e.g. a flag mechanism for switching between preferred keyboard/interface languages user-sessions of boyfriend vs girlfriend

  • Plenty more...

The ideal thing is that these are ultra-personalised, with behaviours which suit just you, and it's hard to anticipate what these might be until we run the workshops. These are just examples which are variously crazy or experimental. Technology empowerment is the central concept. Make it do what YOU want. Along the way, we want the Laptop to develop a personality and value of its own, beyond its scrap value, by designing behaviours where its CPU speed and memory size are irrelevant to what it's achieving compared to the relevance and expressivity brought to it by the designer/inventor/engineer.

Simply using the laptops as a teaching studio and providing for machines we can loan or gift to learners is relevant where they don't have access to a computer, or at least don't have access to a hackable one, but still want to experiment with coding. This is surprisingly common.

What would you build?


What is the LED device pictured as your avatar?


@cefn, you want two caps, one near each pin. They are only drawn near each other on the schematic for convenience.

C7, the 100uF, 10uF, 1uF cap, whatever, is for filtering the power from the CP2102 module.


You will cut the trace leading to the RST pin and wire the pin to the DTR hole to allow software controlled reset during sketch downloads.

The C3 cap might offer enough power line decoupling to not need  C7, experiment & find out.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.


@florinc, there was a video link in the first post which gives you an idea of what that device is. You guessed it, a Shrimped Laptop (eleven years old)...

CrossRoads, yup, it's time to experiment. Everything seems to work superficially, but we'll find out more and iterate as people build them into their own projects.


For all those watching this thread, (especially following my presentation at Preston Raspberry Jam yesterday), I will be keeping the latest best-known circuit layout up to date following what is learned through experiments and workshopping at the URLs below. Those logged into the forum will be able to see the latest layout at the time of writing as an attachment below this post. Visit the Laptop Shrimping project to keep up to date with laptop scrimping, pimping and general hacking exploits, such as this article just published on the Safari Books blog.

Stripboard layout http://cefn.com/shrimping/Shrimpduino_bb.png
Schematic http://cefn.com/shrimping/Shrimpduino_schem.png
Fritzing file http://cefn.com/shrimping/Shrimpduino.fzz

Go Up