Porting to an Arduino Pro Mini

Hey guys,

Now that I’ve got an excellent BrewPi fermentation chamber set up I want to mess it up :smile:

Specifically, I’d like to try to miniaturise it by replacing the Arduino Uno with a Pro Mini.

Does anybody know what’s involved? I’ve seen people mention that they’ve done it, but not how. I know I’ll need an FTDI to program it, but will the same HEX file work, or does the code need to be recompiled? It’s got a slower 8Mhz chip - will that cause problems?

Also, as there’s no USB port on the Pro Mini, how can I get it to communicate with the Pi? Ideally I’d like to add an ESP8266 board so they could communicate over WiFi, but I don’t know how practical that is. Has anybody done something similar?

Why not go for the Arduino Nano, which has a USB port, runs at 16 MHz and has the same chip as the UNO?

That makes sense. Does the firmware need to be rebuilt or can I upload the regular HEX file? (I did actually try to upload it to a nano a while back but didn’t have much success).

The firmware has the Arduino type built in, our update script reads that value from serial to determine the protocol.
With an Arduino Nano, you might have more luck uploading via the web interface and selecting ‘Atmega328 based’, then the value that is built in is ignored and I think it should work fine.

Great, I’ll give it a go. Thanks for the help.

I’ve been playing around with this for a few months now. I’ve got brewpi to run on uno’s and 5v minipro’s vi bluetooth and esp8266wifi. But I am having serious problems getting it to run on the 3.3v mini pro’s. I purchased 2 from different sources to reduce the chance of hardware problems. I got a 8MHz version and another 16Mhz version, both Chinese clones. The both program fine via the brewpi web page programmer. read/write/read on AVRdude 100% successful. This works via a ch340 or FTDI usb/serial converter. This is where the problems begin. when the mini pro’s then boot up the brewpi script says please reprogram old/unknown version.
Did some digging and looked at the output on putty. On the uno’s you type L into the serial port and it returns the LCD display data. On the non functioning min pro’s it responds with gibberish that just happens to be the same length of character string, so it does respond to the serial command from brewpi. I assumed that the baud rate was set incorrectly so I tried every baud rate setting. Some baud rates return nothing others just gibberish. Has anyone got any idea’s? I should mention that both of these 3.3V mini pro’s work with blink and serial stuff through Arduino IDE no problem.
Could it be that the bootloaders are too big on these boards??? help!

The baud rate is 57600.
I am not sure whether the 3.3V could be a problem too. You might need a level shifter.
At least the lower voltage will make the OneWire sensors less reliable.

Thanks Elco, I took your previous advise and got a nano. Which I will be using from now on, just for ease of use. It turned out that the 2 mini pros had a non standard boot loader on them and they only seemed to work on serial set to 28,800. Only found this out while playing with another serial comms package that had a bigger range of preset baud rates.

Hi, i wanted to use the teensy 3.1/3.2…Is it possible to use it?
I own a Herms setup whit 2 adjustable gas flames. The Flame is regulated by pwm from the teensy… Thats the tricky part… Is there the code somewhere so i can try to port? Im realy new here, i need to understand first how it works… Does the controler do the work or is it just a remote IO wich communicates to the rpi… In that case it would be easier…

The controller runs all the control algorithms independently.
The Arduino version (0.2.10) will be easier to port I think. But it is end-of-life and outdated. The Spark version is completely different, but it relies on the particle framework and the code size is a lot bigger.

You are on your own on this. I don’t want to have to offer support on non-official hardware. I have enough on my plate already.

I understand. I can try it, but i need the source code, otherways it is not possible for me…