OpenBeacon Mini

OpenBeacon Mini Firmware Coding Proceeds

A brief update to let you know how things are going. I’ve got a long checklist of things to implement in the OpenBeacon Mini firmware, and much of it I can leverage from my old OpenBeacon 2 firmware (although quite a bit of that needs to be refactored and updated). However, one bit that I never implemented properly in OpenBeacon 2 was a menu system, so I decided to tackle that one first, since it will need to be written from scratch.

That’s what I’m working on at the moment. No Twitch stream for today, as I don’t think this would be very interesting to watch as I stumble around trying to figure out a good way to do this in C++. I’ve created a menu class, and I’m working out all of the details and debugging on the desktop PC, so that I can then transfer it to the Arduino environment once it seems to be working correctly. I think it should have that up and running by the end of the day, and that I’ll have another Twitch stream within a few days once I can get back to code that I’m a little more adept at writing.

Arduino, Etherkit, OpenBeacon Mini

A New Arduino Library Appears!

Since I’m waiting for circuit boards for OpenBeacon Mini to arrive, I want to keep the waiting time as productive as possible, so I’ve been working on the firmware. Specifically, one of my recent goals was to factor all of the modulation code out of the spaghetti mess that is the current state of the OpenBeacon 2 firmware (which is my starting point for OpenBeacon Mini).

In that vein, today I managed to finish up work on release v1.0.0 of the Etherkit Morse Arduino library. The majority of the coding work was done during my last few Twitch livestreams, so other than tweaking and cleaning up the code, most of the work today consisted of creating documentation and getting the repository in shape to be a proper Arduino library.

The way that this library functions is quite simple. Since timing in Morse code sending is critical, the end user of the library is required to provide a function that calls the library’s update method every one millisecond. This type of interface was chosen so that the library can be platform agnostic (since Arduinos come with different microcontrollers which have totally different timer functions). An transmit output pin and speed in words per minute is specified when the class in instantiated, and then all you have to do is call the class’s send method to send Morse code on the digital output pin. Alternately, you can have your sketch poll the class’s tx variable and act on it accordingly. Pretty easy stuff.

I’ve put in a request for the library to be included in the official Arduino Library Manager, so if you want to give it a try, wait a day or so for it to be listed there. If you really can’t wait, there are instructions in the README about how to manually install it. Hopefully you find it useful, and as always, please file your bug reports and suggestions for improvements as an issue on GitHub. Thanks!

Etherkit, OpenBeacon Mini

OpenBeacon Mini Proto PCBs On The Way

If you watched my previous Twitch stream, you may have seen that I completed the layout of the first PCB spin of OpenBeacon Mini. Today I ordered the PCBs from DirtyPCBs, along with boards for my low-pass filter module, and more Empyrean boards in anticipation of wider beta testing soon.

I wanted to get these boards to the fab before we started to run into the wall of Chinese New Year (which I seem to do nearly every year). I think I’ve ordered them plenty early, and even paid a bit extra for express shipping, so hopefully they’ll be in-hand around the beginning of February.

In the mean time, I’ll be working on some more coding for the OpenBeacon Mini on my Twitch stream and some other ancillary stuff while I’m waiting for the boards to arrive. Stay tuned for further news on this blog.

Empyrean, Etherkit

OpenBeacon Mini Proto PCB Layout Complete

I managed to finish the layout of the OpenBeacon Mini prototype PCB in KiCad this evening while livestreaming on Twitch. A 3D rendering from KiCad is above. It looks about how I sketched it out and wasn’t too nasty to route, so I got that going for me. So I’ll get on order off to the PCB fab soon. I’d like to get some PCBs completed before Chinese New Year, so I can’t delay very long.

While I’m waiting for my PCBs to be manufactured, there’s still plenty to do. Twitch streaming is kind of nerve-wracking for me yet kind of fun, so I plan to do more. I have a little more gear on the way that will allow me to also Twitch stream from my workbench, so that you can spy over my shoulder there as well. I even have a USB webcam for my microscope so I’ll be able to connect that to Twitch for your viewing pleasure. Stop by sometime on the livestream and chat me up.

Etherkit, Twitch

Twitch Success

I’m happy to report that I managed to pull off my first Twitch stream today, and even got a handful of viewers. There were some initial problems, as I was trying to stream at 1080p, but my wifi connection from my office just couldn’t give enough bandwidth for that to work. After restarting with the stream set to 720p, people were actually able to see my stream. Today’s work was on OpenBeacon Mini. I assigned footprints to the netlist and made a first pass layout of the PCB. I do intend to stream again soon, perhaps even tomorrow. Hopefully I’ll be able to finish the PCB layout on the next session.

Find my Twitch channel here and be sure to follow me in order to get notifications, thanks!


Computers and the Imagination

This week’s fortunate Goodwill find was a hardcover copy of Clifford Pickover’s Computers and the Imagination (1991), a fine bit of nostalgia for me. Pickover is a prolific author of computing and mathematical books, as you can see from his Wikipedia entry. This was a particularly nice find for me because I used to devour Pickover’s books and other similar ones from the public library in the early 90s, when I was in high school.

Computers and the Imagination is an eclectic take on computer imaging, fractals, mathematics, and some more esoteric topics as well. The aesthetic is similar to the cover of a modern O’Reilly book, with lots of woodblock illustrations mixed into the computer-generated images that are the results of the book’s algorithms. What is nice about the way the book is executed is that the ideas are presented with mathematical formulae and algorithmic pseudocode, so that the book is just as useful today as it was at its publication date.

I don’t purchase as many technical books these days, as most of them seem to be obsolete within a few years, so why not just get your information online? However, I do browse the stacks at Powell’s somewhat regularly and I don’t see many books like this any longer. Am I missing them? It’s true that there are plenty of DIY computing books out there, but I don’t recall seeing any recent ones that delved into the more philosophical, perhaps even meta-commentary that is typical with Pickover’s early books. The only other book that comes to my mind at the moment is Gödel, Escher, Bach, but that is also an older book, not to mention specifically more weighty. Let me know in the comments if you know of any others.