Back in January I tested running a modified Gameduino2 based library on an ESP8266 and FT81x graphics chip. There is no reason to use that modified library anymore because James Bowman has now released the new Gameduino3 on kickstarter. The library now officially supports esp8266 and FT81x chips.
I want my weatherstation to be connected wirelessly to internet to fetch weather data, time info, symbols etc. One of the cheapest option these days is to use a ESP8266. Originally I planned to use it only as a serial wifi device for Arduino. Moving small abouts of (structured) data such as forecast, time etc. from ESP8266 to Arduino is easy. But what about images? It seems to be easy to download images using ESP8266, such as Daniel Eichhorn have done in his ESP8266 Weather Station Color. But how to transfer images from 8622 to the Arduino? Common external flash or SDcard ? Serial ? I really don’t know. So, what if I can use the ESP8266 for everything and just ditch the Arduino? After all, the ESP8266 is a capable processor.
In my search for humidity sensors I found a nice overview at kandrsmith where the following devices are tested:
- Bosch Sensortec BME280
- Measurement Specialties HTU21D
- Silicon Labs Si7021
- Aosong DHT11, DHT22, AM2302, AM2320, AM2321
The test has main focus on humidity, but also discusses other aspects of the various devices.
First time I saw the graphics capabilities of FT800 was on the Gameduino2. From then I’ve wondered if FT800 could be used as graphics controller in my weatherstation project.
Due to limited resolution it could only be used for LCDs up to 5″. Since then, the FT81x series of controllers have been released. They support higher resolutions and allows for typical 7″ displays. In the meantime I’ve also experimented with capacitive touch panels. I find them so much better that the resistive ones.
Some months ago I bought a $8 standalone 7″ capacitive multitouch panel from BuyDisplay (7 inch Capacitive Touch Panel with Controller FT5316 for 800×480). I’ve now had time to test it out. My theory was that I could reuse library code I already had for a previous 7″ display project even though the controller is not exactly the same. In fact, it worked without any modifications. Code is as usual on github.
I now have the possibility to add capacitive multitouch capabilities on any 7″ LCD display I chose. One example is shown in arduino-with-7-800×480-capacitive-touch-display-and-gameduino2-library.
ESP8266 brought an inexpensive way to include Wifi in small DIY projects. Later SeeedStudio has released Linkit Smart 7688/7681 based on MediaTek chips.The MediaTek LinkIt Smart 7688 development platform consists of a Linux Wi-Fi SOC with the OpenWrt Linux distribution. Scargill’s Tech Blog has taken a look. Always good to have a few alternatives. The basic module starts at $5.
Also take a look at the MediaTek 7866 Developers Guide
I’ve really liked the FT80x series of graphics chips, also called EVE. My main concern was that they only supported up to 512×512 pixels. That limitation prevented me from using it for 7″ displays. However, a few weeks ago the released a new generation consisting of four different versions: FT810, FT811, FT812 and FT813 ICs Among several updated features, they now support up to 800×600 pixels. Perfect match for 7″ displays. You can read more about it in the Press release.
I really want to take a closer look at this chip.
Some months ago I wrote about getting a 7″ capacitive touch LCD up’n running with Arduino. Since that time I’ve investigated 5″ displays with capacitive touch. There are some, such as the NHD-5.0-800480TF-ATXL#-CTP from Newhaven which uses the FT5306 capacitive touch controller. That one is interesting because I already have touch driver for the FT5x06 series. However, it costs $70.
A much cheaper alternative is i.e. the RA8875 based 5″ from BuyDisplay. It costs $35. Half the price. You can also buy separate touch panel to put on your own display for $8.50. The problem is that they use a Silead GSL1680 touch controller which is a bit tricky when it comes to writing drivers for it. Among other things it requires special firmware to work. I just gave up on it. That was until Tomek started the Has-anyone-tried-running-the-GSL16880-capacitive-touchscreen-controller-with-Teensy3 thread over at PJRC(Teensy) forum. January 14th, wolfmanjm got the buydisplay GSL1680 based board up’n running with a STM32L100 discovery board. He posted a video on youtube. After that it was tested on Teensy, and finally CosR1 managed to get it up’n running on an XMEGA AVR.
I’ve had my concerns regarding connecting questionable home-made electronics to my PC through the USB port. How easy is it to kill the port ? I really don’t know. But it was one of the reasons why I wanted to isolate my prototypes from the PC. Another reason was to avoid noise problems while performing high precision measurements.
There might be other solutions out there but I quickly found a PCB created by Tom Keddie and available on Tindie. It’s a design based on ADUM3160. According to the datasheet “The ADuM3160 is a USB port isolator, based on Analog Devices, Inc., iCoupler® technology. Combining high speed CMOS and monolithic air core transformer technology, this isolation component provides outstanding performance characteristics and is easily integrated with low and full speed USB-compatible peripheral devices.“. It has an insulation rating of 2.5 kVrms and data speed rate of 1.5 Mbps to 12 Mbps.