Cyberdeck
Deck Featuring: Controllers (stenography), shock cage, folding travel mode, and picatinny rails
TOTAL HOURS: 109
Stored Journal Logs
All project work is logged within the journal. Minimal changes may stretch multiple days for one log.
May 18: Rough Schematics
LOG-01: 3 hours
|
|
Project outline described above
May 19: Display troubles
LOG-02: 2 hours
Effective displays land in two areas: * Raspberry Pi specific: * Low resolution (1040x600 or 1280x720) touch, sometimes still expensive * (sometimes) Non-touch laptop displays * Higher resolution no touch, more power draw
In this case, the choice I went with a 10.5 inch touchscreen display at the cost of ~$50 on ebay. It's 1920x1280, which is perfect for programming, given the extra vertical height.
|
May 20: Material Drafting
LOG-03: 2 hours
I've been brainstorming the attachment mechanism between the main body and the controllers. Here's the plan. I'll have a ball bearing rectangle piece rotate to lock into the controller, which will have magnets. This piece will also have 3 wires routed on it. GND, 3.3v line, and a data line. These will be connected using spring loaded contacts to the wires. Since I'll have extra magnets, there's a good chance the end of the rotatable travel mode will have magnets to lock it into, as vice versa in the opposite mode. This day has been mostly just double checking all of the materials, and doing more indepth price checks. It's most likely I'll finish the rest of it tomorrow.
May 22: Project Material Guidelines Finished
LOG-04: 2 hours
In the process of drafting the controller materials for the hand strap, I realized I had a unique design opportunity for my cyberdeck. The controllers will be designed lower than the main body for a couple of reasons. 1. Better airflow: If a fan is ever added, then airflow can move through the bottom. 2. Stand offset: Keeping the controllers back allow them to be used as a stand for propping the cyberdeck on a surface upright.
And finally my most recent idea
- The gap inbetween the controller and main body can be used to mount the cyberdeck on the arm. Essentially, the controllers can be armstraps as well.
COMPLETED DIRECTIVE * Material draft 100%, price check 100%
|
May 26: Ideas! Stenography, Shock Cages, and a beginning to the modeling
LOG-05: 3 hours researching shock cages, 3 hours learning onshape modeling
Coming back from a hardware hackathon, I have a couple of extra ideas.
- Stenography typing at it's most basic level is typing chords. The left hand deals with beginning consonants, the thumbs vowels, and right hand ending consonants. To make it work, I would use the joysticks for the different thumb keys. This could be surprisingly effective, since the nature of capacitive keys allow predictive text. With it, I'm also considering adding a fifth capacitive sensor above the trigger module to allow for more streamlined typing
Inspired from this post https://community.element14.com/products/raspberry-pi/f/forum/8653/case-material-to-protect-raspberry-pi-3b-and-zero-in-hostile-environment
- Shock cages are not very common, but the nature of the cyberdeck revolves around portability. I'm designing it to survive drops that hit the handles, screen side, or back side of the deck. There are two parts to the shock absorption
- Springs: Designed for small drops <0.75m, I can calculate the stiffness required by doing some physics. The potential energy of the shock cage is calculated using weight and height, then I equal that to the elastic potential energy of the spring x4.
- Rubber Grommets: If a fall is greater than 0.75m, then the grommets will somewhat dampen the impact, if much less effectively.
|
May 27: Familiarization with Onshape
LOG-06: 2 hours learning onshape & modeling
I've been modeling the case to work with the eyoyo 10.5 inch touchscreen display. The specs I've found online to help me are: 232.918mm x 165.1mm x 7.874mm. I'll need to mount it using a VESA mount blueprint from the back. Since I've never worked in onshape, I've been going through the tutorial to learn the basics.
|
May 28: Deck Main Body: Heatset inserts & sizing
LOG-07: 5 hours modeling
I've created the walls with another sketch, and have done a bit of tweaking to fit the M2 sized holes for the heatset inserts. The roadtrip has been causing quite a bit of internet trouble, meaning the rate at which I can work is heavily affected. I've also started on the footprint for the picatinny rails.
|
May 29: Picatinny Rails, bottom plate & port blocks
LOG-08: 11 hours modeling
I've finished creating the picatinny rails. This uses specific dimensioning from a sketch and I've created it with appropriate constraints if ever needed to be further modified. The rails are on a feature pattern which made it possible to easily modify the length for both sides, with a separated part allowing me to mirror it. Each of the parts I'm adding has been measured (RPi 5, toggle switches) to the correct length. I'll have 5 toggle switches on the right side, and the RPi ports on the left side. A big challenge was figuring out I was going to create a hinge for the rotation mechanism. I spent around two hours researching how to do this. My original idea was to use a bicycle/skateboard bearing, but it wasn't the right fit. Rather, just sliding a metal rod through rings slotted together kept everything secure. When I want to move it, I'll slide the rod forward which unlocks the hinges to move.
May 30: Mesh Arm Mount
LOG-09: 8 hours modeling
I spent a lot of time on another idea I had. Since the cyberdeck's main theme is portability, I want to give ample opportunity to different methods of traveling. To make traveling with it arm mounted, I decided to layer a mesh on the bottom through the center. This allows the arm to sink into the deck, which has space since the shock cage springs will not be compressed. I've researched some material options and so far the best option is ballistic nylon mesh. I'm going to layer it between two pieces of plastic and secure it with a hex nut. In addition I've been tweaking the hinge design, and I've expanded it significantly to support the weight, while also adding a circular touch to make it look nicer.
May 31: Finished Mesh Arm Mount + Progress on pivot arms
Log-10: 3 hours modeling
I've been struggling a lot with adjustments of all sorts of things. This has been a learning experience on how to properly create constraints to rely only on base structures in the proper format. I've completed the bottom parts to secure the mesh layer, meaning all I need to focus on from now on are the arm mechanisms, and finally the controller.
June 1: Pivot Connection
Log-11: 3 hours modeling
I created the connection piece for the pivot point from the main body base. It was difficult to create the necessary curves as I kept getting errors. Eventually I created two Fillets separate for the top and bottom, and while it isn't flush, it worked. I also created the extra sandwich layer
June 4: First Main Body Print
Log-12: 1 hour fine tuning
I just got one of my first prints back. This will help me immensely with finishing up the body as I'll have something physical to work with and think through the design better. I've noticed that the ports for the toggle switch are a bit too big, and so I've trimmed those down. Other than that, probably just in the next version make sure to include spring mounts.
June 8: Magnetic Arm Mounts
Log-13: 2 hours modeling
The first iteration design for the arm mounts are finished! I've included a slot for the magnet to slide into for securing in position. My plan to unlock it will be putting torque on the mechanism through the outside wires I will place to contact the spring loaded contacts. The next step is to model the controllers, and then finally the raspberry pi 5 mount and spring system. After that, I'll start working on the controller PCB & pin layout for the entire contraption.
Log-14: 6 hours modeling
A lot of time was spent iterating over multiple versions of the controller. Throughout the process, I encountered many errors when using the fillet tool. I've learned from this experience that creating differentiable geometry is key to allowing the fillet tool to propogate fully. I landed on a certain design with a fillet used on most of the body with a chamfer on the edge. The expanded part of the controller that will host joysticks and buttons gradually curves further, rather than immediately setting an arc. The controller is at an angle, which was difficult to achieve, requiring two sketches. This allows the thumb to rest comfortably on the joystick. I'll need create a separate design for the back connection of the joystick due to its tilted nature.
June 9: Redesigned Controller & Pivot Controller Mount Progress
Log-15: 11 hours modeling
I redesigned the controller again. It wasn't feeling quite right, which I found more impactful when the new design emerged with a much more usable joystick & button area at the top. Of course, the struggles don't end there. I had to learn the technique for creating a multi-directional plane on onshape, rather than a single axis one. After splitting it, the next challenge was hollowing them out. The bottom part of the joystick was easy, and it worked first try. However, when I attempted to hollow out the top part of the controller, I kept getting errors. Funnily enough, the solution is nonsensicle. Selecting a side plane next to where the error is did nothing extra, but still removed the error.
With that out of the way, my next step was creating a connection between the two pieces. My original plan was to have two screws on the bottom. This didn't work out however, since the holes were too deep and the design becoming too complicated. I instead settled on sideways screws by expanding up and using a chamfer to tidy it up.
At this point I hit a bit of a mental roadblock. I didn't know where to begin with creating the mount piece that allows the pivot to slot into the controller. Eventually, I just had to start trying sketches, which helped remove the mental block. This leads me to my most current progress for today! I've shown it below.
June 10: Finished Connectors!
Log-16: 6 hours modeling
The back portion of the controller connection was finished today. I decided for simplicity to separate the connector pieces into separate parts, and then merge them together when assembling for printing. I also worked further on the rotation mechanism, and added holes for the wire to go through. The datasheet for the current spring loaded contacts I sourced were no where to be found. I found a cheaper model with a datasheet, and appropriately changed the hole depth. Each of the contacts has a through hole which can be soldered on the bottom, so that's my plan.
The next challenge was to figure out the front connection slots. This involved manipulating the back models to work with the front ones. I separated the screw parts (I'll glue the front section), and created a hole for the front pivot connection to slot into. Wooh! What a relief to be done with that part of the design. My next steps will be: * Modeling the bar & slot pieces with a spring to provide feedback * Designing the shock cage & spring mounts * Creating holes for the buttons, joystick, capacitive sensors, and knuckle straps
June 11-13: Pivot Bar Locks
Log-17: 4 hours modeling, 2 hour call session (show & tell)
During the show & tell, I was recommended to switch from using capacitive touch sensors to time of flight distance sensors (like lasers) or other more accurate measurement tooling. From the research I've done, it doesn't seem feasible to get 12 laser sensors, as that'll cost $50. I've been looking more into infrared sensors, which look promising. I found this video comparing ultrasound vs infrared sensors which was quite interesting. https://www.youtube.com/watch?v=HjeKyi5tizc
I've also created the pivot bar locks, which were not too bad. I spent about 30 minutes on that, while much longer on refining the controller to pivot locking mechanism. I changed it to not be reliant on post-mirror features, allowing my to properly duplicate it on both sides. I also removed the back to front mirror, and instead used a repeater feature that allows me to create a copy in the same orientation, which is what I desired.
June 14: Shock Cage, & Controller Finished
Log-18: 12 hours modeling
All of the core components of the cyberdeck have been created! This is a huge milestone. From here on out, I will only be tweaking the model.
Here's what I did: * Refactored controller shape for trigger * Trigger Slot & Trigger * Controller Stand * Joystick and Button Holes * Knuckle Strap Paracord Holes * Shock Cage Design w/ plenty of holes for extra addons later * Spring friction mount holes * Raspberry Pi 5 mount ontop of the shock cage
June 15: Pinout Research
Log-18: 3 hours battery research, 1 hour KiCad
I've been following the KiCad pcbway tutorial: https://www.pcbway.com/blog/PCB_Design_Tutorial/How_to_make_a_footprint_in_KiCad_.html
So far, I've only made the basic symbol for it, but I plan on finishing the symbol tomorrow. I've also sourced all other controller parts for the build. In this time, I've updated all of the BOM component lists to include more necessary parts for the cyberdeck.
One of the interesting things about battery packs, it's often cheaper to buy premade ones then lithium ion barebone sources. In addition, it makes the cyberdeck battery module flight safe so more wins for portability!
June 16: 0-5v to 0-3.3v analog conversion research
Log-19: 4 hours research, 3 hours creating schematic
The easiest approach to analog reading is using a voltage divider, but I've read it can not work if too high impedance
(low current) or low impedance
(high current). I've been looking through threads, and almost all of them recommend an op-amp. This is a current amplifier that reads from another voltage source. https://forum.pjrc.com/index.php?threads/5v-to-3-3v-analog-translation.37408/
The main schematic was completed today, tomorrow I'll be finishing up with the PCB portion.
June 17: PCB Creation
Log-20: 7 hours creating PCB & editing the schematic in KiCad
There were many difficulties I encountered when creating the PCB. First of all was sourcing components. I had to find good sources for the buttons and the Rotary Encoder. When I had first selected the Rotary Encoder, I must've forgotten I needed a sideways one. It took a long time to find a cheap sideways Rotary Encoder on digikey, and quite a bit of looking through schematic footprints to find the matching one.
With that complete, it was on to organizing the components inside the editor. I realized I had to go back to the schematic and completely redo portions to include wire pathways inbetween the multiple boards I would need. This took a long time, and I had to think about all of the pins that had to transfer between each board for it to function. I didn't want to have the cost go up, so I also had to connect them all together with small pieces, creating breakaway columns.
That's it! From here on out, I'll just be tweaking the repository, and uploading all of the documents I've been working on for the past month!