Workshopping £1.40 Arduino-Compatible (£3.05 including USB!)

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.

http://www.ebay.com/itm/USB-2-0-to-TTL-UART-6PIN-CP2102-Module-Serial-Converter-/251092419454?pt=LH_DefaultDomain_0&hash=item3a7646437e

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.

@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

I believe you need Clear to Send (input to the FTDI Basic,and not pulled Hi or Lo on the FTDI Basic board) connected to GND as well, lets th FTDI Basic know the slave device is ready to receive data.
May get erratic operation otherwise if left floating.

Thanks for the heads-up, Crossroads. As mentioned earlier we're using a CP2102 in the place of an FTDI to save on cost. I don't know if the same is true of the CP2102. I'm using FTDI in the Fritzing diagram because the parts editor seems to be so buggy and problematic. At some point I'll have to edit a CP2102 part from scratch to make this diagram more accurate.

Ah, CP2102. Yes, no CTS input there to mess with.

I've updated the design to accommodate for...

  • The fact I can now get 16MHz Crystal and two 22pF Capacitors cheaper than a Ceramic resonator from Tayda Electronics
  • A perceived need for both rapid response and high capacity decoupling leading to 3 decoupling capacitors - from discussion with others, but could be overkill, so any other ideas are useful

The main benefit of this "Shrimp" design is the ease of transfer for those workshopping with 'Arduino compatibles' taking projects from breadboard-with-jumpers, through breadboard-with-length-cut-wires-and-components, to neat stripboard, meaning you can go from tabletop prototyping into something more robust without changing the circuit at all. This is something I hope will help delegates to the workshops.

I'm passing on the parts for these kits (including USB connectivity) for £5 now, which also covers my postage and handling costs. If you were to source these yourself, buying in the largest bulk volumes available, and barring postage costs (which tend to zero when you buy a million), you could make up Arduino-compatible component kits (including USB connectivity) for around £3.50

Get in touch if you're interested in sourcing these component kits for community workshops and I'll look into setting up something via eBay.

Now I need plenty of ideas for 'extension' kits which will be sets of components and code which permit the shrimp to be made into different things, like a "Milton Bradley" Simon game, a toilet-seat-not-down alarm, a Stylophone, and so on. Ideally only a couple of quid for parts for each extension kit. Really keen to see if this can help with the UK's transformation of it's ICT curriculum away from Microsoft and towards actual Programming.

Welcome your feedback.

OK, eventually I noticed the Electrolytic capacitor was in the 'exploding' configuration. I've been post-processing the Fritzing diagrams in Inkscape to make the layouts more palatable, and had re-introduced an error. The Fritzing reference should be right, though.

You should add a diode across the 10K resistor, [edit] Anode Cathode to power and Cathode Anode to Reset, will keep the chip from attempting to go into High Voltage programming mode

Atmel AVR042 AVR Hardware Design Considerations
Section 3.

I've not found the cap to ground to be needed. Likely the DTR cap makes it stable enough.

Also put a 100nF cap from Aref to Gnd, will be needed for stability if one is doing any analog measurements.

CrossRoads:
You should add a diode across the 10K resistor, Anode to power and Cathode to Reset, will keep the chip from attempting to go into High Voltage programming mode

Will any diode do for this job, or is it important to have a specific breakdown voltage? An ESD diode is mentioned, but I gather this is a description of its role rather than a type. I'm wondering about a 5.1V Zener diode wired in the direction you describe. Does that sound sensible? Here's a link to a possible part for the job...

CrossRoads:
I've not found the cap to ground to be needed. Likely the DTR cap makes it stable enough.

Initially I couldn't figure out which cap you found wasn't needed, but looking at the datasheet http://www.atmel.com/images/doc2521.pdf in more detail I can see figure 3.1 with a recommended circuit including the suggested diode and an extra cap. I think you're saying leave out the extra cap from their circuit as it's not needed.

CrossRoads:
Also put a 100nF cap from Aref to Gnd, will be needed for stability if one is doing any analog measurements.

I'll add this one.

I find I'm adding a lot of extras, now. Are there any bits I can sensibly remove from the circuit as it stands for a general purpose Arduino compatible? Especially wondering about the 10microFarad electrostatic from VCC->GND. I'm a bit vague about the circumstances under which it would do me any good, given there are already 100nF caps placed between VCC-GND and AVCC-AGND.

Actually, I got the diode backwards - should be anode to Reset, Cathode to Power. I'll fix my earlier post.
Want any spikes on the Reset line dissipated to the power line.
Diode like 1N4148 will do.

The 10uF Electrolytic (usually aluminum electrolytic) helps with any big current ripples, while the 100nF help with higher frequency stuff and short term current demands.

You don't have any extras to remove. The last diode & cap get you up to the minimum for an Arduino.

CrossRoads:
Actually, I got the diode backwards - should be anode to Reset, Cathode to Power. I'll fix my earlier post.

That makes loads more sense, thankyou. Based on the original description I figured it could only be doing something useful via reverse breakdown.

CrossRoads:
Want any spikes on the Reset line dissipated to the power line.
Diode like 1N4148 will do.

Great, I have all the relevant info to order stuff now.

CrossRoads:
The 10uF Electrolytic (usually aluminum electrolytic) helps with any big current ripples, while the 100nF help with higher frequency stuff and short term current demands.

OK, so I still need both.

Within the workshop I think I'll introduce a functioning (programmable) circuit without all the extra components, (just flashing a LED), then later (and before transfer to stripboard or working with servos etc) introduce all the protective components (caps and diodes) with an explanation of various forms of noise spikes, transient load and ESD which are likely when deploying in the field.

Hopefully then the extra 5 components won't freak people out too much when introduced under the heading of 'protection'. My aim is to have as little 'black magic' in the design as possible - the one perceived weakness of the nice shiny blue boards is that they are beyond novices to interpret and understand, compared to something you've wired yourself :slight_smile:

CrossRoads:
You don't have any extras to remove. The last diode & cap get you up to the minimum for an Arduino.

Hurrah. Time to crack open a celebratory beverage (6pm here in UK).

An update on the Laptop Shrimping project. We now have a URL at http://shrimping.it and Twitter @ShrimpingIt

The #Shrimp design is fairly stable now thanks to many contributions from people who know stuff.

I've personally distributed about 30 kits of parts. Some are taken with a breadboard, some with USB-UART adaptor, and some taken by hobbyists to put onto stripboard at home. However, the most exciting direction is feeding in to the National Curriculum and STEM subjects here in the UK.

Thanks to @teknoteacher for making me realise something like the #Shrimp was needed at Hackademy "Inside the Machine" Hackademy ‘Inside The Machine’- Oct 26th 2011 – teachcomputing.wordpress.com Thanks to @oomlout for early discussions and support and thanks to @tshannon for hosting and supporting Shrimp makers at Howduino. Thanks to @jonachamberlain @patlink72 @iMartyn and his Mum for testing out the first boards and working with me to think of decent expansion kits. Thanks to Mike Cook for all his experimentation with a clone of the MB Games 'Simon'. Thanks to @monsonite and @simonmonk2 for suggestions. Thanks to many many others including those in this thread. Sorry if you've helped I didn't credit you by name but I've had a huge amount of fun and engagement with loads of people.

There's a lot of excitement about being able to actually solder together your own Arduino-compatible. Thanks to Fignition, and @ManchesterBudo for helping me realise how important this is to people - it's now become central to the project.

Essentially, this is developing into a classroom pack which teachers should be able to progressively introduce to pupils, with a single lesson to build the circuit and program it on breadboard, another lesson to prototype established project designs from 'expander' kits (which include some extra sensors and actuators for a specific project), and a final lesson to solder onto stripboard and test on battery. At any point, it is feasible for individuals to take a direction towards their own personal project/invention/game/alarm/joke/toy what have you. We're just offering a kind of template for leading people through this.

All along the way, you're working directly with incredibly cheap components and using the same 'mental model' from the moment you start building your Arduino-compatible, right the way through to prototyping your own project circuitry - one advantage of not using the blue board, at least for education purposes. There's a huge crossover with Design and Technology subjects, and it's loads of fun designing, choosing and packaging glossy buttons, displays etc. even for those who don't want to change the circuit or the program.

Here in Morecambe the rough plan is to make the components for a Shrimp available for £3 at workshops, with a returnable deposit of £2 for the USB-UART adaptor (which you may not need when you've finished building your project), and a returnable deposit of £3 for the breadboard (which you can give up when you've finished prototyping and you've transferred to stripboard, or maybe you found a cheaper breadboard :slight_smile:

Hopefully people will get involved enough that they want to keep both the CP2102 and the Breadboard for further projects, and we can keep giving them packs of £3 components for each new experiment they undertake, with the aim that they actually deploy their experiments, powered by battery or a USB power source (without UART), and don't deconstruct them again as people like me tend to do with Arduino because of owning a limited number of boards.

Anyway, it's been a bit whirlwind. The moment I get any parts, people seem to take them away, so I've bought another load of 100 lots from mouser/tayda/shcfstore (the cheapest places I've found to get the bits so far). The CP2102s could take a while to arrive, unfortunately, but I'll have all the other parts within a week.

We can help you get the parts at a reasonable rate, and with rapid shipping from UK but we are not claiming any ownership of the design, though it's nice to get credit and pingbacks.

If you're interested in following along, getting a kit of parts or contributing to the project, then get in touch @ShrimpingIt http://shrimping.it

Latest developments now mean we can make the components for an Arduino-compatible circuit available to Morecambe hackers for around £1.40 in component costs, or £3.05 including the CP2102 USB to UART adapter.

This is a fairly major development, putting a binary-compatible #Shrimp about one tenth of the cost of a retail Arduino!

I'll change the thread title to reflect this. To find out more, visit Bill of Materials for the Shrimp circuit

That`s incredibly cheap!

You program the AtMega chips yourself?

Nice to see some arduino action from across the Bay! :slight_smile:

I'd like to hear from you if you've actually got the CP2102 module working programming the Arduino, i've got a very similar setup on breadboard at the moment and having nothing but trouble programming it!!

:frowning:

Regards

Matt

I use the one shown here, I`ve modified it for auto-reset.

I have that exact same one, mine set-up in very similar way, just put some headers instead of cutting and rerouting the DTR. Still doesnt work for me thou! :frowning:

Just like Lakes says, you need to use the pin labelled DTR on the CP2102 to wire to the reset pin (pin 1 on the ATMEGA328P). All the CP2102s I've been passing on to people are exactly the same as Lakes, and have a right-angled male pin header manually soldered in place there. This really has to be detailed better on our website, sorry.

There's a picture of a minimal Shrimp on a breadboard which uses a modded CP2102 and matches Lakes' schematic exactly (apart from the LED) in the Shrimping Safari article at http://blog.safaribooksonline.com/2012/07/03/time-traveling-with-old-laptops-and-arduino-compatibles/ It looks like this...

However, there's a bunch of commentary in this forum thread which suggests some additional protective components which should be added for stability if you're trying to make a general purpose Arduino-compatible on a breadboard. The argument is that the components are so cheap that they're not worth trying to eliminate them, which we'd have to agree with, given our bill of materials at Bill of Materials for the Shrimp circuit

We've tried to incorporate all of these insights in the latest layout which looks like this...

Alternatively, if you haven't access to a soldering iron, get the timing really good on hitting the reset button (which you need to wire with a pull-up resistor as per the http://shrimping.it schematic). Hit the reset button just after Compiling and just before Uploading. You have about a microsecond :slight_smile: Seriously, though, it's not that tight. I can generally get it every time.