diff --git a/private_dot_config/i3blocks/battery/README.md b/private_dot_config/i3blocks/battery/README.md
new file mode 100644
index 0000000..5f14bdb
--- /dev/null
+++ b/private_dot_config/i3blocks/battery/README.md
@@ -0,0 +1,20 @@
+# battery
+
+Show battery info.
+
+![](battery.png)
+
+# Dependencies
+
+* `acpi`
+
+# Config
+
+```
+[battery]
+command=$SCRIPT_DIR/battery
+interval=30
+LABEL=BAT
+#LABEL=⚡
+#BAT_NUMBER=0
+```
diff --git a/private_dot_config/i3blocks/battery/battery.png b/private_dot_config/i3blocks/battery/battery.png
new file mode 100644
index 0000000..3bf89ba
--- /dev/null
+++ b/private_dot_config/i3blocks/battery/battery.png
Binary files differ
diff --git a/private_dot_config/i3blocks/battery/executable_battery b/private_dot_config/i3blocks/battery/executable_battery
new file mode 100644
index 0000000..fe64835
--- /dev/null
+++ b/private_dot_config/i3blocks/battery/executable_battery
@@ -0,0 +1,98 @@
+#!/usr/bin/env perl
+#
+# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
+# Copyright 2014 Vivien Didelot <vivien@didelot.org>
+#
+# Slightly modified by Adrià Vilanova
+#
+# Licensed under the terms of the GNU GPL v3, or any later version.
+#
+# This script is meant to use with i3blocks. It parses the output of the "acpi"
+# command (often provided by a package of the same name) to read the status of
+# the battery, and eventually its remaining time (to full charge or discharge).
+#
+# The color will gradually change for a percentage below 85%, and the urgency
+# (exit code 33) is set if there is less that 5% remaining.
+
+use strict;
+use warnings;
+use utf8;
+
+my $acpi;
+my $status;
+my $percent;
+my $ac_adapt;
+my $full_text;
+my $short_text;
+my $bat_number = $ENV{BAT_NUMBER} || 0;
+my $label = $ENV{LABEL} || "";
+
+# read the first line of the "acpi" command output
+open (ACPI, "acpi -b 2>/dev/null| grep 'Battery $bat_number' |") or die;
+$acpi = <ACPI>;
+close(ACPI);
+
+# fail on unexpected output
+if (not defined($acpi)) {
+    # don't print anything to stderr if there is no battery
+    exit(0);
+}
+elsif ($acpi !~ /: ([\w\s]+), (\d+)%/) {
+	die "$acpi\n";
+}
+
+$status = $1;
+$percent = $2;
+$full_text = "$label";
+
+if ($status eq 'Discharging') {
+	$full_text .= '⚡';
+} elsif ($status eq 'Charging') {
+	$full_text .= '🔌';
+} elsif ($status eq 'Unknown') {
+	open (AC_ADAPTER, "acpi -a |") or die;
+	$ac_adapt = <AC_ADAPTER>;
+	close(AC_ADAPTER);
+
+	if ($ac_adapt =~ /: ([\w-]+)/) {
+		$ac_adapt = $1;
+
+		if ($ac_adapt eq 'on-line') {
+			$full_text .= '🔌';
+		} elsif ($ac_adapt eq 'off-line') {
+			$full_text .= '⚡';
+		}
+	}
+}
+
+$full_text .= "$percent%";
+
+$short_text = $full_text;
+
+if ($acpi =~ /(\d\d:\d\d):/) {
+	$full_text .= " ($1)";
+}
+
+# print text
+print "$full_text\n";
+print "$short_text\n";
+
+# consider color and urgent flag only on discharge
+if ($status eq 'Discharging') {
+
+	if ($percent < 20) {
+		print "#FF0000\n";
+	} elsif ($percent < 40) {
+		print "#FFAE00\n";
+	} elsif ($percent < 60) {
+		print "#FFF600\n";
+	} elsif ($percent < 85) {
+		print "#A8FF00\n";
+	}
+
+	if ($percent < 5) {
+		exit(33);
+	}
+}
+
+exit(0);
diff --git a/private_dot_config/i3blocks/battery/i3blocks.conf b/private_dot_config/i3blocks/battery/i3blocks.conf
new file mode 100644
index 0000000..18b3968
--- /dev/null
+++ b/private_dot_config/i3blocks/battery/i3blocks.conf
@@ -0,0 +1,6 @@
+[battery]
+command=$SCRIPT_DIR/battery
+interval=30
+LABEL=BAT
+#LABEL=⚡
+#BAT_NUMBER=0
