Archives de catégorie : MCU-µC

Small, cheap UPS for Raspberry

As you know, if you use Raspberry, the operating system on SdCard is very fragile, that the reason you need to power off properly the system to avoid corrupt files system. This small circuit can help you.

There is no PCB, all component was recycling, coming from old stuff, 10000uf capacitor, 3A diode from computer power supply, the battery from cell phone or old wearable device, except the StepUP converter and the battery charger are from ebay, for 1$ (shipping included).

The main power supply feed the relay coil and the Raspberry through D3, big capacitor is here to avoid voltage drop out, and D3 is here to avoid voltage feedback and latch delay for the relay.
Vcc 5.5v is converted to 6.5v. During this time the TP4056 li-po charge the battery. If main power fail, the relay RL1 turn to initial state, 3.7v from battery can feed MT3608, and keep supply the Raspberry, in my test i can still have Rpi under good power condition during around 10min, so it’s work fine with « short » power failure.

I plan to implement a power management system to power off properly the Raspberry (through GPIO), 10 minutes or more is just enought, may be with a Arduino Nano, or with a simple timer with capacitor and transistor.

My testing conditions was with a Rpi B1, and wifi dongle, with LCD touch screen, the power was +5.5v 2A.


Breadboarding and flashing firmware of ESP8266 ESP-03 SMD

A lot of informations are available about ESP hardware over Internet … sometimes confusing, here is my experience’s about ESP8266 soldering and flashing, especially ESP-03 SMD version, first i use SMD adapters, Futurlec, 14 Pin SSOP Adapter has a perfect match, and are very cheap, the pin of SMD version didn’t match with standard pin header 2.54mm

ESP8266 Continuer la lecture de Breadboarding and flashing firmware of ESP8266 ESP-03 SMD

TinyGPS lib and 4×20 LCD i2c Screen

IMG_8491There is a sketch to display GPS informations from TinyGPS librarie for Arduino, the LCD is a 4×20 characters, wired through a I2C connection.

Before, you need to download and install:

TinyGPS++
Arduino Liquid Crystal I2C (mine use 0x27 I2C adress, in case you don’t know, use a i2c scanner)

(picture on top show the test with a Arduino Pro Mini, LCD 4×20 and EM-406 GPS head, the Lat/Long display is fake for the pictures only)

Burn a Arduino bootloader to a blank Atmega 328 with optiLoader

Optiloader is a sketch designed for bulk upgrading of Arduino board
bootloaders using another Arduino as a device programmer. It stores
multiple copies of the optiboot bootloader in program flash memory. When
run (ie by hitting reset), it probes the target device, figures out the type
of CPU (ATmega8, ATmega168, ATmega328, ATmega328P) and initiates upload of
the bootloader and appropriate fuse programming. Since optiLoader runs
entirely with the Arduino and there is no communications with a host PC
required, this can procede very rapidly, and is not subject to interference
of (for example) avrdude with auto-reset.

The internal copies of the bootloader are prepare manually from the .hex
files compiled in the bootloader directories. (There’s an easy editor macro
process, but it is manual.)

While communication with a host PC is not required, the sketch does send
status information to the serial port at 19200bps.
Continuer la lecture de Burn a Arduino bootloader to a blank Atmega 328 with optiLoader