ESP8266 Ai-Thinker ESP-12 library for Eagle

Started working on an little ESP8266 project again. This time with an ESP-12 module from Ai-Thinker. Therefor I created an new part in Eagle after the specifications from Ai-Thinker (Technical Specifications).

My purchased module has an slightly different silkscreen as shown in the document. On my module GPIO4 and GPIO5 are swapped and pin EN is labeled CH_PD. That should be checked before using the part.

Library: https://github.com/cronJ/EagleLibrary

ESP-12_on_footprint ESP-12_and_footprint ESP-12_silkscreen

Growing peppers in 2016

So in this year I choose to only grow one type of peppers. It’s a jalapeno pepper. More specific it’s called a early jalapeno. After bloom they should carry green fruits after 60 days and red fruits after 80 days.

In this year I only grow in dirt because I had no time for preparing my drip bucket. But I changed the location of the peppers to a place where they can get more than 6 hours of sunlight. I hope that helps to grow nice bushy plants and not so tall ones like in the last years.

Unfortunatly I have no pictures from growing the seedlings to the current size. But I toke some pictures today after moving the plants in their smart bags.

The plants are now three months old and they are producing the second blooms. The first blooms where cut to allow the plant putting all their energy into growing. Now I have to watch the weather forecast and if we get a cold night I have to take the smart bags into the garage temporarely.

Getting NodeMCU running on an ESP-01 module in 2016

Introduction

I tried to install NodeMCU with the help of my article from january 2015, but had some problems to do so. So I write a new article with a new approach, which works today. I also try to provide all new informations in englisch, because my site statistics say most of my visitors came from EU.

Connection

For the connection we need a serial interface. I use an FTDI UM232R module for this. To define the numbers on the ESP-01 module I use this drawing I created:

ESP-01_PinNumber

  1. GND
  2. UTXD
  3. GPIO2
  4. CH_PD
  5. GPIO0
  6. RST/GPIO16
  7. URXD
  8. VCC

You need at least three signals from your serial interface to the ESP-01 module. The signals are ground, RxD and TxD. The 3.3V supply voltage comes from my programmable power supply. The updated connection list is shown above.

The jumper JP1 on my UM232R module is set between pin 1 and 2 which defines 3.3V for the IOs.

Preparations for flashing NodeMCU

First we need the NodeMCU firmware. In the previous article you could download a pre-build binary from the GIT repository. I didn’t found a pre-build firmware on the repository today, so we have to build our own. Luckily there is an easy online firmware builder: nodemcu-build.com.

You have to enter a real email address, because you get your firmware download links via mail. I choose the master branch for my build and leave the default modules checked for a quick test. Then you have to click the “Start your build” button on the bottom of the page and wait until you got mail. I got two versions in the mail. One is labeled as an integer version and one as a float. For this article I’m using the integer one.

Flashing

To flash the actual firmware I used a tool called nodemcu-flasher. I downloaded the 64bit version.

At this point be sure:

  • you connected your ESP-01 module to your serial interface
  • your module is supplied with a voltage of 3.3V
  • GPIO0 is set to ground and was at ground on power-up
  • CH_PD is set to VCC to enable the module
  • your serial interface is recognized by your OS

Now you can start the nodemcu-flasher. By default it will flash an integrated NodeMCU firmware, which can be outdated. Go to the “Config”-tab to select the new firmware you just created in the step before.

config_tab_default
Default settings
config_tab_own_build
My own firmware

Go to the “Operation”-tab and press the “Flash (F)” button to start the flash operation. The AP MAC and STA MAC should display correct values. If not and the progress bar don’t move, turn your module off and on again to enable flash mode. In flash mode wait until the progress bar is completely filled.

operation_tab_flashing
Firmware is being flashed
operation_tab_flashing_done
Flashing completed

Check your firmware

After flashing we need to check if the firmware is working. Turn off your ESP-01 module and remove GPIO0 from ground then power it on again. Connect with an terminal software to the serial interface which connects to your module. The baud rate has to be 9600.

For testing purpose I connected an red LED and a 470Ohm resistor in series to ground on GPIO2. In your terminal software you set GPIO2 to an output. The GPIO2 has the IO pin defined to 4! Your terminal should show something like this:

Now I enter the following line to set the IO pin to an output:

To switch the LED on I enter:

or:

to turn the LED off.

If you can control the LED with this commands, congratulations, your NodeMCU firmware works.

 

3D-Druck geht in die zweite Runde

Nach dem ich mit dem GRR Neo nun einige Kilogramm Filament verdruckt habe, kann ich für mich sagen, dass sich die Anschaffung eines solchen Werkzeuges gelohnt hat. Ab und zu drucke ich auch mal ein interessantes Teil von Thingiverse, aber hauptsächlich erstelle ich die Teile selbst, das ist schneller als etwas zu suchen (und nicht zu finden) und ich kann die Teile an die Eigenarten meines Druckers anpassen um schöne Endprodukte zu erhalten. Meine benötigten Teile erstelle ich mittlerweile mit Hilfe von OpenSCAD oder Autodesk Fusion 360.

So schön der GRR Neo auch ist, einige Sachen waren für mich nervig. Die Druckbettkalibrierung ist das A und O für einen funktionierenden Druck. Wie die Kalibierung funktioniert, habe ich im letzten Artikel beschrieben. Meistens habe ich aber während dem Druck vom Skirt den Abstand noch feinjustiert damit es passt. Mein Drucker steht mit der Rückseite zur Wand. Dadurch war ein Filamentwechsel immer ein Akt. Das Filament in den Bowdenzug des Extruders zu schieben, welcher sich ebenfalls hinten befindet, liess mich so manches Mal fluchen.

Das waren aber die einzigen beiden Sachen, die mich störten und die letzte war nur Standort bedingt. Ansonsten war ich sehr zufrieden mit dem Drucker. Die ein oder andere Verstopfung des Hotends war jedes Mal relativ leicht zu beseitigen.

Neue Anforderungen

Mit steigendem Interesse an dem Thema 3D-Druck, steigen auch die Anforderungen an das Werkzeug. Testdrucke von Smartphonehüllen für Familienmitglieder zerlegte es beim Überziehen, auf Grund des festen PLA. Flexibles Material steht zum Kauf bereit aber kann von meinem Drucker nicht gedruckt werden. Auche andere Materialien wie ABS, HIPS, Nylon oder Filamente mit Holz-, Kupfer-, Bronzefüllung sind mittlerweile erwerbbar. Ein neuer Drucker sollte die Möglichkeit haben, dies alles drucken zu können.

Ein Drucker der mir direkt einfiel, ist der Lulzbot Mini von Aleph Objects. Dieser verfügt über eine automatische Druckbettkalibrierung. Dafür befinden sich an jeder Ecke des Druckbettes Metallscheiben. Die Düse des Hotends wird automatisch mit Hilfe eines Abstreifers gereinigt. Dann fährt der Drucker die Düse auf die Metallscheiben, wodurch ein Stromkreis durch die metallische Düse geschlossen wird. Die Software berechnet dann die Lage des Druckbetts und korrigiert während dem Druck die Z-Achse entsprechend. Die ganze Prozedur erfolgt vor jedem Druck und läuft komplett autark ab.

Mit diesem Drucker wäre die Kalibrierung kein Thema mehr, aber wie sehen die weiteren Eigenschaften des Druckers aus? Der Druckraum beträgt 152 x 152 x 158 (L x B x H), welcher ungefähr meinem GRR Neo entspricht. Dieser Druckraum war mit immer ausreichend, ich hatte erst zwei Teile die auf einer Seite 150mm lang waren. Der Spulenhalter befindet sich über dem Druckraum und ist somit einfach zu erreichen. Der Lulzbot Mini wird mit einem Vollmetall-Hotend ausgeliefert was bis 300°C aufgeheizt werden kann. Dadurch kann es für viele der neuen Materialien verwendet werden, wie zum Beispiel Nylon (225°C – 270°C Drucktemperatur). Allerdings erfordern diese Materialien auch ein beheiztes Druckbett, welches der Mini ebenfalls besitzt (bis zu 120°C heizbar). Der Extruder sitzt direkt über dem Hotend, was den Filamentwechsel vereinfacht. Der Drucker besitzt nur einen USB-Anschluss, mit Hilfe von OctoPi kann er aber unabhängig von einem PC betrieben werden. Der Lulzbot Mini benötigt 3mm Filamentdurchmesser, wodurch mein 1,75mm PLA Vorrat nicht mit dem Drucker verwendbar ist.

Alles in allem, habe ich mich für den Drucker entschieden und es bis jetzt noch nicht bereut.

Der Neue

Das gute Stück hat die Position seines Vorgängers erhalten.

_DSC5166

Hier wird gerade eine Halterung für den Kofferraum gedruckt. Als Material verwende ich schwarzes HIPS, was eine mattere Oberfläche als PLA hat.

_DSC5169

Nach dem Druck fährt das Druckbett zur Rückseite, wenn es dann die 60°C unterschreitet kommt es nach vorne. Dann kann man das gedruckte Teil leicht vom Druckbett lösen.

_DSC5172

Dieser Oktopus liegt dem Drucker bei. Er wurde zu Kalibrierungszwecken auf diesem Drucker im Werk gedruckt.

_DSC5178

Der Rocktopus liegt als Objekt auf dem mitgelieferten USB-Stick und wird als erster Druck nach Anleitung erzeugt. Dafür liegt dem Drucker ein Meter gelbes HIPS bei. Die Druckeinstellungen sind auf mittlerer Geschwindigkeit.

Fazit hydroponischer Tropftopf 2015

Das Jahr neigt sich dem Ende und meine Pflanzen wurden das letzte Mal geerntet. Dieses Jahr hatte ich verschiedene Chilisorten in Smartpots mit Erde. Allerdings standen sie wieder sehr eng und zusammen gepfercht in einer dunklen Ecke. Die Ausbeute an reifen Früchten war deshalb nicht sehr groß. Meine Paprika im Tropftopf war die erfolgreichste Pflanze in diesem Jahr. Auf den folgenden Bildern ist sie vor der letzten Ernte zu sehen.

Gesamte Pflanze im Gestell

Paprikafrüchte

Tropftopf mit Schaltzeituhr unter Eimer

Änderungen

Da der Topf im Freien stehen sollte, musste ein Überlaufloch in den Topf gebohrt werden. Dadurch wurde gewährleistet, das die Wurzeln nach langem Regen nicht dauerhaft unter Wasser stehen. Da die Wurzeln nur geringen Halt in dem lockeren Blähton finden, fiel die Pflanze bei windigem Wetter fast aus dem Topf. Um dies zu verhindern, wurde das Gestell des Anzuchtgewächshauses als Stütze verwendet. Mit Hilfe von Schnüren wurde die Pflanze ordentlich befestigt. Auch wurden die Früchte tragenden Äste der Pflanze mit Schnüren etwas entlastet um Abknicken zu verhindern.

Fazit

Der Tropftopf ist bis jetzt die Variante, die mir am besten gefällt. Ein Problem trat erst mit größer werdender Pflanze auf. Der Blähtoneinsatz konnte nicht mehr so einfach angehoben werden um den Füllstand zu prüfen. Dadurch kam es des öfteren vor, das die Pumpe fast im Trockenen betrieben wurde. Wenn dies der Fall war, wurde mit Leitungs- oder Regenwasser aufgefüllt um die Pumpe vor einer Beschädigung zu schützen. Dadurch hatte ich irgendwann keine große Kontrolle über die Konzentration der Nährstofflösung. Der Topf sollte also vor der nächsten Verwendung mit einem Füllstandsindikator versehen werden, um rechtzeitig Nährstofflösung nachfüllen zu können. Eine Möglichkeit die vorhandene Nährstofflösung zu messen wäre auch von Vorteil.

Bei der Wahl der Pflanzen werde ich mich komplett von den Paprikas verabschieden. Auch bei den Chilis werde ich keine großen Experimente mehr machen. Die Jalapenos sind für mich die interessanteste Chilisorte, da sie für mich ausreichend Schärfe bieten. Nächstes Jahr werde ich mich also auf diese Sorte konzentrieren.