Friday, December 30, 2016

One last hurrah ... ;-)

Happy New Year folks (yes a bit early) hence the title. As I stated in my last blog post, I've been busy trying to get Pete's esp-mqtt-dev to compile under Linux. It's now working and up on my Github account. I discovered my problem was in the Makefile, an extra backslash (\) at the end of a comment that ate the next few lines (which also had the proper backslashes). Once I fixed that the compiler began to complain (properly) about missing typedefs and declarations. I fixed all of those by adding a lot of typedefs (I need to do some work with stdint.h). There were also a lot of warnings and I'll fix them later. Those are a bit more complex and it's in the cross-compile tool and not Pete's software.

So now I need to break out my ESP8266's and get a few running. I think I have some ESP-01s with 4Mb and ESP-12s 32Mb (yes the little b is bits). I also have the WiFi controlled outlets and the Sonoff inline power controllers (which have the 8Mb chips). I'm not sure I can do OTA upgrades with these smaller chips but at least I can play with the devices until I get the 25Q32 flash chips (32Mb) and replace the smaller chips.

The next steps will be to write my own firmware (using Pete's as an example). I think the first device I build should be something like the BlinkM described on Hackaday. I'd like to see if I can build a device that uses a config manager on MQTT to dynamically configure the device (after it's done it's DHCP). I want this to have as little user intervention as possible. For now it's just a proof of concept. I already have a simple node-red based config mgr working. I guess now it's time to step it up a notch or two.

On the Atari 600xl front, the video cheat didn't work, but it also didn't work on the working 800xl. So that means I'll need to populate and upgrade the existing 600xl video design to the Super Video 2.1XL. I'm putting together my parts list (including 2 50464's RAM chips to upgrade the 600xl to 64K). I expect that the next VCF workshop on January 14th & 15th, I'll be able to work on the Atari video, the SIO2Pi Zero and the PiDP8 (yes, I got one!). Definitely looking forward towards spending time with a soldering iron, scopes, schematics and electronic parts. :-)

Wednesday, December 28, 2016

Where did the time go?

At the end of the year I take time to reflect on the last year. It has been a better year than the previous in that my health is better. But at the same time it was a more stressful year at work. On average the time is flying by and I'm having trouble 'stopping to smell the roses'. Let's see if I can't fix that this year.

As the year ends I'm learning more than I could have ever imagined. But I've also learned that keeping up with technology is more difficult than ever it's spreading in every direction and today's hot new thing is tomorrow's 'yesterday's news'. I think technology has a shelf life of about 1.5 years. I'm hoping my Safari Online subscription will be useful there.

On the HA front things are moving pretty fast but also more slowly. The hot new HA toy is Google Home and Amazon's Alexa. Many of us long time DIY'rs are not too thrilled at having the Cloud enter our HA env. But it seems that the voice interface is becoming a standard. I don't see it being the only interface. I don't want to wake up and say Computer, lights. I'm pretty sure my wife doesn't want to be woke up with that either. I do think we'll see a 'Minority Report' type of virtual interface. If only because it seems like it might work (Life imitating Art). I feel that AI and ML are going to be major players in future HA technology.

Back on the hardware (and software or firmware) side of things we have a nice collection of cheap processors to work with. I have my PIC32 processors by Microchip, the Raspberry Pi, there's the AVR's used in the Arduinos and the Espressif ESP8266. The ESP8266 is becoming a very popular board to work with. When paired up with a 4MB (32Mb) serial flash chip and RBoot, OTA firmware upgrades are possible. I don't know about the security issues yet but the ESP8266 is capable of security protocols. Towards that end I've been visiting Scargill's Tech Blog. Pete has been playing with the ESP8266, MQTT, HA, and OTA firmware upgrades. I'm attempting to setup his env right now but not without a lot of effort. I've had to comment out code (lots of unused variables) and other code related problems. At the moment I'm fighting with the linker. Not sure of the issue there yet.

And finally, on the retro front, I'm working on an Atari 600xl that I picked up from EBay. The 800xl is working nicely and should have the SIO2Pi running soon. The 600xl is a bit of a wreck in that it was sitting in a shed for decades. I've opened it up and the motherboard and components look good. I've powered it up and the voltages look good (yea!). I did find the power LED had a snapped leg (???), odd. Now I'm working on figuring out a way to hook it up to one of my monitors (a Commodore 1802 or a video to VGA converter). I forgot the North American 600xl only had NTSC out. The good news is that I have the schematic, did a bunch of searching and I think I can get a simple B&W composite signal out for testing. I know I can add the necessary adjustments to get a good component or S-Video signals out of the 600xl. Once I have the 600xl running I'll burn a couple of new EPROMs with Atari OS and Omnimon XL in it. The vintage (1987) EPROM burner I have should also be resurrected around the same time. Ah, it felt so good to put my electronic skills to work after all these years.

Sunday, December 11, 2016

Plenty of Pi ...

I just picked up my first Raspberry Pi 3 B. My plan is use this for the Alexia software (think Amazon Echo, Dot, or Tap). I still need to pick up a microphone but I will then be able to play with the Alexia, I also want to get my hands on the Google Home (Assistant, like the Echo). My understanding is that the Google Home is more conversational than the Echo. And, yes, I intend to tie it to my home automation.

Back to the Pi's, every time I order something from the various online stores that carry the Pi, I also order a Pi Zero. These are becoming on of my favorite Jelly bean parts (like a PIC Microchip). So far I have various Pi's and Pi like boards. Of course the Pi isn't perfect for every solution. There are times when I need a bit more horsepower, then I'll throw a full size Linux server at the problem. Or going in the other direction, I grab a PIC32 or ESP8266 (with or without the Arduino Env.). These chips are better at handling real-time processing that Linux. Sometimes the solution is to grab a combination. Right tool for the job. :-)

I just spent a year on O'Reilly's Safari Online. I spent the $200/year (lifetime price for a annual subscription). I've put a lot of hours on the site learning more bout Python, Javascript, Node.js and now about Docker. I've taken other course in between but I find this a useful resource for keeping up with technology. That's getting to be a much hard thing to do. It use to be that you'd learn technology and you'd use it for several years. Now you're lucky if it lasts 3. Funny enough I do see a repeat of the same patterns but with different technology.

Tuesday, December 06, 2016


It was a long and draining week at work (actually several months but this week seemed worse). Still playing catch up with schedules. I did manage to work on some of my personal code and I took a bunch of O'Reilly Safari Online classes (node.js, OSCON presentations, Coursera, etc) on my personal time. Then the week culminated with the VCF Festivus Holiday Party at Infoage in Wall Twp. NJ. Lots of folks, plenty to talk about and I spent a little time in the Museum talking about computers with the visitors. It was a nice break.

Mouse was building the PiDP-8/I, a miniature PDP-8/I based on the Raspberry Pi and the SimH emulator. I think it can run OS/8 (and it has a copy of ADVENT AKA Colossal Cave). I'd love to get my hands on one. We'll see if I can order one of the kits.

The rest of the weekend didn't go as well as I'd like. My 20 year old Linux machine's hard drive died (click-click-click). While I had most of the software backed up I couldn't find the start up scripts for tinydns and dnscache (they were custom scripts). So I eventually switched over to dnscache. Then I attempted to use ISC DHCPD and I couldn't get it running in even the most basic setup (dnsmasq was configured not to do DHCP). Understand that my network has a /22 mask and that I have a large number of devices that require special DHCP options. I finally gave up when I couldn't get DHCPD to run on a different machine. I then started working on setting up dnsmasq for DHCP, after a while I figured out about 95% of what I needed. I'll work on the other 5% in the next week. At least my network is up and running properly now. The last thing I need to do is to create set of scripts that allow me to have a second dnsmasq running (probably on a Pi) so if things go south again I can keep the network running.