Blog Index |
---|
It's been a tough, although certainly fun three months competing in the Upcycle It challenge. In this last blog I will present a wrap up of the Upcycled Nixie Display project. First of all I would like to thank Element14 and Intel for organising and sponsoring another great challenge. For a long time I already had the plan to upgrade the nixie counter found on my attic by adding some kind of Arduino board. Due to this challenge my plans came to existence in a SMART way (SMART = Specific, Measurable, Achievable, Responsible and Time-related https://en.wikipedia.org/wiki/SMART_criteria). Particularly the T was really pressing me once and a while with the strict deadline on the fourth of June.
I didn't have any experience before with the Intel Edison. I have a lot of experience with the Raspberry Pi as well as all kind of Arduino boards, but the Edison was new for me. After doing this project I have to say I'm impressed with this little board. Working from the Unix command line, as well as from XDK was rather convenient, flexible and powerful. I definitely will use the Edison in future projects and already I'm thinking of a nice project for the second Edison which together with the Grove board is left over from the challenge kit.
One of the best things that comes with challenges like this one is the enormous amount of help, positive remarks and new ideas popping up from fellow challengers and other Element14 members. Without being complete I would like to express my acknowledgements to a number of people. First of all to Jury members martinkronberg and huzefa_nk from Intel and particularly mcb1. Mark, your positive comments and suggestions were really stimulation, without them my project would not have come that far as it is now. From my fellow challengers I like to mention jasonwier92, Workshopshed, carmelito (our projects should rather nicely complement each other) and konstantinoskonstas. CharlesGantt, thanks a lot for your stimulating weekly summaries. Amongst others I also appreciated the comments and remarks from DAB, dougw and balearicdynamics a lot.
Project summary
The serie of blogs was started with an introduction of the plan. I recently found an old nixie impuls counter on my attic. Currently there is a lot of interest in bringing these nixie tubes to life. Lot's of nixie tube clock kits are available on the market. The plan was to add the Intel Edison to this display, in order to display a six digit number using Intel Edison's wifi connection connected to the internet. An IoT nixie display so to say. The number displayed can be anything, of course it can be the current local time, from a time server, or the local time elsewhere in the world. It can be the temperature and humidity of the closest weather station, or the forecast for tomorrow. It can be the number of visitors of the project webpage, , the position of the ISS space station from space.com, you name it. Read on at the first blog: |
|
In the second post the hardware of the pulse counter was explored. From this investigation I learned that it should not be to difficult to modify the counter, by removing the 7490 TTL counter ICs and replace them with a connection the Edison with some I2C I/O extenders. The power of the unit also should be enough to power the Edison. More information in blog post 2: |
|
In between blog two and three the hardware arrived. Blog number three shows the unboxing video: [Upcycle It] Nixie Display #3 - Unboxing
|
|
After getting the hardware I played around with the Development Board. In post number four I briefly describe my experience. It was not my intention to repeat what others already wrote, instead I focused on the aspects which differ for my situation. Different from the other challengers I used macOS as host system which luckily is well covered by Intel. The Intel Edison Breakout Board Kit is used in my nixie display, but I decided to start with the Intel Edison Kit for Arduino as it was very convenient to experiment with and also gave the possibility to explore the Grove starter kit. Read on at: [Upcycle It] Nixie Display #4 - Got Started with the Intel Edison Development Board on macOS
|
|
In blog five I switched back to the hardware. A circuit and printed circuit board was designed for PCF8574AN, 8 bit I2C I/O extenders. Three small PCBs with header pins wil fit into the 7490 sockets. Connection to the Edison is via I2C. [Upcycle It] Nixie Display #5 - I2C Interface to display drivers
|
|
In the week of blog six I played a lot with the Edison software tools. As I was not completely happy with the Arduino SDK from which I started, I switched to XDK, Node.js and Node-RED: [Upcycle It] Nixie Display #6 - Edison software, XDK, Node.js and Node-RED
|
|
Blog seven is about soldering and testing the Extender PCBs which just arrived earlier that week. [Upcycle It] Nixie Display #7 - Interface PCBs
|
|
In blog eight I first try to add an I2C node to Node-RED in order to control the PCF8574AN IO expander. Unfortunately I lost a lot of time in trying all kind of different options, got stuck in version differences and didn't have much progress. In the mean time I came across Johnny-Five: The JavaScript Robotics & IoT Platform. Luckily this platform brought me again on track, resulting in the nixies being controlled from Node.js, using the I2C protocol. [Upcycle It] Nixie Display #8 - Controlling the nixie tubes
|
|
In blog nine I switched to the other Edison with the Mini Breakout Board and mounted this board inside the display case. This blog has a lot of images, to show the process of putting it all together. Updating and installing the Edison was not a big issue, but then I came at a point that I completely overlooked. The GPIO levels of the Mini Breakout Board are 1.8V, instead of 5V like with the Edison Kit for Arduino and GROVE kit. I ordered a Sparkfun bi-directional level converter with four channels and put it between the Edison board and the I/O extenders. I also made a power connection from the counters power supply to the Edison and made connections to the front button of the counter. [Upcycle It] Nixie Display #9 - Hardware hacking
|
|
Blog ten is mainly about software. Full control of all three I/O extenders is implemented, furthermore display of date and time, as wel as weather information from the OpenWeatherMap service on the internet. Also a simple user interface is implemented using the button on the front of the counter. With the button it is now possible to get information on the current display function or selecting a different function. Also configuration data is moved from the source code to the settings.json file. [Upcycle It] Nixie Display #10 - Software stuff
|
|
In the application I promised to display some arbitrary information, for which no API or protocol is available. The technology to do this is called Web Scraping. With this technology you can extract whatever you can find on the internet and show it on the display. As an example I've chosen to display the number of views and likes of my most recent blog post in this challenge. [Upcycle It] Nixie Display #11 - Display blog views and likes
|
|
Numbers are numbers, how do you know what the numbers on the display present? I already implemented a simple menu using the front button, but as a bonus to the project, in blog twelve I made the display speak. An important goal of my project was to keep the display as original as possible. Therefore I didn't like to add a loudspeaker, or even a connector to add one. In stead I decided to connect a wireless speaker over bluetooth. Using espeak and pulseaudio the display now speaks the current function after pressing the button. Follow the link below for a full description and a video where you can listen to my talking display. |
Github repositories
Content |
Link |
---|---|
Repository for PCB design | https://github.com/AgriVision/Nixie_Edison |
Repository for Edison software | https://github.com/AgriVision/nixie_display |
Future plans
There is one thing I still want to add to the project. It is true that I can display whatever number I find on the internet using Web Scraping as described in blog 11. Nevertheless I prefer to have a more convenient method and I'm thinking about setting up a dash-board, from which I can select the display function or enter just a number to display from my smartphone. This way the display can be used interactively, for instance to display the number of points when my kids play a tennis match. I have looked into https://mydevices.com/, where other challengers also have good experience with. I will investigate in this later.
Top Comments