CH340 Drama on OSX 10.12 Sierra 16A313a

After a recent update to my OS X Sierra, plugging in an Arduino clone suddenly caused a kernel dump on my macBook. I’m running the beta program and it didn’t give me a problem until this week. Something must have changed.

UPDATE: Yu Wang point me to a website that contains an updated CH340 driver that works with MacOS Sierra http://www.mblock.cc/posts/run-makeblock-ch340-ch341-on-mac-os-sierra

I traced the issue back to the CH340 driver, and it needs to be uninstalled.

  1. Open a terminal and type: cd /Library/Extensions/
  2. Verify that the .kext file is present: ls | grep usbserial.kext
  3. Output should be: usbserial.kext
  4. Then type: sudo rm -R usbserial.kext
  5. Verify that the .kext file has been removed: ls | grep usbserial.kext
  6. Output should be empty.
  7. After youshould remove the files stored in receipts folder: cd /private/var/db/receipts/
  8. Find the enties: ls | grep usbserial*
  9. Output should be: codebender.cc.ch34xinstaller.usbserial.pkg.bom codebender.cc.ch34xinstaller.usbserial.pkg.plist
  10. Remove each one of the files of the above list: sudo rm -r filename`

To verify that the driver has been successfully removed, go to System Information Panel, select ‘Extensions’, and sort by provider to quickly see what 3rd party drivers you have installed. After uninstall/restart I took the following screenshot.

macbook_pro

The wch usb driver has been removed and I can now safely plugin the device. It won’t be recognized by the OS but as long as it doesn’t crash my machine that’s fine.

source

Update needed

This project desperately needs some content. i am working on it!

Rastering Autocad 2016 designs on OSX

For my simpit i designed several backlit panels that i wanted to engrave using the lasercutter at our hackerspace. To print with this lasercutter, i need to export my drawings, save it on a network share and then run VisiCut on a laptop running some Linux distribution. Even though all the fonts and files are there, the export of the DXF loses all the fine details of the font and line thickness. This is probably because i’m a total n00b with AutoCad and VisiCut. Searching on the ‘net the only solution was to vectorise the image on a Window edition of AutoCad (because that comes with the awesome text tools that aren’t available on the Mac edition of AutoCad). I have no Windows machine so that is an absolute no-go.

However I found a workaround to get the 100% spot-on engraving option of my design.

The trick is to print the design to PDF in AutoCad and save the PDF as bitmap to get the proper DPI:

  • Select the layers you want to engrave, either through a WBLOCK or direct from your main design
  • print it as PDF. Make sure you print 1:1 and that you paper size is large enough.
  • Then, on the Mac, open the .PDF with Preview,
  • Crop the image
  • Save As PNG. This will allow you to set the DPI of the target image (be blunt and just set it to 1000dpi or something).

Now, to laser-engrave our design you need to make sure that the scale is exactly right. VisiCut is a little pesky about opening bitmaps, but what I do is I open the DXF of the design, and then IMPORT an additional layer with the pre-rasterized bitmap I just saved. With a little adjustment, you can overlay the PNG on the vector file. When the scale is absolutely spot on you can delete the vector file.

MFD panel made

it’s just an empty panel for now, but i have all the parts! Time to work on the softwaref!

image image

IMG_3569

About that DIY keypad

IMG_3569

This panel is part of a long-running project to build a simpit for Elite Dangerous. It is the keypad for the navigation computer that will replace the standard QWERTY keyboard, adding some nice features and a immersive design.

I made the panels and switches by painting transparant acrylic sheets with Humbrol modelling paint (comes in a small spray can). This paint is specially made for plastics, has very good adhesion and doesn’t melt when lasercutting. I have to paint several layers for it to become opaque (hold it against the light and check that no light bleeds through).

After the paint is done I can engrave the panels so that the white below the paint comes through.

The comes the engraving/cutting. All the panels we lasercut with the 40W lasercutter we have at my local hackerspace; i must have spent several hours sitting next to it by now! At first I wanted to make a proper PCB for the switches. But as this is a one-off prototype and PCB’s for this size are pretty expensive i tried to do it by hand. After designing the layout in AutoCAD 2016 I added several layers in my diagram:
1) switch solder panel (2mm,my alternative for the PCB)
2) support panel (actually wasn’t needed but it serves as a good standoff panel right now).
3) button panel (5mm thick creme transparent white with black paint)
4) button retaining panel (2mm white)
5) front panel (3mm thick creme transparent white with dark grey paint)

Because the buttons are 5mm and the front panel is only 3mm, the buttons stick out by 2mm which gives are nice glowing effect when they are lit.

Layer #4 is something that came up last-minute since my previous solution didn’t work. These are little plates that are glued to the backside of the buttons so they do not fall out. The buttons themselves are 13×13 (wider ones are 21×13) and the backplate is 15×15 to give them a 1mm border.

This all comes together in a stack. The distance from the pseudopcb to the buttons is fixed with a few stand-offs, but exactly high enough so that the spring tension of the switches pushes the buttons against the front plate without actually making contact. These tact switches have only 0.5mm travel.

Pictures!

IMG_3542

Load of wiring because of the LEDS and the Switches

IMG_3551

Prototype

IMG_3563

Closeup

IMG_3565

Sorting the buttons

IMG_3568

Button back side

 

 

Keys

image

Scenes from the cutting room

Today was a day for more lasercutting. 16 MDF panels in total. When i got home i couldn’t wait to see if my calculations were correct. Other than a few minor errors it wasn’t that bad at all!

It looks all crooked on the pics but that is because they are very very roughly screwed in place. When they all fit, the entire thing needs sanding and paint.

image image  image

Console woes

Decided i needed more switches. More switches means more panels. More panels require console. See pics for progress.

imageimageimageimage

Reading the not so smart meter

Today I completed another small project. I’ve got this ‘smart meter’ in my house. The smart bit is that automatically sends off the meter data to the network provider. But I can not see the actual power usage from inside my apartment.

My meter has an infrared LED interface (right next to the meter above 1000 imp / kWh), which gives a pulse for every kWh consumed. By measuring the time between pulses and to count I’m on a current consumption in watts (3.6 / pulse duration to be exact).

I already had a sensor network running based on my previous Simplyduino project, so the addition of a new node was a quick job.

The graph shows that it works well. I still can not explain all the peaks, but the high consumption (800W) between 10:30 and 16:00 is my electrical water boiler.  The other major consumers are the refrigerator, the coffee and tea (for short peaks).

Measuring is knowing!

IR sensor diagram (led1 not used for now).

2_Schematic_-__Users_rob_Projects_Arduino_SmartMeter_SmartMeter_smartmeter_sensor_sch_-_EAGLE_7_5_0_Light

 

Closeup of the meter

IMG_3187

 

Sensorium graph:

Chart_-_Sensorium