Jack Crossfire's blog View Details
Posted by Jack Crossfire | Yesterday @ 08:07 PM | 3,354 Views
This one was the 1st to have an overlapping clamshell everywhere without a hole. That should give it some minimum waterproofing. Given the joystick is never going to be water tight, the best waterproofing is to have every switch be a custom hall effect sensor mechanism & to put the
electronicals inside a gasket enclosure. It would increase the size. There was no problem with the ergonomic grips only being 1/2 as high as the controller.

Made a new gear with smaller teeth. That allowed a 4.5:1 gear ratio. The matterhacker filament was clearly darker than the novamaker filament.


Finished the test run with a lot of firmware crashes. The joystick was arguably too big. Some more font size tweeking is required. Hot glue doesn't stick to planar PLA. It sticks quite well to PLA laminations. Vertical stuctures have to be made on a planar surface for hot glue to stick to. The battery should be stacked on top of the inductor & the length reduced. The leads on the switch can be cut to reduce the length. The clamshell should have the inner wall on the electronics side to make it easier to hot glue.

This was close enough to be the last prototype for the camera panner. The next remote control is for vehicle control.
Posted by Jack Crossfire | Oct 17, 2020 @ 07:38 PM | 2,934 Views
Bed facing isogrids without support or infill are possible if you can handle sagging. There's enough sagging to get flat tops without infill. They print a lot faster than solid plastic. Helas, there's no way to subdivide the isogrid when facing the bed. Supports require too much cleanup. Modeled supports don't buy any advantage, because the entire surface has to be supported. It would take a dual extruder.

Prototype #5 for this controller had another batch of surprises. Tempting to make it another 5mm thicker in just the battery area to make it 32mm shorter. Thickness is only constrained by the switch. Saying Freecad has parametric models is generous. The spreadsheet program has no insert, remove, differentiation between strings & variables, no way to view the available parameters in the 3D view, a text editor that randomly exits.

Having a temporary screw retain the spring during assembly was gold. Lions 1st saw the technique in building the lunchbox. The MHPS2283 switch is also the best switch of its size. Lions 1st saw those inside a microphone. The momentary version of these switches is not so ideal, since they don't click like tact buttons or boundary switches. The best momentary button may be a hall effect sensor.

This one has modeled supports for countersinking screws in the isogrid. The countersinks are 2mm deep. An overlapping clamshell should make it slightly waterproof. Overlapping clamshells require parametric modeling.
Posted by Jack Crossfire | Oct 14, 2020 @ 01:22 AM | 1,879 Views
There aren't many gootube videos on the subject, but printing small parts requires designing the piece with 3D printing in mind.

For the standard lion settings of .2mm layer height & .4mm line width, z coordinates have to be a multiple of .2mm. Wall thicknesses have to be a multiple of .4. Cura doesn't enforce the multiples for some reason. It does enforce a minimum top & bottom thickness of .4mm.

A fiendish problem lions chased for weeks was ridges in horizontal surfaces. Horizontal pieces have to be at least 1.2mm thick to get a smooth top surface. That creates .4mm of top thickness, .4mm of bottom thickness, & .4mm of infill.


If the piece is 1mm thick, it needs to have .2mm of infill & will have a ridged but bearable top surface. If the piece is .8mm thick or is solid, it'll have no infill & unbearable ridges in the top surface. The printer needs a void between the top & bottom to push in excess filament. Ironing literally pushes filament into the infill.

For pieces over 1.2mm thick, the issue becomes how thick the top & bottom shell can be, since the only force is the top layer against itself instead of against the bottom layer. There is a certain limit beyond which it'll form ridges, probably .8mm.

Parts have to be printed so forces transfer along the filament lines rather than between layers. This results in funky orientations, but resolution in the Z direction is also a lot less than resolution in X & Y. Parts have to...Continue Reading
Posted by Jack Crossfire | Oct 13, 2020 @ 08:14 PM | 1,479 Views
Didn't think a lion would ever be able to replicate the crew dragon isogrid pattern. Didn't even realize it was just an isogrid until starting to model isogrids. Thought it came from aliens because it has inner subdivisions.
It actually feels just like a cheap toy. Most of the world's artistic CAD modeling is devoted to toys. While the isogrid does strengthen the PLA, it's manely artistic. The crew dragon is probably procedurally generated just like this, but with a much more sophisticated model that allows inserting extra doohickeys.
Posted by Jack Crossfire | Oct 08, 2020 @ 03:55 PM | 1,139 Views
The next remote control began life as a series of unmitigated disasters, but completely expected. It takes a lot more prototypes to get mechanics right than it took to get electronicals right.

A full prototype burns $1 of filament but takes 8 hours to print. If it printed 24 hours a day, it would burn $100 of filament per month or 5% of rent. Creepy how the lowest steering wheel layers look like a gas mask.

Things finally started turning the corner when lions abandoned automatic horizontal expansion & manually tweeked the CAD models. Automatic horizontal expansion yielded very erratic results. Shafts ended up too thin. Wide layers ended up too thick.


3D printed text is pretty awful from a .4mm nozzle, but changing nozzles requires changing all the expansion tweeks.
Posted by Jack Crossfire | Oct 05, 2020 @ 12:50 PM | 1,399 Views
The answer is no. You can't buy the ergonomic knobs & sticks in game controllers as standalone parts. They all have to be custom designed. The only standardized parts are hall effect sensors & potentiometers buried inside the controls, which are not ergonomical.

It took 4 prototypes to finally arrive at a spring loaded wheel suitable for steering. It just needs a few tweeks to reduce friction, tweeks to increase the spring tension, size optimization, & a more common spring. The lion kingdom believes with common pen springs, hall effect sensors, & only PLA, a highly water resistant, ergonomic remote control can be developed. A fully waterproof remote control is not affordable.
The only 2 waterproof controls a lion can afford are a steering wheel & throttle slider. The power switch, reverse, speed adjustments all have to be stock buttons.

Helas, it's clear from playing with this that it's not possible to jockey the steering wheel in back while simultaneously jockeying a trigger in front. Boosted boards use their trigger as a safety rather than a throttle. They always press the safety when jockeying the wheel.


Exposing the wheel on the rear is good enough for just a camera panner. The next goal is not a rear wheel but to standardize all the controllers on a side wheel where the steering buttons are.
Posted by Jack Crossfire | Oct 05, 2020 @ 12:30 PM | 1,381 Views
Direct drive panner (9 min 50 sec)





Quite a relief to finish 8 years of trying to solve this problem with a 1st design that gave pretty good results on the 1st try. It definitely would be better with proportional steering, especially for tracking objects. Timelapse mode was overrated. The ship would have to be stationary to give good results or timelapse needs a brushless gimbal.


The remote control buttons need to have the same steering directions as the driving buttons. Being a right or left pawed controller makes no difference in lion perception of what direction should be on top. It needs an enclosure to prevent cargo from interfering with the motor. Needing an enclosure, it might as well receive a gearbox. The remote needs the pinky grip. Holding it like a TV remote for 1 hour is stressful.


Smooth panning is actually really hard for a direct drive motor. The mane problem is cogging. Brushless gimbals have a true position from an encoder which allows them to lead or lag the motor phase, depending on the cogging. Most of them just rely on moving fast to hide the cogging. The lion kingdom's AI camera is smooth by being incredibly expensive & heavy.

Without some kind of encoder, your only option is driving the magnets harder. It takes a cooling fan, metal motor mount, high temperature farsteners, high capacity power supply. A geared stepper motor is what you need, but takes more space. A gearbox would allow it to be powered down...Continue Reading
Posted by Jack Crossfire | Oct 02, 2020 @ 09:27 PM | 1,444 Views
It was finally possible to abandon the stock gopro mounts & make something lighter, which didn't slip, & which farstened to carbon fiber.

TODO:
- round joints on the outside instead of square joints on the inside
- knobs for the wire bits
Posted by Jack Crossfire | Sep 28, 2020 @ 03:38 PM | 2,375 Views
The STM32F405 is now $12, 25% higher than it was 10 years ago, despite newer ARMs being around & single board confusers being less. They're charging for the realtime & the ADC.

There are much cheaper STM32 derivatives if you just need to control a 3 phase motor, don't want the hassle of juggling timers in software, different architectures, or bit banging UARTs. They can do everything that an ATMega does. The Feiyu gimbal used STM32F103's.

As the apartment inventory of 10 years ago declines & the time to order new micros approaches, there's sort of a junction between buying new STM32F's for everything or continuing to buy ATmegas & PICs to be like everyone else. The lion kingdom definitely isn't going to buy any more PICs & the 8 bit age generally seems over.


Interestingly, there's never been an open source J-link/SWD/DAP programmer, as popular as it is. There is an openocd option which uses the st-link chip on an stm discovery board to program a variety of ARMs. There is a library for generating SWD codes but not flashing firmware:
https://github.com/ataradov/free-dap...aster/platform

The lion kingdom once made an openocd driver which used a PIC as a JTAG emulator but not SWD. The trick is openocd already had to do everything above the bit banging level.
Posted by Jack Crossfire | Sep 28, 2020 @ 02:40 AM | 2,754 Views
It was after laying this out that the lion kingdom realized how much its philosophy changed in the last 20 years. An ARM is seriously overkill for controlling a 3 phase motor & receiving packets from the radio.

20 years ago, a lion would have used an 8 bit PIC, developed the routines required to generate 3 PWM waveforms in software & receive packets from the radio. It's just so much easier to get that working on an ARM & there are enough spare ARM chips in the apartment, it's no longer worth the trouble. If it was 20 years ago & lions had only PIC's, it would have been done the old way.

Then, after playing with the spectrum analyzer, it was revealed that the giant loop antennas lions used for the last 11 years are unnecessary. They were seen as a way to use balanced antenna pins without a balun. In reality, a monopole gives good results with just a 16nH inductor shorting the outputs & a 100nH inductor in the 3V supply position. If a loop antenna is used, it doesn't need the 16nH inductor.

Lions had always based their usage on the balun circuit in the MRF49XA datasheet & never tested the signal strength of different antennas, even with the RSSI functionality built into the radios. They just spread the radios apart on a golf course until they stopped receiving.

The extra parts for the MRF49XA may have been to match a 50 ohm load. When this part was rebranded later as the SI4421, the new datasheet only showed a loop with no inductors, but lions never saw it. They even left out the 100nH inductor that supposedly chokes the RF from entering the 3V rail. The 100nH would only be needed for transmitting & FCC certification. Not sure where the 16nH came from. The MRF49XA datasheet showed a 22nH.
Posted by Jack Crossfire | Sep 24, 2020 @ 11:39 PM | 1,939 Views
This would be a really shmick set of carbon fiber farsteners if it was on amazon.com. Lions never were impressed by 3D printed prototypes from startups, but carefully designed & manufactured parts can look really professional. The mane test is still if it stays together in the field.
Posted by Jack Crossfire | Sep 19, 2020 @ 05:17 PM | 2,004 Views
A new filter, maximum load test, & the nozzle actually worked. The blower didn't entirely fit in the nozzle, but going halfway seemed to be enough.

The outlet was left scotched on so if the air comes out too fast, the outlet diameter can be changed. A motorized outlet was deemed unnecessary & would have required upsizing the rest of the nozzle. A bayonet mount for the outlet would have been nice.

The only glitches were the IR getting obstructed by the cables & no protection from the nozzle hitting the wall. The air comes out faster than expected. The bearings & contortions didn't impede the airflow as much as expected, but that's why it's a fighter jet nozzle.
Posted by Jack Crossfire | Sep 19, 2020 @ 02:48 AM | 2,503 Views
Cable guards installed, hall effect sensors rearranged, & cables farstened. Getting those cable guards to fit around the motor modules & attach to the tubes required some of the gnarliest CAD modeling. A revision would definitely involve screwing them onto the tubes instead of gluing them.


Wrapping the cable in captain tape & hot gluing the captain to the plastic proved to be the best way to farsten it. A 6mm diameter proved to be the narrowest PLA worm size before it crumbled.

The cable guards still aren't perfect. The laminations have to be smoothed. A heavier cable snags less than a skinny wire, so a bundle of captain where the cable meets the cable guard helps.
Posted by Jack Crossfire | Sep 15, 2020 @ 03:14 AM | 2,641 Views
After building a distributed board & discovering just how intrusive it would be to hang 1 off each motor, the decision was made that a bundle of cables could be made less intrusive through careful bundling, so the monolithic board was rebuilt again. The monolithic board was also a lot closer to working, while a distributed board would require a serial protocol on top of the motor control.



All wired up, after a full day. The monolithic confuser also got some enhancements, a 2A buck regulator instead of a 0.5A linear regulator, dedicated pins for all the Vcc's, no more kill switch. The kill switch is all over IR.

The wiring trick was to mock up the sensor harness outside the robot, but it was too late to mock up the motor harness. The motor wires will need a splicing to adjust their length after it's actuated a few times. Still have yet to find a way to bind the cables to the PLA, but no tape sticks to PLA.

It's leaning towards hot gluing captain tape to the PLA, but hot glue has to be applied really quickly to avoid melting the PLA. Ideally, cable mounting screw mounts would be printed into the plastic, but the cable routing couldn't be known before mocking it up. The whole thing may actually get printed again.
Posted by Jack Crossfire | Sep 13, 2020 @ 07:13 PM | 2,200 Views
So the lion kingdom uses vintage microcontrollers because they look cool, there's an abundant supply in the apartment, the current task needs hardly any computing power, & modern C compilers don't tie your program to a specific chip. It wasn't that way 20 years ago when these microcontrollers 1st arrived. They all have dead pins which are normally labeled.

Helas, partway through the wiring process, the lion kingdom decided to abandon this effort. The cables were prone to snagging in those complicated rotating joints & weighed a lot. Each motor required 6 wires, leading to a bundle of 12 wires following a serpentine path to the mane board.

As much as lions love the look of vintage electronicals, the happy path was not a single microcontroller controlling all 3 motors but a separate board for each motor. Each board gets 2 wires for power & a 3rd wire for communication. They all attach to the same 3 wires. It'll be another while to regain today's state.
Posted by Jack Crossfire | Sep 11, 2020 @ 10:10 PM | 1,684 Views
It was a battle to choose between more accuracy & finishing it. The rest of it was only an F-135 in spirit rather than accuracy, so the decision was made to stop the detail at just the chevrons & the inset diameter. It's not as detailed Chinese models of the outlet or the nozzles on the gootubes. Lions were limited by synthesizing it from equations rather than CAD software. It's something Freecad might have been able to synthesize faster.
Posted by Jack Crossfire | Sep 11, 2020 @ 01:24 AM | 1,782 Views
The last functional part rolled off the printer after 3 full days of printing. The last part took 14 hours because the lion kingdom forgot its motor mount. It was supposed to take 16 hours. That was the 1st PLA bodge job. Things would print a lot faster if they were solid instead of isogrids, but lions wanted everything to have isogrids.

Final assembly revealed how the home position & initialization would work. Home position has the segments straight. Fully deflected has it at 90 degrees. The boundary magnets have to be out of the range of functional movement so it knows which way to turn to reset.

Since the mane gears are split & the nozzle is supposed to face sideways, it should be installed so home position has the gear splits on the sides.

This experience revealed the bottom side is absolutely horrendous when using supports & rafts. Those should only be used when necessary.

The pinion/encoder gears using rafts came out absolutely horrendous. They should be done with no adhesion, but with supports. Ideally, they would have a 0.2mm nozzle. Pinions only burn 20 cents of material.


There is quite a bit of sticking when it's horizontal. It'll need plumber's grease to start & maybe have to be rebuilt using ball bearings. Using isogrids definitely lessened the friction.

If this was a manually operated nozzle with friction brakes, it would be done, but the whole show now starts over with the electronicals.

The power LED should ideally be red & inside the nozzle, but to make it more visible, it may have to go on the outside.
Posted by Jack Crossfire | Sep 09, 2020 @ 03:34 PM | 2,024 Views
The largest isogrid not pictured burns $1.56 of filament & takes 16 hours to print. That goes last, when all the bugs are fixed. If the printer runs continuously, it'll burn through a spool of filament in 7 days. With delivery times of 7 days, keeping a spare spool around is a way to never run out.

Besides what's on the gootubes, only the $170 printer & $20 of filament were required to get started. It's so affordable nowadays, it's going to change everything. Lions would consider Lipo, 2.4Ghz, autopilots, action cams, brushless gimbals, & 3D printing to be the mane RC innovations of the last 20 years.
Posted by Jack Crossfire | Sep 08, 2020 @ 02:24 PM | 4,992 Views
Finally got enough filament to make complete parts.


As much as it's an enormous improvement in capability, 3D printing still reminds lions of extremely sketchy, low budget startups. Up close, stuff looks terrible & breaks. Would lions find similar 3D printed parts in an A startup like neuralink?
A startups get all the best gear for free. They'll use stronger materials than PLA & faster machines which can do .2mm extrusion in a lot less time. It took 7 hours to print the isogrid tube with .4mm extrusion.

As much as the internet extolls how a 3D printer will change your life, it's the very end of a long process of CAD design. How much better a 3D printer does than wood carving depends on your investment in CAD design. A 3D printer doesn't make flat plastic become an isogrid.
Posted by Jack Crossfire | Sep 06, 2020 @ 09:36 PM | 6,298 Views
Still a long way from being done, but another long day yielded a chevroned exit nozzle from pure equations.

Freecad is so limited, it's definitely not up to this task. An off the shelf motor encoder would eliminate 1 quagmire, but the boundary sensor would remane.

The mane limitations today were no booleans with part containers, no ability to change the contents of a boolean, no ability to create fusions with just 1 object, trying to rotate the view causes translation to glitch. You can change the contents of a fusion inside a boolean, but not create a fusion with 1 object as a placeholder. It can create booleans with compounds.

1 way to work around the limitations might be to create placeholders for different modules to figure out the alignments & use those to make detailed models in another file. The aligment of the motor requires everything to be assembled in a single file.

The mane limitation in 3D printing isn't the printer but the CAD software & the CAD skills of the operator. You're not going to fully exploit 3D printing with freecad or without some advanced scripting. Most people 3D print scans of something someone else made or 2D enclosures they could make from wood.