Final project - FabDeck
group page // repo source files // objectives
Contents
- hero
- project
- questions
- process
- spiral 2.0 thru 2.4
- meta
- body
- meta
- body
- meta
- body
- meta
- body
- spiral 1
- cad
- supplychain
- storage
- integration
- rails
- lighting
- inspo
- fastener
hero >
project >
questions >
What does it do? >
the FabDeck is a portable soldering station for on-the-go hacking. Every year, I go to hackaday and bring my tools and projects in ziplock bags. No more! this year, I went with spiral 0 of my FabDeck, which received a lot of great feedback and vibes from the community.
Who’s done what beforehand? >
the term FabDeck is derived from digital fabrication and cyberdecks; digital fabrication deck.
- This class teaches digital fabrication, and digital fabrication is a large driving force behind the hardware hacking community.
- Hackaday 2022 Cyberdeck contest launch article
`When William Gibson first described the “cyberspace deck” used by the protagonists in Burning Chrome and Neuromancer, he offered only a few concrete details: they allow the user to explore cyberspace, are generally portable, and more adept owners often modify them to fit their particular needs. Anything else was left to the individual’s imagination, due in no small part to the fact that he author himself didn’t exactly know what the things would look like at the time. Still, not bad for a guy who was hammering it all out on a typewriter at the time.
- from the Hackaday 2022 Cyberdeck contest launch article `
from the 2022 and 2023 cyberdeck competitions, cyberdeck projects have absolutely exploded! I want to join in on the fun. here’s a sampling from the web (mostly hackaday):
and some sources:
- https://hackaday.com/2019/12/24/advancing-the-state-of-cyberdeck-technology/
- https://hackaday.com/2023/09/07/2023-cyberdeck-challenge-the-best-decks-on-the-net/
- https://hackaday.com/2023/08/28/this-crt-luggable-makes-sense/
- https://hackaday.com/2023/08/26/2023-cyberdeck-challenge-koat0-portable-terminal/
- https://hackaday.com/2023/08/22/2023-cyberdeck-challenge-modular-cyberdeck-creation-kit/
- https://hackaday.com/2023/08/17/2023-cyberdeck-contest-cyberdeck-red-is-ready-for-action/
What materials and components were used? Where did they come from? How much did they cost? (BoM) >
- fdm
- pla for most things, tpu for handle, feet, washers
- sla
- keycap adapter
- stainless steel
- bottom panels
- acrylic
- top panels, some bottom panels
- fr1
- circuit boards
What did you design? What parts and systems were made? >
my FabDeck is a modular system that leverages ots instrumentation, like portable oscilloscopes and psus, but has a lot of digital fabrication built in. with the exception of the instruentation and tools, I built the following:
- laser-cut acrylic panels for top
- laser-cut keycaps, w/ fdm and sla adapter
- laser-cut stainless steel for bottom
- fdm dovetail rails, w/ m3 heatset inserts + screws and 3x2mm magnets
- fdm dovetail walls, feet, handle
- (spiral 1) waterjet baseplate
- hotglue (and some nitto tape) to secure some features in place when mechanical features didn’t work
each module has the following:
- workbench module - high-density component storage - larger wentai component storage - steel build surface
- HMI module - 2x4 keeb - ssd1306 oled - xiao rp2040
- tool module - secure tool storage
- instrumentation panel module - oscilloscope - psu - logic analyzer
What processes were used? >
- fdm printing
- sla printing
- co2 laser cutting
- fiber laser cutting
- waterjet
- soldering
What questions were answered? How was it evaluated? What worked? What didn’t? >
- can I make a system that goes neatly into my backpack? (weight, size, convenience, secure box, robust)
- the answer is generally yes, with some exceptions. I learned how much sharp corners
- does the system aid my project carrying?
- yes, project carrying works if my projects are small enough (they mostly are); it has made me think more about the size of my projects
- does the system aid my making? soldering?
- there’s a functional reason (not aesthetics alone) I chose acrylic for the top for the workbench; it enables me to take quick stock of my what I have in my inventory
- however, it prevents me from using the surface for rough things, like running an xacto knife (sharp) or soldering something (hot)
- spiral 1 didn’t have a steel plate, spiral 2 does. this has solved that problem
- however, spiral 1 had a baseplate for toolends; they worked in place of the steel plate. spiral 2 does not yet have toolend adapters.
- is this system easy to add to?
- partially true; the entire system uses a 15mm pitch for all holes and 22mm ht for modules, which makes it easy to create things from scratch that adaptA
- however, the design is very bottom up, and not all changes were propagated to all components in the assembly; a generator script would be ideal and definitely improve adding to the system
- since this is a “system” instead of a one-off thing, I found that making sure the system worked as well as the individual modules took additional spirals (the system overhead)
- I also learned that trying to use fab processes within their expected tolerances and intentionally making geometry looser, then compensating with other mechanisms (like magnets) was more fruitful than trying to get just the right tuning on printers; eg tolerance is part of the process and its easier to lean into it instead of fighting it
- I did begin finding limitations with the fdm rails
- after adding enough modules (4-5), I noticed considerable sag on the rails, and at some point did manage to delaminate some of them
- changing the fab process/material could eliminate some of these issues, as well as improve base tolerances
What are the implications? >
this proof-of-concept works well, and means I should invest in optimizing the models driving the design to be more parametric and less bug-free; eg move to cadquery for parts in the future. I plan to build on this system and weave it into my daily use more, and intend to augment it with actuation next semester in machine building class.
some future plans:
- built-in power and data hub
- mux control over power/data hub
- hinges to create foldability; faster pack-up
- connectorized rails; rails themselves become connectors
- fabrication modules (the fab in FabDeck)
- building in the z-direction
- tool-end adapters for better work holding
- better lighting
process >
spiral 2.0 thru 2.4 >
meta >
final project final week day 1
body >
- plan out time tonight
- ideate about v2.0
- draw
- cad from scratch
- start w rails, build around
- [/] frame
- laptop hinge
- drawer system and size offset clearance
- tool storage box
- control box
- additional drawer layers flata stock
- electronics packaging
- fab
- prints of frame and rail
- fabricate metal
- laser cut mourier
- fabricate cam rail
whiteboard >
mourier >
PXL_20231218_063831597.cmp
PXL_20231218_063847103.cmp
PXL_20231218_065316957.cmp
PXL_20231218_071804341.PORTRAIT.cmp
meta >
day3 final
body >
- mcad
- over past few days
- reimplemented rails system in a more parametric way
- ironed out a lot of bugs
- printed a few prototypes and arrived at a workable prototype w drawer
- need a stabilizer to really prove functionality of drawer
- over past few days
wb >
PXL_20231214_194707166.cmp
PXL_20231214_194718716.cmp
PXL_20231215_041824755.cmp
PXL_20231215_042059392.cmp
PXL_20231215_042259612.cmp
PXL_20231215_042750188.cmp
PXL_20231215_043017733.cmp
- ecad
- opting to use kicad instead of altium this time around
- mostly for the xiao footprints
- began playing w kicad plugins in kicad 7.0 to expedite doing things and see how far features have come
- weird issue earlier where plugins were installed but wouldn’t load; downloaded newest version and that seemed to fix
- autorouter (freeroute) works pretty well actually, esp for single layer boards
- haven’t yet figured out how to get it to reliably import rules from source project (maybe I entered drc rules in the wrong place)
- ah, need to update net class rules instead of global constraints (makes sense)
- some weird things where if you close and don’t let it finish, kicad screams at you that you’ve corrupted board
- seems fine if you just close out and come back in
- used the footprint arranger someone made, works great for led array
- haven’t yet figured out how to get it to reliably import rules from source project (maybe I entered drc rules in the wrong place)
- will need to do the actual core of the project in a bit (xiao, display, buttons), but not yet
- considering adding a pi w the touch screen disp
- will likely offload all of the instruments from panel to an addon to simplify the laptop clamshell operation
- will avoid worrying about the thing being too large for the time being; though need to consider how I might reinforce all of it (rails won’t be strong enough as is)
- kicad (place footprints, freeroute) -> quentin’s gerber to png -> lunyee/fablight?
- opting to use kicad instead of altium this time around
sideleds >
- efab
- briefly experimented w autorouting 90 deg vs 45 deg traces
- 90 deg might match isolinear chip aesthetic more, but appears to always miss a single connection
- opting for 45 deg
- will req 0.01” (0.25mm) tapered endmill; for some reason 0.015” (0.38mm) will lead to shorted art in mods, no time to debug
- will do initial pass w larger (more offsets), single offset pass smaller
- display
- attempt1: eink
- attempt2: ssd1306 0.96” oled, configured for SPI
- attempt3: ssd1306 oled, configured for i2c
- easy af, had to scan for the i2c address (not the same as the one in the example code), but took about 2+ hours getting to this point
screenshots >
Screenshot_2023-12-13_023813.cmp
Screenshot_2023-12-13_023837.cmp
Screenshot_2023-12-13_152022.cmp
Screenshot_2023-12-13_172314.cmp
Screenshot_2023-12-13_172430.cmp
Screenshot_2023-12-13_195500.cmp
Screenshot_2023-12-13_195504.cmp
Screenshot_2023-12-14_023130.cmp
Screenshot_2023-12-14_031215.cmp
Screenshot_2023-12-14_152013.cmp
Screenshot_2023-12-14_152023.cmp
Screenshot_2023-12-14_152034.cmp
Screenshot_2023-12-14_152050.cmp
Screenshot_2023-12-14_152527.cmp
Screenshot_2023-12-15_022807.cmp
Screenshot_2023-12-15_022844.cmp
Screenshot_2023-12-15_022847.cmp
Screenshot_2023-12-15_022850.cmp
Screenshot_2023-12-15_022855.cmp
Screenshot_2023-12-15_023657.cmp
Screenshot_2023-12-15_023701.cmp
Screenshot_2023-12-15_023704.cmp
Screenshot_2023-12-15_194330.cmp
Screenshot_2023-12-17_015542.cmp
Screenshot_2023-12-17_163656.cmp
Screenshot_2023-12-17_163704.cmp
Screenshot_2023-12-17_163709.cmp
Screenshot_2023-12-18_182222.cmp
Screenshot_2023-12-19_033829.cmp
meta >
fab final 4 and 5
body >
- efab
- prepped files for keeb
- identified that the assumed diode fp was wrong
- used the digikey ruler to assess correct fp (finally figured out what those are good for, could use smaller versions of thoses in my wb)
- found out keeb fp is backwards
- also a weird problem w size of holes being too large
meta >
final 5-7?
body >
- efab
- all boards (wb and keebpadd) fabbed, a few iterations getting stuff working
- wired up
- not yet programmed, though keeb is the only extension of it though neeed to figure out graphics for screen
- mcad
- sys int hell
- making a box fit was nnoying
- took a couple of iterations, enjoy the standoffs I made by the pcb for keeb is too large, so annoying fit issues
- oh yeah, display model off grabcad was wrong by 1mm in x and y, so had to fix that
- watched some cool VFD video on youtube, may put fluoresentc pink on top
- fitment
- screw in keyboard completely before applying keycaps
- keycaps
- cool idea, but literally the most annoying spiral ever
- fluorescent acrylic keycaps, w sla switch adapters hotglued (because I couldn’t think of a better way to do it in short time)
- plus hotglue is basically theromplastic, which is arbitrarily better than tehrmoset in my head (reversibel?)
- but rotation! I made a neat jig and had to do 3 iter total for adapter, eventually switching back to fdm (fdm is pretty nice even for small things if printer is tuned)
- on that note, also made M2 thick washers (been doing fdm thick washers for a bit now), and the M2 worked really well!
- gives me confidence in the multi-core printer Idea I havve
- rotation was imipossible to control for in my process; probably couldve refined or maybe used superglue, but wouldve made demolding diffiult
- maybe that was the other issue, should’ve used tpu for mold/jig
- anyways it also hurt my fingers because hot glue
- point of the story is making multi-step keycaps hard, registration big deal
- glad thats over with, on w the show
- programming
- highly unlikely ill integrate more electornics at this point, running out of time
- thought the muxing power contorl idae neil had was cool, but probalby out of scope for final
- need to keep display simple; wanted to do leds and might still do that
- display can show mode
- keys can switch
- highly unlikely ill integrate more electornics at this point, running out of time
- rail conn
- not sure if I can get to rail conn tonight
- tool addons
- not sure if i can get to taht, could print some threads as a rail addon, easy i guess (thick 1/4” fittings anyways)
- tomorrow I need to focus on presentaiton as much as possible; I’m the SECOND person going in the WHOLE line up, need to not mess this up
- poster depicting project (exploded model, use poster board salvage from trash)
- wnat a exploded view; if white on black, probably need vinyl (could even do yellow, yeeee)
- if balck on white (boring); then can use large format printer (which we have (?))
- poster depicting project (exploded model, use poster board salvage from trash)
- need to make video
- will likely be dramatic editting; no time to film a bunch (surprise)
- allso, we tore apart the camrails because chance needed steppers
- will likely be dramatic editting; no time to film a bunch (surprise)
- efab
- discovered a short w my wb board
- milled another one just in case
- started a ct scan to figure out what was wrong
- ct scan showed a short directly between 5v and gnd
- the newly milled one didnt take too long and soldered, but then ended up w a short on different pins due to excessive solder paste
- learned a neat trick; deposit solder through the castellated pin; can see if filled if solder overflows underneath
- unfortuantey also creates a ton of shorts
- learned that the xiao fp I was using actually has a flipped 5v and gnd (wtf); happened to figure this out after installing fab libs for kicad
- proceeding w redesign to use th soldering; have to do a dumb thing where I keep the xiao arbitrarily far from board to solder same side th
- forogt that th needs to be arbitrarily increased such that square header pins can fit
- apparently bare minimum width of 1/32 is not enough
- 0.64mm wall to wall on conn
- but ~0.77mm diagonal
- and 1/32 = 0.79mm
- makes sense, need to increase
- paint.net skillz (gaussian blur, fill)
- also convinced mods that the endmill was smlaler, so it makes bigger circle
- ok, fits great now
- discovered a short w my wb board
rails >
PXL_20231213_171444083.cmp
PXL_20231214_045512504.cmp
PXL_20231214_191249211.cmp
PXL_20231214_191332252.cmp
PXL_20231214_194159810.cmp
PXL_20231214_194542034.cmp
PXL_20231214_194548744.cmp
PXL_20231214_231231867.cmp
PXL_20231217_063451932.cmp
PXL_20231218_000844327.cmp
fiber >
PXL_20231215_220409854.cmp
PXL_20231215_221823077.cmp
PXL_20231215_223322907.cmp
PXL_20231215_223532567.cmp
PXL_20231218_000852217.cmp
PXL_20231218_232429586.cmp
PXL_20231218_235719519.cmp
PXL_20231218_235724947.cmp
PXL_20231218_235728565.cmp
PXL_20231218_235733471.cmp
efab >
error >
keeb >
PXL_20231215_071509096.cmp
PXL_20231216_053634510.cmp
PXL_20231216_054316441.cmp
PXL_20231216_055717286.cmp
PXL_20231216_063635584.cmp
PXL_20231216_063637255.cmp
PXL_20231217_061739434.cmp
PXL_20231217_061744497.cmp
PXL_20231217_203931806.cmp
PXL_20231217_211822733.cmp
PXL_20231217_213205605.cmp
PXL_20231217_214927412.cmp
PXL_20231217_215254714.cmp
PXL_20231217_215320181.cmp
PXL_20231217_215331395.cmp
PXL_20231217_215347154.cmp
PXL_20231217_231234640.cmp
PXL_20231217_231251439.cmp
PXL_20231217_231314846.cmp
PXL_20231217_231913360.cmp
PXL_20231217_231938951.cmp
PXL_20231217_231940699.cmp
PXL_20231217_231948374.cmp
PXL_20231218_010454940.cmp
PXL_20231218_010459707.cmp
PXL_20231218_012657006.cmp
PXL_20231218_012701405.cmp
PXL_20231218_012746858.cmp
PXL_20231218_012821589.cmp
PXL_20231218_013050223.cmp
PXL_20231218_014834295.cmp
PXL_20231218_025951553.cmp
PXL_20231218_034850305.cmp
emergency_ta_hologram >
PXL_20231217_064104450.cmp
PXL_20231217_064113863.cmp
PXL_20231217_064843130.cmp
PXL_20231217_065220804.cmp
PXL_20231217_065343710.cmp
PXL_20231217_065350521.cmp
display >
hmi >
PXL_20231217_201424760.cmp
PXL_20231217_234609060.cmp
PXL_20231217_234628026.cmp
PXL_20231217_235203269.cmp
PXL_20231217_235218727.cmp
PXL_20231217_235400328.cmp
PXL_20231217_235440713.cmp
PXL_20231217_235520475.cmp
PXL_20231217_235800177.cmp
PXL_20231218_000050047.cmp
PXL_20231218_000051085.cmp
PXL_20231218_000052572.cmp
PXL_20231218_000822073.cmp
PXL_20231218_015123462.cmp
PXL_20231218_081934545.cmp
system integration >
PXL_20231215_070710705.cmp
PXL_20231215_085839649.cmp
PXL_20231215_203441097.cmp
PXL_20231216_220216583.cmp
PXL_20231216_220319236.cmp
PXL_20231216_224926936.cmp
PXL_20231216_235923923.cmp
PXL_20231217_042759662.cmp
PXL_20231217_061718899.cmp
PXL_20231217_062120177.cmp
PXL_20231218_083054516.cmp
PXL_20231218_084406845.cmp
PXL_20231218_092741079.cmp
PXL_20231219_001335366.cmp
final >
PXL_20231219_075041271.cmp
PXL_20231219_075046776.cmp
PXL_20231219_075056610.cmp
PXL_20231219_075150091.cmp
PXL_20231219_075256493.cmp
spiral 1 >
cad >
supplychain >
storage >
PXL_20231028_202903803.cmp
PXL_20231028_202939773.cmp
PXL_20231028_203131827.cmp
PXL_20231028_203327979.cmp
PXL_20231030_033138817.cmp
PXL_20231030_035748774.cmp
PXL_20231030_035750693.cmp
PXL_20231030_035755553.cmp
PXL_20231030_035807474.cmp
integration >
rails >
lighting >
inspo >
- DPS5005 power supply case, 6” Rackmount
- Customisable Module Socket for ESP8266 HC-05 etc
- https://hackaday.io/project/187584-modular-ots-cyberdeck-creation-kit
- https://www.digikey.com/en/products/detail/digilent-inc/410-415/19235661
- https://www.crowdsupply.com/sutajio-kosagi/fomu#products
- https://hackaday.io/project/193354-smd-organizer-cartridge-magnetic-wall-mounted
- https://hackaday.com/2023/08/25/hackaday-prize-2023-jumperless-the-jumperless-jumperboard/