Showing posts with label avr. Show all posts
Showing posts with label avr. Show all posts

Tuesday, March 14, 2017

Arducam too unstable to be useful

The costly Arducam Mini 5Mpixel camera module.
Warning, read before you buy, I do not recommend it!
After weeks of fighting I came to the conclusion that the Arducam ecosystem is useless, and even counter-productive to me -- while its original goal was obviously the opposite.

These camera are sold to provide pictures to Arduinos and other microcontrollers. The Arduino does not have enough memory, so these boards embeds enough processing power (FPGA?) and on-board memory to bufferize it and allow for serialized data to be stored and then transferred on demand. This way, the Arduino can store on an SD, or send it over GSM as I needed.

Now, the hardware may be nice and promising, but the software is really bad in my opinion.

This is strange to me as the Arducam is a wellknown project, and it is costly: I paid 43€ on watterott for example!

But it did not help me work faster, on the contrary. I really had all kinds of problems with the software, trying to interface both on a Uno or on a Mega.

The examples are half-baked, the API code source and the entire library is bloated with tens of variants of boards (28MB zipped just for the Arduinos!). Even the links to source code examples on some product page are broken. All in all, I consider that this somehow expensive camera is barely usable as it produces way too often invalid JPEG streams.

Friday, July 15, 2016

Tool to program an ATtiny85 AVR in situ in a minimalist configuration (ICSP)

Programming the chip, directly on the PCB (i.e. ICSP), via its shoulders.
Note how the pogo pins compensate for approximate placements!


Retractable pogo pins (top) and
regular 3x2 headers (bottom)

A long time ago, I made this little tool to help me upload code to Attiny85 AVR microcontrollers directly on the PCB (ICSP, i.e. in-circuit serial programming), but without even the need for a connector.

It plugs into regular 6 pin adapters of USB ASP programmers, and it relies on so-called elastic/retractable "pogo pins" to make contact with the DIP8 chip.









Wednesday, January 27, 2016

Review: arduino mega pro mini (aka Meduino)

This is a smaller variant of the Arduino Mega, and it is like what the Pro is to the Uno. It is even smaller than regular Arduino Uno boards, and costs about the same (less connectors, eh). And yes, it has all of what the Mega provides: extra memory & extra pins. And extra stuff to have in stock :)

Ref: check for "meduino" on ebay, or "mega2560 pro mini". There is also the "Mega2560-CORE mini" which needs and FTDI cable (no USB), and which is slightly cheaper. I bought the one below for $16 S&H included, and it took only 9 days from china to FR with tracking, impressive.


The Arduino Mega 2560 Pro Mini (aka Meduino) is a small factor regular Arduino Mega.

Wednesday, December 2, 2015

Rewriting a bare millis() clock on an AVR without the Arduino environment

This is a short stand-alone C source code that I wrote to simulate the Arduino millis() function on an Atmel AVR 328p microcontroller. It is part of a growing collection of AVR routines.


AVR 328p minimalist serial read/write source code

This is a C source code I wrote to do serial read/write on an Atmel AVR 328p microcontroller.
This is the same processor as the Arduino Uno for example. It is part of a growing collection of AVR routines.

And since you can set your own limits, you can use this code in place of the usual Serial class, as the default buffers are quite small and they may overflow if you are not processing them fast enough, or if you are sending too much data at once (eg. file copy/paste). Note that some terminals let you set add a small delay automatically after each line is sent, which is the way to go so as to leave enough time for your program to process the incoming flow.