FPGA eink controller

Julien @ hackaday.io build a custom board to control e-ink display. He writes:

The idea is to control an old broken kindle 3 eink display with a FPGA. I started looking at http://essentialscrap.com/eink/waveforms.html and http://spritesmods.com/?art=einkdisplay since eink constructor is so secretive that you can’t find any information. I got some success with a stm32f4 microcontroller but was disapointed by the poor performance (low refresh, black and white only). So I decided to do something better using an FPGA and some memory, I started with the ice40 Olimex board https://www.olimex.com/Products/FPGA/iCE40/iCE40HX1K-EVB/open-source-hardware.

FPGA eink controller – [Link]

Individually addressable incandescent lamps

Michael wrote an article on controlling a bunch of lamps individually with WS2811 drivers and Arduino. [via]

I simply used the same technology as LED strips to allow communication between lamp modules. LED strips have RGB LEDs with an embedded driver chip which uses PWM (pulse width modulation) to control the duty cycle on the red, green, and blue LEDs. This combined LED/chip is called WS2812 or WS2812B. On older LED strips, the driver chip was not embedded into the LED itself, but was a separate chip called WS2811. These standalone driver chips are somewhat obsolete now which means they are cheap! I got 50 of them on eBay for $5.00. Since these modules use the same technology as LED strips, the same code can be used. Adafruit’s NeoPixel library is a very simple way to control LEDs, so we can control each lamp easily. The lamp is controlled by the “blue” pin on the WS2811 so that is the value to set.

Individually addressable incandescent lamps – [Link]

RELATED POSTS

ESP32 Web Server – Arduino IDE

Rui @ randomnerdtutorials.com tipped us with his latest project. He writes:

In this project you’ll create a standalone web server with an ESP32 that can toggle two LEDs using the Arduino IDE programming environment. If you want to learn more about the ESP32 dev board, read my Getting Started Guide with ESP32.

ESP32 Web Server – Arduino IDE – [Link]

Smallest seismic sensor uses vibration spectral analysis

Graham Prophet @ eedesignnewseurope.com discuss about a new small seismic sensor from Omron:

Omron Electronic Components believes it has the world’s smallest class size seismic sensor, specifically designed to trigger the shutdown of potentially hazardous or easily damaged systems in the event of an earthquake.

Smallest seismic sensor uses vibration spectral analysis – [Link]

Simple circuit indicates a low battery

@ edn.com writes:

The Design Idea in Figure 1 indicates a low-battery condition in an audio test instrument that is powered by four AA cells. As the instrument was otherwise an all-discrete design, this same approach seemed more in keeping with the spirit of the project than the use of a single-sourced integrated circuit.

Simple circuit indicates a low battery – [Link]

ESPurna-H, A Compact Open Source Hardware Wireless Power Wall Switch

Controlling your AC loads using wireless power switch is not a new concept. Several commercial products from several vendors can be found on the market such as Xiaomi’s Mi Smart Socket Plug, SAMSUNG’s SmartThings Power Outlet and Sonoff Pow WiFi Switch from ITEAD.

Using ESP8266 makes the building of a customized WiFi power switch more affordable especially if you start with Sonoff Pow WiFi Switch design and you use a special Arduino C firmware called ESPurna developed by Xose (tinkerman) which is an open source firmware for ESP8266 based wireless switches such as Sonoff POW and many others.

After Xose has built the software ــ ESPurna, he decided to build his own smart switch board to meet his special needs. ESPurna-H electronic design is very similar to Sonoff POW’s one; it uses ESP12 module as a controller and as WiFi transceiver.

ESPurna-H
ESPurna-H

AC power monitoring is done using HLW8012 IC which is also present in Sonoff POW. This IC monitors both voltage and current of the AC power, and output RMS voltage, current and active power encoded as a 50% duty cycle square wave where the frequency is proportional to the magnitude. I should mention that ESPurna supports interfacing with HLW8012. In addition AC load is enabled/disabled by using a 10A relay.

ESPurna-H uses HLK-PM01 AC-DC step-down power supply module. The 100-240 VAC input range so the board can be used anywhere in the world and the good performance made Xeos select this module.

HLK-PM01
HLK-PM01
HLK-PM01 Inside (Image Source ــ lygte-info.dk )
HLK-PM01 Inside (Image Source ــ lygte-info.dk )
HLK-PM01 Inside (Image Source ــ lygte-info.dk )
HLK-PM01 Inside (Image Source ــ lygte-info.dk )

ESPurna-H has another option to enable/disable the relay using a capacitive touch switch using TTP223 module.

Xose designed the board with Eagle CAD and released the schematics, PCB layout and other hardware design files on Github.

Source: cnx-software

Exploring Eagle CAD ULPs #5 – Place50.ULP Place All Parts of The Board to The Position in The Schematic

Welcome to the 5th post of the “Exploring Eagle CAD ULPs” series. Each post will be about one  useful ULP in Eagle CAD.

“ULP” User Language Program is a plain text file which is written in a C­-like syntax and can be used to access the EAGLE data structures and to create a wide variety of output files. You can think about it as a plug-in for Eagle.

You can reach the posts published in this series using the following link.

In this post, we will discuss an autoplacer ULP. Normally, Eagle CAD places parts in the board without any considerations to electrical connections, and there isn’t any built-in auto-placing tool in Eagle.

Without the help of ULPs, you will need to do this task manually by moving connected parts near to each other. However, some ULPs can solve this problem ــ manual placement is a time consuming task when the PC can help us !.

Place50 ULP has a simple and smart idea. It’s an autoplacer which places all parts of the board to the position in the schematic. To use this ULP first download it from Autodesk website to run it in schematic. Running this ULP from schematic editor will generate a script file in your home directory. Now open board editor and run the script file “place.scr”.

I made a little edit to the original ULP to make the script file be saved in the same directory of the project rather than the home directory. Download it from here.

ARM Compiler 6 With A Safety Package

Developed by ARM, the latest C/C++ compiler “ARM Compiler 6” had been announced with a safety package in a move to help developers to meet functional safety requirements.

ARM Compiler 6 is based on the modern LLVM framework and Clang technology, in close collaboration with processor and architecture projects to best utilize every new hardware feature. LLVM is a set of open-source components that allow the implementation of optimizing compiler frameworks. Clang is a compiler front end for LLVM, providing support for the C and C++ programming languages.

The ARM Compiler 6 comprises the following components:

  • ARM C, C++, and GNU assembly language compiler, armclang
  • ARM and Thumb assembler, armasm
  • ARM linker, armlink
  • ARM librarian, armar
  • ARM image conversion utility, fromelf
  • supporting libraries.

ARM Compiler enables you to build applications for the ARM family of processors from C, C++, or assembly language source. So, the ARM Compiler toolchain will be a safe option for you, whether you are a semiconductor company or you just like to know that you will be covered on your ARM projects no matter what.

“ARM Compiler is already widely used in functional safety. ARM engineering has built on that expertise and further tuned the compilation toolchain for an increasingly diverse range of safety-related applications across ARM Cortex-A, -R and -M processors.”

Tony Smith, the senior director of marketing with ARM’s Development Solutions Group.

The safety package will include the certificate and related reports from TÜV SÜD confirming that ARM Compiler 6 meets the highest tool qualification levels required by ISO26262, 61508, 62304 and EN50128. This means that you can begin developing safety-related applications with ARM Compiler 6 today, while we get the final safety artifacts ready for you.

10km ESP32 WiFi Using Directional Antenna

[Jeija] was playing with some ESP32s and in true hacker fashion, he wondered how far he could pull them apart and still get data flowing. His video answer to that question covers the Friis equation and has a lot of good examples of using the equation, decibels, and even a practical example that covers about 10km. You can see the video below.

Of course, to get that kind of range you need a directional antenna. To avoid violating regulations that control transmit power, he’s using the antenna on the receiving end. That also means he had to hack the ESP32 WiFi stack to make the device listen only on one side. The hack involves putting the device in promiscuous mode and only monitoring the signals being sent. You can find the code involved on GitHub (complete with a rickrolling application).

Of course, antennas are nothing new–look at all the Pringle can antennas we’ve seen in the past. However, the use of a long range receive-only module is interesting and we can see this technique having applications to remote drone video or telemetry and — of course — wardriving. If you don’t have a big boss antenna lying around, you might try some duct tape. If you want a more detailed refresher on decibels, we did that last month.

Source: Hackaday