Dirt-Cheap USB Arduino Hack From The Past

Mass production is a wonderful thing. Prices fall, and hobby hackers get cheap gear. The mind then wanders towards what can be done with it. So it’s little wonder that someone like [Aaron Christophel] would try to repurpose those sub-$3 AVR programmers that are all over eBay (translated poorly out of German here, but demonstrated in the video embedded below).

[Aaron] didn’t have to do much, really. The only trick is that you’ll first need to re-flash the existing ISP firmware with one that lets you upload code to the device itself over USB. If you don’t have an Arduino on hand to re-flash, buy at least two of the cheap programmers — one to program the other ones. Once you’ve done that, you have essentially an Arduino with limited pinout and two onboard LEDs, but in a nice small form-factor and with built-in USB. [Aaron] even provides an Arduino boards.txt file to make it all work smoothly within the IDE.

All of this is done with the very friendly V-USB firmware, which lets you build up low-speed USB devices on the cheap and easy. This would be perfect for making a couple-key keyboard, a USB-USART or USB-SPI bridge, or even a volume control knob — one ADC pin seems to be broken out. With some delicate soldering, the rest of the pins could be brought out and you could do something really useful with this little dongle.

It’s hard to imagine even sourcing all of the parts for the cost of having one of these shipped to your door, and this is a fairly old hack, dating from 2013. We’re a little surprised that we haven’t seen more projects with people repurposing these cheap ISP programmers. Have you made anything with one of these? Let us know.

17 thoughts on “Dirt-Cheap USB Arduino Hack From The Past

  1. “We’re a little surprised that we haven’t seen more projects with people repurposing these cheap ISP programmers”.
    As you said, there’s not much pins to use except if you take the time to break them out. Doesn’t worth it. Or for 3$ you can have one of these dead cheap arduino nano or micro which is very close. The only advantage of this hack is the USB so you can plug it directly.

      1. That’s a topic for an upcoming Embed with Elliot. :) They even have four pins broken out for pogo-pin programming in the factory, which makes them convenient to use.

        Sadly, the STM32F103 has a _tiny_ pin pitch, and is a real test to solder fly-wires too, so you’re stuck with the I/O lines that they used for JTAG.

  2. These days you can get Arduino Pro Mini clones for under $2, so there’s no point in buying these usbasp sticks. I buy Arduino Pro Micro for $3, reflash them with Atmel’s FLIP USB bootloader and use them as regular ATmega32U4 boards, on Mini you get ATmega328. It’s cheaper than the microprocessor bought alone!
    I appreciate the hack though ;)

    1. Also, if you’re into ARM stuff, you can get a stm32f103 boards off ebay or aliexpress with a small form factor and real USB 2.0, for about $3.50. Unfortunately you can’t use one to program another straight out of the box, but you CAN buy cheap st-link programmers off ebay, or a Nucleo board with a programmer off Digikey.

      For development there are some open source options (which I haven’t tried) and also Atollic Truestudio is now free.

      Core: ARM 32 Cortex-M3 CPU.
      72MHz work frequency.
      64K flash memory, 20K SRAM.
      On-board Mini USB interface, you can give the board power supply and USB communication.
      Size:5.3cm x 2.2cm.

      1. Those Stm32 Processors all have a bootloader in ROM. So you just need an USB serial Adapter and set the Boot Pin accordingly. But an can only recommend getting the St link or a cheap Devboard from ST which has it on board. An Otter good and free IDE is Embitz, which is based on Code lockt.

        1. I did both the USB-to-Serial with Boot0, and ST-Link programmer, and they are easy to do.
          I’m more interested in the idea that chinese ST-Link’s are just specially programmed STM32 boards. Black Magic Probe, a debugger (and a programmer) is also a STM32 board, and there is a version of BMP for ebay STM32 boards. But I couldn’t make it to work (a programmer and a debugger for an ARM for less than $4 – what a marvel if it worked).

          BTW STM32 is nicely supported in mbed (even the chinese one work).

          1. The BMP-on-cheap-programmer thing works for me. The only problem is that you don’t get the extra serial port functionality without doing some _very_ fine-pitch soldering, so it’s not really worth it.

            For a few more bucks/euros/zlotty/cowrie shells, you can get a Nucleo board, which has a very nice programmer/serial combo onboard. And you get a snap-off STM32 dev board of your choice tossed in for free. ST must be running a loss on those — you should therefore buy as many as you can afford. :)

          2. Stm32f103c8t6 is not supported officially. I have all required changes to mbed code to enable support for blue pill board but my order did not arrive yet and I can’t run tests to make sure it works. I generally followed what was done in ChibiOS for these boards.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.