James Mitchell

Hi, I'm James Mitchell

CIOS • Maker • Problem Solver

I build things, break things, and figure out how they work. JimDotDev is my public notebook for projects, experiments, lessons learned, and technical discoveries across making, computing, signals, research, and everyday problem solving.

Latest Articles

View all posts →

Repurposing an Old Tablet: A Time Hole of SDKs, Bootloops, and Stubborn Curiosity

What started as a small idea — turning an old Samsung Galaxy Tab 4 (SM-T230NU) into a dedicated FluidNC pendant — turned into a full dive into Android development, debugging, firmware archaeology, and system recovery.

Here’s the real takeaway from today.

Coming Up With a Simple Goal

The original goal wasn’t complicated:

  • Old tablet
  • FluidNC web interface
  • Fullscreen
  • Landscape
  • Launch on boot

A normal person would’ve added the webpage to the home screen in Chrome and been done with it - and I might regret not stopping there - but it all came from curiosty.

Learning the SDK Environment

I spent time in Android Studio learning:

  • How project structure is laid out
  • Where manifests, layouts, Kotlin files, and themes actually live
  • How Gradle build files fit together
  • How SDK versions impact compatibility

I went from not knowing where things were to being able to navigate the project tree quickly and edit the right files without guessing.

I built a working APK — even if the target browser engine didn’t support what FluidNC needed, the app did exactly what I wrote it to do.

Using ADB and PowerShell

I pushed deeper into device-level interaction:

  • Installed platform-tools
  • Added ADB to system PATH
  • Queried the device
  • Verified connection in developer mode
  • Used ADB to sideload, inspect, and test

Following the Rabbit Hole Further

Once it became obvious that Android 4.4 was the real limitation, not the app, I kept going.

That led me into:

  • Hunting down discontinued libraries (Crosswalk, old .aar packages)
  • Trying different browser runtimes
  • Experimenting with launching Chrome in kiosk-like modes
  • Testing fullscreen flags and orientation locks
  • Dealing with missing APIs and deprecated functions

It stopped being about FluidNC at that point.
It became about a carefree environment for testing Android development that sparked from a simple project.

Stepping Into Firmware Territory

When software limits hit a wall, I decided to try upgrading the tablet entirely — aiming for LineageOS or anything newer than KitKat.

That started a different rabbit hole:

  • Searching for factory firmware for a device long out of support
  • Sorting through mismatched builds and dead download links
  • Learning how PIT files map partitions
  • Understanding (or trying to) why Odin fails during writes
  • Flashing TWRP
  • Watching the tablet "soft-brick" into recovery loops
  • Figuring out how Samsung’s download mode actually behaves
  • Attempting to restore system partitions manually

A lot of it was trial and error.
A lot of it was frustrating.
None of it was wasted.

It was about chasing a small idea until it forced me to learn:

  • Android app fundamentals
  • Legacy WebView limitations
  • How Chrome vs system web engines differ
  • ADB usage
  • Firmware flashing and partition mapping
  • Bootloader interactions
  • How older hardware complicates everything

And honestly — it was interesting the whole way through.

Even if the tablet fought back at every step, I walked away knowing a lot more than when I started.


Photobooth 2023

I never would have guessed that the Photobooth design and created over six years ago would have had such a positive impact on various events over the years from weddings, birthday parties, shower and alike.

Originally design and built to be a unique piece of entertainment for our wedding, has attended dozens of events, printed hundreds of photos and brought countless smiles.

It's last event was a wedding - and bringing it back out has returned me to elaborating on its design.







Insputer Desktop Fish tank

Admiring my desktop fishtank, I decided that the hydroponic pod mount was of no use to me and designed a hopper style fish feed for the tank.  


One thing that really struck my interest in this was while reading on appropriate fish, I found an article on phys.org that had me wondering if guppies could reconize feeding time from a sequence of LED flashes. It is important for you to know, while I was designing this all that was playing through my head was the scene from Jurassic Park " they remember.."

I made a 5mm feed dispenser, which seems to be plenty during every feeding given the tank size. The feed arm has three variables retaining position of the servo; return position, fill position and dispense where it then proceeds to return position. I found parking the dispenser outside of the fill position reduce packing or clotting of food.

At this time, it dispenses every 12 hours and there is a button to dispense. 

Here is the code:









Diy Kijiji printer find - Version 2.0

After about a solid month of waiting for a new hot ends and bearings to come in, I had a lot of time to stare at my previous work and decide that I needed a cheap solution to a frame. Playing around in SolidWorks, I was looking to make slide and bolt together structure using 2 inch aluminum ba 3/8 thick with printed corner peices - when I found this design on Thinginverse.

https://www.thingiverse.com/thing:3116031

Ridding of all the bolts and threaded rod, it's a simple welded frame that I felt I could fabricate for cheap and have a very rigid structure to continue to build off of.



I ran a bed of parts overnight and called a local steel supplier the next morning for material. I managed to get 20ft of 1-1/2x3/4 for $28 plus tax and ran it through my friends saw.

The project has been challenging to follow as at the time of writing no details or have been added to page, but after converting to imperial my cut list was as follows;

2 pcs @ 13.3/8
2 pcs @ 17.5/16
3 pcs @ 12.5/16

Requiring approximately 8ft 2" of material.

After cutting, we fit the bottom frame and I took the rest home to evaluate the location further for the top in comparison to my working printer.

Once home I used my buzzbox to for the top three pieces, gave it a spray of black primer and started fitting the printed pieces on.



I used the Wade's extruder for the j-heads I finally had received for the project as found here

https://www.thingiverse.com/thing:119616



Above is my son assembling the linear bearings to the carriage mount.

At this point I came to a stand still... The 8mm rods for the carriage from the last design are too short for the new design.

I will be looking to source those out over the next few days and progress will move forward in the next few days.

1978 Midway Space Invaders Cabinet

Found this 1978 Space Invaders cabinet online while doing one of my daily browse through on Kijiji and was quick to make a move on it. It seemed to be in great shape, but for being priced so low I wasn't very optimistic about see it run again - just figured I would use the cabinet with a Raspberry Pi.


Upon opening it up, we were quick to discover that the back service panel has a momentary switch with an outward position to lock it in the on position for servicing.





Once inside the parts seemed to be original all for what turned out to be the Braze Technologies Space Invaders Multi-card. The multi-card includes a POST self test aiding in troubleshooting, enable coinless free play and a variety of games that resemble space invaders, including Space Invaders Deluxe - and then, I caught it.

While looking over the CRT (cathode ray tube), two of the deflecting yoke wires were disconnected. The deflecting yoke is a type of magnetic lens used to focus or deflect the charged particles vertically and horizontally in the CRT monitor created by the electron beam, so with the horizontal leads disconnected would explain why there was this large vertical line on the monitor. Once testing after re-crimping the lead ends, I couldn't believe she was a live!


Now knowing it works, I took some time to clean it up and find a home for it. I tipped it over and fixed the front left leg, replaced the plug, and just took some time to observe how and what it all is.



I find after owning it for a few weeks now that I prefer Space Invaders Deluxe which fixed a few glitches, but also adds named score record to keep it competitive and fun for people to play.

While this game predates me, it was one that I still enjoyed and has been a cool project and fun to have around.

PLC Training

I have purchased an online PLC training course including 24 hours of video that I am working hard on completing.To aid in my training, I wanted to create a trainer that would give me the basics needs while physically having some hardware to wire up.

A trainer of any type should have basic input components such as NC (normally closed) NO (normally open) variation of toggle/push button switches and maybe a inductive proximity to start. These can normally be easily accessible and don't break the bank.

Output possibilities for me at this time include pneumatic actuators, streppers and a variation of relays. However, for the most part, desktop training will include mostly indicators.

While I originally went bigger with the
I/O, I ended up with this;


Located in the top right corner of my rack, you can see my arduino rail mounted. Communicating between the arduino and PLC is something I have pondered about since my introduction to the industrial PLC and programmable relays.


Looking at it stripped, I basically made a simple H frame using 1.5 x 1/4 angel, drilled and tapped, added some DIN for rail mounting, and drilled a total of six holes for grounds.

No measurement was really set in stone, I just went with what fit around the plc I'm already own.

The Photobooth


A photo booth holds this nostalgia even in a world where everyone has a high resolution camera in their pocket capable of 16MP photos, people are still amused by a photobooth. It's just, awesome!

We wanted to capture that feeling at our wedding and provide guests with a cool and fun way to leave memories and take something home with them at the end of the night. We looked around but everything was costly and bland looking, so I set off with the plan to make one and this a is blog post on how it started.

The build

I took an older HP Pavilion laptop with a touch screen that was donated to me and completely stripped it apart. This was a great machine to its owner and it is a perfect machine for this build with quad core processor and 8 GB of DDR3.



I was given an old brief case from my sister who has an eye for old unique pieces and it just so happens it will fit the screen!



To mount the screen I made a rough frame out of wood glued inside the case. I then used a double side adhesive and later secured it with aluminum duct tape as well.

I had a few comments about "taping" the screen into place and although I wasn't very keen on it either, it really is how cellphones and tablets are held together and hasn't been an issue yet.



Once the screen was in place and the laptop apart, I made a frame out of as scrap wood and aluminum with standouts to mount the motherboard to a frame. I then made use of the 2.5 inch drive tray that was in the laptop and fastened it the side with some wood screws.



The 2x6 wood I had was helpful in giving support for the brief case while providing beefy material to attach the mount for the tripod stand.



I searched for software that would provide the functionality I was looking for while providing the best user experience and found that in a very affordable application called Instant Photobooth.

Instant Photobooth was very simple to setup with a ton of cool features. I ended up using it with a feature in Windows with call Kiosk mode. Basically, when the photobooth is fired up it boots straight into a user account that is restricted to launching anything but Instant Photobooth.

At this point it looked great, had character but needed a camera and some finishing touches.

I hummed and hawed about what camera to install. There are a lot of great cameras with a very nice Sony lense supported by the software, however budget was still a concern. I ended up settling with the quality and autobalancing features of a Logitech web cam and mounted it the same way as the screen.

The face of it still needed a special touch, so I cut a picture frame I found at a local crafts store to frame it off with drapes on the side the same colour as the original software background.

To throw off where the lense was, I added two rubbies from the dollar as a final touch.



Once we started playing with it, we decided it needed a printer. I purchased a Cannon Selphy cp1200 for 119 bucks, made a mount and cut hole in the side of the case. I was very impressed by the quality and print time accomplished with this printer, approximately 45 - 60 seconds in total.







I have been very pleased with the outcome of project and it has received very positive feed back everywhere it's been so far. While at this point has full functionality, I have a few ideas to make improvements in the near future.

About Me

James Mitchell

I'm James Mitchell, an IT Operations Specialist, builder, and lifelong learner. JimDotDev is where I document projects, experiments, lessons learned, and technical discoveries across fabrication, computing, RF systems, research, and practical problem solving.