The last couple of days I've been messing around with code for building a 'manifest' of the file system on the SD card then notifying changes to other stations.
This has taken a lot of time as I had a few false starts in my reinvention of this particular wheel. I think I trashed my plan and started again at least three times and it's probably still a quite naive scheme. As things stand it's just notification of change, the other station knows if there's an updated file but there's no method to transfer the file as yet.
Oddly I don't think file transfer will be hard. The way I've put my mesh library together makes it quite easy to push arbitrary data around. It will just need to be chopped up into chunks and sent. Maybe also 'lock' the file to prevent local changes while any transfer occurs, just in case.
Mesh networked computer terminals with RFID logon - part 2
Progress on the messaging application is going OK.
I'm having a little aggro with RFID. It works, but not reliably so after 3-4 uses of the card it becomes unresponsive. This may be related to the code I've cribbed from an example to continuously poll the card and check if it's been removed. This might crash the reader but I'm not 100% sure. It's also quite possible I've messed up the state machine that handles the logon process in some way related to idle logoffs.
What is going quite nicely is building a file structure on the SD card with global, per-station and per-user configuration files. This is massively old-school way of doing things but is easily human-readable without writing an admin interface.
An easy example, above, is the 'message of the day' above where the cyan text is 'global' and the 'green' per-station.
I'm now working on an interface for users to display their stored files. Once this is done I would like to make it sync across the workstations with a TFTP-esque setup where the station with the highest sequence numbered file distributes it to the others. This needs to be in place for persistent messaging across different workstations, but will make the configuration more easily maintainable. It's probably going to need metadata stored in each directory, hidden from the user and I can see myself using JSON for that.
I'm having a little aggro with RFID. It works, but not reliably so after 3-4 uses of the card it becomes unresponsive. This may be related to the code I've cribbed from an example to continuously poll the card and check if it's been removed. This might crash the reader but I'm not 100% sure. It's also quite possible I've messed up the state machine that handles the logon process in some way related to idle logoffs.
What is going quite nicely is building a file structure on the SD card with global, per-station and per-user configuration files. This is massively old-school way of doing things but is easily human-readable without writing an admin interface.
An easy example, above, is the 'message of the day' above where the cyan text is 'global' and the 'green' per-station.
I'm now working on an interface for users to display their stored files. Once this is done I would like to make it sync across the workstations with a TFTP-esque setup where the station with the highest sequence numbered file distributes it to the others. This needs to be in place for persistent messaging across different workstations, but will make the configuration more easily maintainable. It's probably going to need metadata stored in each directory, hidden from the user and I can see myself using JSON for that.
Mesh networked computer terminals with RFID logon - part 1
I may have bitten off more than I can chew, but let's see if this works out.
While I've been developing my ESP8266 mesh network library one of the demo applications I've written for it is an IRC-esque chat client with an ncurses terminal interface. It mostly works, but needs some polishing.
This application means you can connect an ESP8266 board into any computer that will run a terminal emulator and chat with other nodes with no infrastructure at all, not even local Wi-Fi. It's completely self-contained, an actual VT100 dumb terminal would work, for that matter, with a little level-shifting of the serial port.
When I went away to Odysseus LARP, they had a forum-esque system that had in-game use, for communication between players, with the GMs and as a source of information. This was an unexpectedly good experience adding to gameplay and was the basis of the in-game hacking mechanic.
For the sci-fi LARP I'm helping run in March while chatting during a writing session we decided to see if we could offer something similar. Odysseus was indoors with a big IT back-end, large player base and huge development team. Our event is mostly outdoors, about 20 players and three GMs plus a few more people helping with props, so tiny by comparison.
Nonetheless I've got a working chat application and want to use the mesh network for other stuff in the game already. Stick some chat nodes connected to laptops in the covered areas where there's power and you're getting there.
Key things I need to add are...
So I've spent a bunch of time this weekend messing around with using RFID cards as logon tokens, storing structured info in JSON files on SD cards, planning and thinking things through a lot.
I think it will work, let's see.
While I've been developing my ESP8266 mesh network library one of the demo applications I've written for it is an IRC-esque chat client with an ncurses terminal interface. It mostly works, but needs some polishing.
This application means you can connect an ESP8266 board into any computer that will run a terminal emulator and chat with other nodes with no infrastructure at all, not even local Wi-Fi. It's completely self-contained, an actual VT100 dumb terminal would work, for that matter, with a little level-shifting of the serial port.
When I went away to Odysseus LARP, they had a forum-esque system that had in-game use, for communication between players, with the GMs and as a source of information. This was an unexpectedly good experience adding to gameplay and was the basis of the in-game hacking mechanic.
For the sci-fi LARP I'm helping run in March while chatting during a writing session we decided to see if we could offer something similar. Odysseus was indoors with a big IT back-end, large player base and huge development team. Our event is mostly outdoors, about 20 players and three GMs plus a few more people helping with props, so tiny by comparison.
Nonetheless I've got a working chat application and want to use the mesh network for other stuff in the game already. Stick some chat nodes connected to laptops in the covered areas where there's power and you're getting there.
Key things I need to add are...
- Logon credentials/tokens
- Persistence of messages across logons at different terminals
- A way to store and show files
- A 'hacking' mechanic for this that is in keeping with the game
So I've spent a bunch of time this weekend messing around with using RFID cards as logon tokens, storing structured info in JSON files on SD cards, planning and thinking things through a lot.
I think it will work, let's see.
ESP32-CAM programmer from Bitluni
I've got a bunch of ESP32-CAM camera modules and made myself a little breakout a while back as they need a separate FTDI to program. One of the Youtubers I subscribe to came up with a nicer breakout which includes an auto-reset circuit for only $10 on Tindie so I've replaced my scratchbuilt thing with one.
Strongly recommended if you're going to mess about with these boards.
Strongly recommended if you're going to mess about with these boards.
First steps in paint weathering
For an upcoming LARP we are using Bopits for some concentration tests. These are childrens' toys that are a bit like 'Simon' but you hold them in your hand and twist/push/pull various bits in response to voice prompts.
In the game fiction these are supposed to be tools but it has always grated on me that they just look like toys, so I'm stripping them down and having a go at changing the look. This is stock in trade to cosplayers and replica makers but normally I don't bother much with it. I've got a few different ones to work on but so far it's going OK.I'm going for a well worn look, might have overdone it slightly but it's already much better than gloss white. The weird rubbery lumps sticking out at either end might get replaced with more tool-like 3D printed pieces.
Trying Elementary OS and saving waste

I make no apologies for being a Windows desktop user in a very Linux heavy community. For all the "Linux is better" sentiment I've always struggled to deal with its deficiencies as a desktop OS.
However I decided to make a foray into using it more on the desktop as I feel 'daily driver' use of Linux is a gap in my experience. A lot of this was prompted by recent versions of Elementary OS looking like a good candidate with a 'curated' app store from which things are supposedly going to 'just work'. Some are even paid for, at the sort of price you see on mobile apps, ie. 1-5$.
I'd thought about sticking Elementary alongside my desktop install, and even went as far as clearing the space on the SSD but then a 'free' laptop appeared at work. A colleague brought it in to go into our WEEE recycling but I snapped it up, much to the amusement of my team.
The machine is an old Acer V5-552 (quad core AMD A10 and 6GB RAM) which would have been pretty decent in its day but what I had in my hands was filthy, covered in cruft and greasy marks and had no HDD as that was taken out and smashed after failing.
It also transpired they didn't have the PSU, all the screws were missing from the base when they'd dismantled it and they'd set a BIOS password they couldn't remember. I had a little look under the base cover and found that it also had a nastily failing battery that I wouldn't consider safe to charge.
So yes it's a 'free' laptop but to most people a basket case and I sort of see that as a challenge. I hate stuff getting thrown out and I've wanted a 'disposable' laptop for a while.
Over the next few days I transformed it from trash to treasure for about £40.
- A really good clean with a microfibre cloth and warm water, removal of peeling stickers, cruft fished out of all the crevices etc.
- Fitment of a 120GB SSD taken from an older and slower laptop I had lurking a drawer.
- Fitment of a new battery supplied from Amazon for £23.99.
- Upgrade to 8GB RAM with a SoDIMM out of a machine going for recycling.
- BIOS password recovery using a code from https://bios-pw.org/.
- Use of a generic laptop PSU with changeable tips I got in the Maplin closing down sale for something like £5.
- Some generic laptop screws from a big eBay box that cost £6.
- Installation of Elementary OS 5.1, which has a suggested donation of $10.
Despite being nominally worse than my Zenbook by most criteria I really like it to use, mostly I think because I like the screen, keyboard and feeling of solidity. It's also not short of connectivity with a wired Ethernet, full size HDMI and so on. The performance is good as Elementary is quite lightweight and the quad core A10 is still acceptable for light use.
After a few days with Elementary I've found that the curated apps are relatively rare and you resort to installing generic Debian versions of most things. There are a few bugs to do with the way Elementary is skinned, notably some apps end up with a double title bar and you need to manually edit the shortcuts to fix this (edit the shortcuts in /usr/share/applications and add env GTK_CSD=0 to the Exec= line). Also Dropbox works but took some fighting to install and doesn't integrate with the desktop at all.
Sadly though Bluetooth mouse support is execrable, they work for a bit then fail and kill the ability to click with the pointer on some elements and the Bluetooth status app (sometimes the whole status bar). I can live with the appearance gremlins but that's really poor for a 'curated' distro and is the kind of thing that reminds me why I've given up on Linux desktops before. I need a mouse for working with KiCAD, which is one of the things I'm learning, and I can see myself falling back to carrying a wired mouse around. Irritating, but I'll persevere as otherwise it's working nicely.
Creality Ender 3
I've come to really like the cheap Creality Ender 2 3D printer I bought a while back but have found the small build area limiting. Then a Banggood Black Friday sale spat out an Ender 3 for £129 and I couldn't resist it. Shipped from the EU it came in just two days but I had to wait until I had some free time to put it together.
The improvements in design and packing over the Ender 2 are really obvious. It's not complicated to assemble, if you can build IKEA furniture you can do this. Every little bag of components is clearly labelled, right down to the bolts, which come with matching washers already threaded onto them. You even get cheap but usable examples of the tools needed supplied. I would really recommend one of these if you want a minimally viable cheap 3D printer. Contenders for 'best value' come and go but the Enders are a consistently safe bet. The contrast with my Ormerod is striking, things have really moved on.
There's a massive modding community for these but I've shied away from doing anything to it at all. When I remember I'll put a neoprene 'sock' around the hot end to stop stray filament sticking and that's mostly because I got a pack of two when I bought one for the Ender 2.
The improvements in design and packing over the Ender 2 are really obvious. It's not complicated to assemble, if you can build IKEA furniture you can do this. Every little bag of components is clearly labelled, right down to the bolts, which come with matching washers already threaded onto them. You even get cheap but usable examples of the tools needed supplied. I would really recommend one of these if you want a minimally viable cheap 3D printer. Contenders for 'best value' come and go but the Enders are a consistently safe bet. The contrast with my Ormerod is striking, things have really moved on.There's a massive modding community for these but I've shied away from doing anything to it at all. When I remember I'll put a neoprene 'sock' around the hot end to stop stray filament sticking and that's mostly because I got a pack of two when I bought one for the Ender 2.
Makevember 2019
This year I stumbled onto something Dominic Morrow started, Makevember.
The original concept outlined in his blog is to do something 'new' and time limited, but like a lot of others participating I ended up using it as an impetus to work on things most days of November even if it wasn't something particularly new or quick.
I've found this was massively helpful. I've been tackling loads of 'round tuit' things, over the last month I have...
The original concept outlined in his blog is to do something 'new' and time limited, but like a lot of others participating I ended up using it as an impetus to work on things most days of November even if it wasn't something particularly new or quick.
I've found this was massively helpful. I've been tackling loads of 'round tuit' things, over the last month I have...
- Mounted my laser engraver on a board, fitted end stops, rebuilt LaserWeb and made the software changes to make auto-homing work. This turned it from a dust gathering ornament into a much more usable tool.
- Familiarised myself with the workflow for my SLA 3D printer and printed things for a friend.
- Built a UV curing enclosure for output from my SLA 3D printer.
- Fixed up an old medical analyser prop.
- Fixed up my Orac prop as it had developed a couple of faults.
- Fixed up my Enigma Machine prop so the keycaps were more robust and the gaps round the LED matrix displays were filled.
- Made a set of 12V spotlights using Poundland LED GU5.3 units.
- Experimented with a cheap pico-projector for future use in a new prop.
- Learned basic use of Meshmixer.
This has been a really positive experience and shows how an incentive can work. If I can keep up this focus the rest of the year then it will be a very productive one.
Subscribe to:
Posts (Atom)





