Pocket C.H.I.P. Impressions
Next Thing Co.'s C.H.I.P. is positioned as cheap ($9) competitor to the wildly successful Raspberry Pi, featuring a 1GHz ARMv7 processor, 512MB of RAM, and Wi-Fi/Bluetooth built-in. I recently got ahold of one and its not-as-cheap ($60) Pocket case. Once you slot your C.H.I.P. in to the Pocket, you get access to a lithium polymer battery, a 480x272 touchscreen, keyboard, and easily-accessible GPIO headers.
Here's a quick look at the hardware and what you can actually do with it!

The front of the Pocket has extended headers for all of the C.H.I.P.'s GPIO ports, making it easy to wire up new hardware. For example, the Pocket doesn't have a speaker built-in, but it's pretty easy to add one. The screen isn't high resolution (480x272), but it's big, bright, and easy to read. There's a resistive touch screen over the LCD panel, so you can use your fingers or any other blunt object to tap icons and controls. This makes it much easier to navigate!
Moving a bit farther down, we've got a keyboard with some special extra keys to make gaming easier, a dedicated power/home button, and holes to make a stand out of a pen or pencil.

There are no screws on the Pocket, so you can take it apart if you want! There are some extra prototyping traces in the upper left corner you can use if you're adding a new internal component. The C.H.I.P. itself is removable, but be careful -- it's slotted pretty tightly in to the Pocket's connectors. If you want to use the C.H.I.P. for something else, it needs to be re-flashed; the one that comes with the Pocket is running special software to drive the touchscreen and that nifty app launcher.
Digging around a bit more, you'll notice a 3000mAh LiPo battery pack. NTC says it's good for about five hours, though I've been able to squeeze more out of it by lowering the screen brightness and turning off WiFi/Bluetooth. The C.H.I.P.'s power circuitry handles charging the Pocket's battery, so don't charge the battery directly unless you know what you're doing. Lithium batteries can be dangerous, and any cell phone charger that puts out at least 1.5 amps at 5 volts will work fine.

One of the built-in apps is a standard terminal running the bash shell. The C.H.I.P. runs on an ARMv7 version of Debian Jessie (8.5), so you can install pretty much anything you like. I've been using my Pocket to do network analysis with nmap.

The Pocket's biggest claim to fame? It runs the PICO-8 fantasy console, a "fake" gaming console done up in software. The PICO-8 suite has loads of fan-developed games available that are all editable on-device. Feel like editing the sprites? Go for it. Audio? You're covered. Maps? There's something for that too! It's a really interesting concept, one that I hadn't heard of until the Pocket came along. Now, I'm slowly working my way through top games list, trying new titles out. One of my favorites so far is Tower Of Archeos (shown below), a puzzle RPG where you have to balance defeating foes with collecting useful items and keeping your hearts topped off.

I have a software-defined radio project in the works that I'm going to try to leverage the Pocket for. In the meantime, do you have a C.H.I.P. or a Pocket? If so, let us know what you think in the comments!
Origin Stories, Part II
This is part two of the Irregulars' Origin Stories project, where we tell short stories and anecdotes about our early days in gaming. In this installment, we continue with some more adventures involving my brother Ryan and I on the Krynn's Demise Ultima Online shard. Enjoy!
Raising edible birds for fun and profit
One Saturday afternoon, the game masters on Krynn's Demise decided that it was the perfect day for chicken battles. Everyone on the shard had one day to tame the most fearsome specimen of poultry they could find, then hone its fighting skills to perfection. Naturally, Ryan and I christened our champion fowl Pollo. My memory is a bit fuzzy, but I think he was orange for some reason...
These foolish birds are cultivated by farmers for their eggs and succulent meat. One of the staples of the Britannian diet and economy, chickens cannot long survive outside of the care of man.
--UOGuide
Pollo's training regimen was intense:
- We polymorphed him in to a dragon and herded him through flame walls to increase his magic resistance
- He fought other assorted woodland creatures to build up his physical skills
- He consumed an obscene amount of bandages, as chickens are not known for their large hitpoint reserves
Fast forward a few hours; at this point, we've spent all day training this chicken in hopes of advancing through the tournament. Our names are called; we're in the first round!Pollo goes on the attack...and immediately perishes at the feet of a much more well-trained fowl. Thankfully, Ryan jumped at the opportunity to salvage the situation. Using his magical flames, he roasted our poor chicken over an arcane flame, and we got a few drumsticks out of the deal. Rest in peace Pollo; you were delicious.
The Invisi-Wizard
When you're a Grandmaster Mage, you don't cast spells to defeat monsters. You let other people defeat the monsters, then use your spells to secure the treasure! This was the case when the great dragon (unpronounceable name) invaded the city of Britain one weekend in 2001. It took the combined efforts of many heroes to slay the monstrous green beast, saving the city from temporary destruction. Strangely, when the dragon's corpse was examined, there was no treasure present (not even a scale)!
Accusations immediately started:
We've got a looter on our hands!
Unbeknownst to our band, Ryan had snuck in under the cover of invisibility and stripped the dragon of its artifacts and treasures before the body even hit the ground. He emerged at the Bank some hours later clad in a tie-dyed set of shimmering green plate, grumbling incessantly about "adventurers these days". Though most of us suspected foul play on the part of our land's grumpiest wizard, no one ever managed to successfully challenge him about the event. Those who brought their concerns to bear found themselves burnt to ash or stepping through a "free beer" portal to a horrid pit full of daemons.
I don't think Ryan ever removed that plate mail after he put it on.
Dangerous Waters
For a short period of time, my now-wife Katt played Ultima Online with Ryan and I. If you know her at all, she loves fishing in video games. After she joined us, we made sure she was equipped to reel in sea's bounty, and even provided a boat so she could reach distant waters.
However, we forgot to mention the presence of sea monsters.
Ryan and I were camping along the coast, when we see Katt shouting FORWARD FAST, FORWARD FAST, FORWARD FAST at the tillerman, sea serpent in hot pursuit. She had fishing up an extremely cranky kraken, and was making a beeline for the shore in her ship.
At the time, the boats were a little laggy as the shard was hosted on a 3 megabit cable connection. Katt successfully landed the ship and disembarked, but the serpent's attacks caught up with her a few frames later and she perished. After that, she mostly kept to the shores!
Vast: The Crystal Caverns Impressions
Fresh from Kickstarter, we've got a copy of Vast: The Crystal Caverns!
Play as the classic, daring Knight, the chaotic Goblin horde, the colossal, greedy Dragon, the scurrilous Thief, or even the Cave itself — powerful, brooding, and intent on crushing the living things that dare to disturb its gloomy depths. Each role has its own powers, pieces, and paths to victory … and there can only be one winner.
This asymmetric dungeon crawler from Leder Games was a big hit at GenCon this year, and we've got some first impressions from our initial playthrough.

The Cast
Vast pits five players with drastically different goals against one another in a cave that shifts and changes each time you play. If you don't have five players, that's okay; alternative win conditions are listed in case one or more roles aren't filled.
In their turn order, the roles are:
The Knight
The Knight's goal is to slay the Dragon. Equipped with loads of bombs, a magical map, shield, and bow, the Knight is ready to deal with almost any scenario. When the Knight starts, she has two hero cubes she can allocate to move, encounter things, perceive hidden characters like the Thief, or use her treasures. As she gains grit from performing actions, she'll slowly unlock more cubes.
The Goblins
The Goblins are trying to kill the Knight. Split across three tribes that each get a single action per turn, the Goblins are unique in that their strength is directly proportional to their population and rage. These things ebb and flow as the goblins attack, are attacked, and move around the map. They like dark tiles (ones that haven't been flipped over/explored yet), and are weaker when exposed to light.
The Dragon
The Dragon is very, very sleepy and would like nothing more than to wake up and escape the cave. By collecting treasure, eating Goblins, and exploring rooms in the cave, the Dragon will slowly grow in power as he wakes up. Once he awakens, he becomes a rampaging engine of destruction (albeit one now hindered by walls) and must reach the cave's entrance to secure victory. His powers are semi-random as he draws a number of power cards each turn that can be combined to produce a variety of spells and effects.
The Cave
The Cave player is responsible for building the map, resolving events and treasures for the Knight, and generally trying to be a pain in the butt to everyone else at the table. Since the Cave is sick and tired of all of the things running around inside of it, it begins to collapse once every tile has been placed on the map. If it can remove five crystal tiles from the map before someone else wins, the Cave achieves victory!
Each turn, the Cave gains a number of omen tokens based on the number of unclaimed treasures and revealed crystals on the map, which it can then use to alter the map, place more tiles & treasures, and hinder the other players.
The Thief
The Thief is cursed to live forever, returning after each death until he can collect enough treasures to break the spell that grants him unlife. One of the most flexible roles, the Thief can reallocate his statistics to make himself more stealthy, strong, or agile. He also has a slew of upgradable abilities -- angry Dragon in your way? Backstab it and siphon away a bunch of cards! Walls blocking your path? Climb over them!
The downside to being the Thief is that you're essentially a walking treasure bag -- your loot level gives players who slay you all sorts of bonuses.
Things We Liked
- Every role plays very differently, so there's something fun for all sorts of players!
- On a similar note, the way the roles interplay with one another is very interesting
- Easily scales based on skill levels; new players can start on an easier difficulty level (which makes it easier to win). Expert players can make things more difficult for themselves by moving to a higher difficulty.
Things We Didn't Like
- The instruction manual doesn't do a great job of laying out how the game is played (mostly, it just describes each role and lists some game variants)
- Length -- Vast is fun, but it takes a long time to play (~2 hours)
- Sometimes, you get a feeling of "inevitability" where you can see someone's victory a few turns in advance and can't do anything to stop it
All in all, pretty good! We'll be adding Vast to our regular Game Night rotation!
Cardboard Organizer
Not all board games are guilty of doing a shoddy job with box inserts. Just look at Black Fleet's!

On the other end of the spectrum, this is what ends up happening with all of the "big box" games we buy from Fantasy Flight. Obviously some room for improvement here, unless you're particularly fond of plastic baggies.

Luckily, there's a wonderful company called The Broken Token that makes custom box inserts out of Baltic birch with a laser cutter. Everything ships to you in flat-pack format, then a little time and glue can take you from this...

To this:

They do take a little time to put together, and Broken Token warns that you may need some wood glue for loose joints (something I can confirm) and tape for the corners if you decide not to glue them (I usually don't). However, being able to rapidly set up and break down a game can be the difference between playing and not playing. There have been times when our tabletop group skipped over something awesome (Civilization, Eclipse, Mage Knight, etc.) simply because these games take so long to set up! If there's something in The Broken Token's collection for a game you play regularly, give them a look! They have a ton of their items on Amazon.com as well.
Origin Stories
Everyone's got a story to tell. Here at the Irregulars, we love telling stories - it's the reason we play games together in the first place. Today, I'm going to tell you bunch of old stories about when my brother Ryan and I first played Ultima Online on a tiny private shard called Krynn's Demise. It was our second MMO after Nexus: Kingdom of the Winds.
The shard has long since closed up shop, but the memories remain!
A Short Treatise on Blacksmithy
Krynn's was a very small world (my memory is fuzzy, but I want to say around ~50 players), so unlike the official UO shards, there was actually room to put up buildings and shops. Ryan and I quickly founded the Obsidian Artificers and set up a tiny blacksmth's shop right outside Britain. A bizarre combination of skills ensured that we were basically co-dependent on each other for business: Ryan was a grandmaster mage and miner, I was a grandmaster blacksmith and tinkerer. Cue many hours spent mining, enchanting, forging, and tinkering. We eventually established something of a name for ourselves as the source for quality adventuring equipment.
(The story of the actual Adventurer's Mart is one for another day.)
Eventually, we stumbled upon the recipes for dragonscale armor and the most powerful enchantments in the game at the time. You'd think with access to top-tier resources and equipment that we'd have been rolling in gold pieces? No, we mostly just made it to put in the Newbie Box -- only accessible to brand new players. Talk about ruining a digital economy. Ryan still grumbles about finding all of his ore smelted and forged before he even got back to the shop!
If we can find some old screenshots, I'll certainly put 'em up here.
The Pirate Invasion of Moonglow
Britannia was a pretty huge place; vast oceans, soaring mountain ranges, and plenty of cool locales to visit. Once we'd made some money, Ryan and I managed to secure the deed to a small ship so we could sail the seas. One day, when I wasn't around, Ryan decided to track down an island full of pirates so he could hire an army. At the time, NPCs were easily bribed with a little gold, so he managed to fill up our entire ship with pirate mercenaries in short order.
A short time later, having arrived in Moonglow, Ryan disembarked and released all of the pirates in to the city...causing the server to crash in a stream of "YARR!"s. Remember, this was around 2000 and always-on high speed internet was pretty new. I think the server might have been on a 3 megabit connection at the time. In any case, our resident server operator Wolverana was not pleased, and promptly jailed Ryan's character. A few hours logged in to a sparse jail cell would certainly give the wizard time to reflect on the folly of hiring a pirate army. Wolv departed, leaving Ryan to his penance.
Ryan, never one to waste time, always carried tons of crafting materials around with him. He was working on becoming a carpenter at that point in time and, faced with a proverbial blank canvas, began to decorate the cell with vast quantities of tables, chairs, carpeting, and other furnishings. When Wolverana returned some hours later, words were exchanged about the jail being a place for contemplation and not interior decorating. I think she found the whole experience funny enough to let him out early with a warning...
The First Arena Tournament
What happens when you stage a player vs. player tournament where one player is a wizard and everyone else uses melee weapons? If you place them at opposite sides of the arena, the wizard wins. This is pretty much what happened at the first Krynn's PvP tournament -- Ryan was the only grandmaster wizard at the time, and had spent hours running back and forth in a flame wall while polymorphed in to a dragon to max out his magic resistance. The last words every participant heard before they perished? Kal vas flam.
I think his old character bio sums things up rather nicely:
I'm Locke Vanthor, pyro-mage extrordinare. Locke is a character who, well, likes to blow things up. So that's what he does: blows up friends and foe alike. Blows up neutral people too!
Why, you ask, does he blow things up?
Well, there are many reasons. Here are a few: Because he can, because he feels like it, because it's evil, because it's good, beacuse it's neutral, and because he's bored. It is not very hard to name reasons why a chaotic neutral mage blows things up.
Well, I just covered the only subject that needs to be covered, if you have any questions, Locke will be sure to ignite... er, answer them.
Banking on Exploding Potions
The First Bank of Britain in Lower Britain was the premiere hangout spot in Krynn's. Our blacksmith shop was a short jaunt out the West Gate, and there were plenty of benches to sit on while you crafted and chatted about the day's events. Ryan liked to play his mage as perpetually grumpy, so he tended to sit around the bank, occasionally emote *grumble grumble*, and work on raising his alchemy skill. The easiest way to do this? Make explosion potions!
Bored, Ryan began to pave the streets with said potions, informing passers-by to NOT click on them while he was still delicately placing each vial on the cobblestones around the bank.
Yeah, someone clicked.
There were a lot of folks at the bank at that time too...
- Next time: the founding of Irondale, the Le Daemon restaurant, and a failed attempt at chicken fighting.
- Wulf or Wolverana, if you read this, leave us a comment! We'd love to reconnect!
- This post's header image courtesy of Ultima Codex!
About the Irregulars
The Irondale Irregulars are a group of friends originally from the Northeastern United States. We've been playing games together since 2000, despite our varied interests and tastes, but we all love the stories they help us create! Kyle takes care of most of the blog-writing these days.
Looking for some recommendations? We've got a decent list going at our Steam Curator page.

All of the articles from the Irregulars are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
Constructing an AIS Receiver with a Raspberry Pi 3
Special thanks to Wegmatt LLC. for producing the dAISy AIS receiver, Stripydog (the makers of kplex), Matt Brown at m/v C:\ESC, Terry, and Freek Van Koolbergen for your documentation, tutorials, and comments -- I couldn't have done this without you! Last updated on September 27, 2017.
My wife Katt went on a cruise with her mom to the Caribbean this spring, which sparked a few questions in my head: how are ships located when they're out at sea? Is there some kind of system that they all use to communicate location data? A few Google searches and Wikipedia articles later, I discovered the Automated Identification System. A few sites like Marine Traffic specialize in aggregating this information across the entire world, and there's always a need for better coverage. I thought to myself "Ooh! What can I do to help out?" and quickly discovered that dedicated AIS receiver hardware can be pretty expensive -- anywhere from $200 to $500!
Armed with a Raspberry Pi 3 and just enough knowledge to be dangerous, I set out to build my own standalone receiver. I knew that I would need a USB-based AIS receiver, a VHF antenna, power supply, and some way to take the AIS traffic stream and send it to an aggregator. This post is a summary of what I learned, and how to set up your own receiver for around $100.
Bill of Materials
- Raspberry Pi 3 ($35 on Amazon)
- A 4GB or larger micro SD card
- Wegmatt LLC's original dAISy AIS Receiver ($59 on Tindie) or the newer two channel model, the Daisy 2+ ($89 on Tindie).
- Kenmax VHF "rubber duck" antenna ($13 on Amazon) -- depending on where you are located, you may want to invest in something bigger! I ended up using a 3' TRAM 1600-HC because my receiver is surrounded by large buildings in Boston, MA.
- Canakit's 2.5A/5V micro USB power supply ($9 at Amazon)
Setting up your receiver
Getting your Raspberry Pi 3 running
First, we need to get the basics out of the way: setting up an operating system on the Raspberry Pi, getting it online, then updating it with the most recent software.
- Head over to the Raspberry Pi Foundation's site and download the latest version of the New Out-of-Box Setup (NOOBS).
- Unzip the NOOBS.zip file and put everything inside of it on to your micro SD card. Don't just put the ZIP file on the card; it won't work!
- Put the micro SD card in to your Raspberry Pi, connect a display, mouse, and keyboard, then plug in the power.
- When the NOOBS setup loads, select Raspbian from the list and install it.
- Once the desktop loads after the installation is finished, set up the Pi's built-in WiFi by clicking on the icon in the top-right of the screen, then picking your WiFi network.
- Next, open the Terminal app and run
sudo apt-get update, thensudo apt-get upgradeto update your Pi with the latest software. If you're feeling bold, you can get the latest (bleeding edge) Raspberry Pi firmware by runningsudo rpi-updatetoo. - Install screen (this is how we're going to check to see if our dAISy is working later) by running
sudo apt-get install screen
Testing your dAISy AIS receiver
Now we're going to make sure our dAISy is working properly.
- First, attach the antenna to your dAISy. dAISy uses a BNC plug for its antennas, so if you have an antenna that uses a different connector (like SO-239), you'll need an adapter.
- Plug the dAISy's USB cable in to the dAISy, then in to your Raspberry Pi.
- Open up the Terminal app again. We're going to pull up dAISy's settings to make sure it hears AIS messages coming in from ships near us.
- Type
screen /dev/ttyACM0, then press escape to get in to dAISy's menu. - Press D until you get a message saying debug messages are turned on, then press escape again. Now, we're watching what AIS signals dAISy is picking up. If things are working, you'll see good messages prefaced with !AIVDM and weak/low signal messages with things like error: invalid stuff bit. When you're finished, you can exit screen by pressing CTRL-A, then K.
If things aren't working...
- Try unplugging dAISy and plugging it back in
- Make sure that your Raspberry Pi user is part of the dialout group. You can add your user to said group by typing
sudo usermod -a -G dialout $USERin the Terminal. - You can also try repositioning your antenna -- VHF works best with line-of-sight, so if you're surrounded by buildings, you might need to put your antenna on the roof!
Getting a Marine Traffic station
Now that we have a Raspberry Pi collecting AIS messages, we need a place to send them to! You can use applications like OpenCPN to plot the data you're getting locally, but I think it's more interesting to send it to an aggregator. That way, you're contributing to a global network of stations. I've been using Marine Traffic, though there are a few others if you're interested in using another provider.
- First, you'll need to register for an account with Marine Traffic.
- Next, log in to your account and scroll down to the section called My Stations.
- Click add a new station and fill out the details as best you can.
- A few moments later, you'll get an email from Marine Traffic telling you your station URL and where you should send your AIS traffic stream to. This will usually be to 5.9.207.224 on a random port. Be careful -- if you don't send traffic to your new station within 72 hours of creating it, they'll delete it and you'll need to make a new one.
Setting up kplex to send data directly to Marine Traffic
Ok, now we just need to link everything together! We'll be using kplex to do this; it will listen to the messages coming from your dAISy and forward them along to the correct endpoint over at Marine Traffic.
- First, download the latest version of kplex on to your Raspberry Pi. You want the version for Raspbian (ending in armhf.deb). It's not available through apt-get, so we're going to install the package by hand.
- Pop open a terminal on your Pi and enter
dpkg -i ./kplex_VERSION_armhf.deb, replacing VERSION with whatever the latest version of kplex is. When I did this, it was 1.3.4-1. - kplex will install. We'll want it to start automatically when the Pi boots up, so let's set that up now by entering
sudo update-rc.d kplex defaultsin to the terminal. (This doesn’t work on Raspbian Jessie and higher because of the switch to systemd. I am working on an systemd service file that will do the same thing!) - Now we need to tell kplex where to look for our AIS data and where to send it. That's done using a configuration file at
/etc/kplex.conf. I like to use nano to do simple edits, so runsudo nano /etc/kplex.confin the terminal to open up the configuration file. - Set up your configuration file to look like this:
[serial]
filename=/dev/ttyACM0
baud=38400
direction=in
[tcp]
address=5.9.207.224
port=(whatever Marine Traffic sent you earlier)
persist=yes
direction=out
The serial section is all about reading data in from your dAISy, which kplex can see on /dev/ttyACM0. The TCP section is all about sending the messages your dAISy gets to your station on Marine Traffic. When you are finished, press CTRL-O to save the file, then CTRL-X to exit nano. Now, you can either reboot your Raspberry Pi to start kplex or type sudo service kplex start in to the terminal.
Wrapping up
At this point, you should have a working Raspberry Pi 3 and dAISY, your own Marine Traffic station, and kplex set up route all the AIS information properly. Check your station at Marine Traffic; you should see statistics appearing about ships seen and messages received. Congratulations!