Giter Club home page Giter Club logo

repetier-firmware-4-davinci's Introduction

Da Vinci Firmware based on Repetier (0.92.10)

============================

Join the chat at https://gitter.im/luc-github/Repetier-Firmware-0.92

Build Status: Build Status

This firmware is based on the popular repetier firmware for Da Vinci 1.0/A, 2.0 single fan, 2.0/A dual fans and also AiO (NB:scanner function is not supported so AiO will work like an 1.0A)

Do not use it on PRO or Jr or Mini

Be noted original Repetier FW is not compatible wih Davinci boards

If you change the board, currently DUE based are supported with RADDS, as well as Graphical screen and LCD with encoder, there are some sample configuration files provided for RADDS/DUE/GLCD using 1/128 step drivers.

YOU MIGHT DAMAGE YOUR PRINTER OR VOID YOUR WARRANTY, DO IT ON YOUR OWN RISK. When it is possible on 1.0/2.0, currently on 1.0A/2.0A and AiO there is no way to revert to stock fw so be sure of what you are doing.


AiO scanner support is present in FW but scanner software support is currently basic, horus is a good candidat, feel free to help here

The board can be easily exposed by removing the back panel of the printer secured by two torx screws. Supported boards have a jumper labeled JP1, second generation boards have a jumper labeled J37. More info can be found on the Voltivo forum.


Here are just a few of the benefits of using this firmware:

  • It works with host software such as repetier host and OctoPrint, cura, Simplify3D, etc... giving you full control of your hardware.
  • It works stand alone (not connected to PC) if you use a WIFI SD Card or SD card extender.
  • It allows the use of clear ABS (by disabling optical sensors), as well as other arbitrary filament brands/types as temperatures can be controlled freely and there is no requirement for chiped cartridges.

You can find more info on the Voltivo forum.

The current firmware is based on repetier Firmware 0.92 : bgm370 Da Vinci 1.0 FW
Sources are here
The previous version (based on repetier v0.91) can be found here


Current Status

Beta - so far so good


Installation

  1. With the machine off remove the back panel and short the jumper JP1 or J37 depending on model. Some Boards do not have jumper pins exposed but can still be shorted with a conductive wire.
  2. Turn the machine on and wait a few seconds then turn it off again. The machine will have been flashed removing the current stock firmware and allowing it to be detected as a normal arduino DUE. NOTE: Windows users may need to install drivers to detect the board. Consult the Voltivo forums.
    Note : points 1 and 2 are only needed to wipe the stock fw or a corrupted fw, for update they are not necessary. Note 2: remove the jumper before flashing if still there
  3. Use an arduino IDE supporting arduino DUE, 1.8.0 with Due 1.6.8 module from board manager FAQ#166.

    Do not use 1.5.8 it is not supported and will give compilation error: FAQ#201

  4. Update variants.cpp/USBCore.cpp arduino files with the ones present in src\ArduinoDUE\AdditionalArduinoFile according your IDE version.
    NOTE: You do not need to compile arduino from source these files are in the arduino directory structure FAQ#114.
  5. Open the project file named repetier.ino located in src\ArduinoDUE\Repetier directory in the arduino IDE.
  6. Modify the DAVINCI define in Configuration.h file to match your targeted Da Vinci. See below.
  7. Under the tools menu select the board type as Arduino DUE (Native USB Port) and the proper port you have connected to the printer. NOTE: You can usually find this out by looking at the tools -> port menu both before and after plugging in the printer to your computer's USB.
  8. Press the usual arduino compile and upload button.
    If done correctly you will see the arduino sketch compile successfully and output in the log showing the upload status.
  9. Once flash is done : restart printer

If you have black bars and printer is not detected properly, it means you did not do the point 4 properly [check: FAQ#172](#172)

so go back to point 4.
  1. After printer restarted do not forget to send G-Code M502 then M500 from repetier's Print Panel tab or from the printer menu "Settings/Load Fail-Safe" and accept to save the new eeprom settings.
  2. When update is complete you must calibrate your bed height!Use manual bed leveling in menu
  3. Next you can calibrate your filament as usual, and second extruder offset if you have.

For information on upgrading from or reverting to stock FW and other procedures please check Da Vinci Voltivo forum.

⚠️There is no known way to revert to stock FW on 1.0A/2.0A/AiO until today.

Do not forget to modify the configuration.h to match your targeted Da Vinci: 1.0, 2.0 SF or 2.0.
for basic installation just change :
'#define DAVINCI 1 // "1" For DAVINCI 1.0, "2" For DAVINCI 2.0 with 1 FAN, "3" For DAVINCI 2.0 with 2 FANS, 4 For AiO (no scanner)'
0 for not Davinci board (like DUE/RADDS)
1 for DaVinci 1.0 (1Fan, 1 Extruder)
2 for DaVinci 2.0 SF (1Fan, 2 Extruders)
3 for DaVinci 2.0 (2Fans, 2 Extruders)
4 for DaVinci AiO

Support for 1.0A and 2.0A: need to change #define MODEL 0 to #define MODEL 1

To repurpose the main Extruder cooling fan to be controlled VIA G-Code instructions M106/M107 as by default fan is automaticaly controled by temperature and not by commands:
Set REPURPOSE_FAN_TO_COOL_EXTRUSIONS to 1, do not forget to add a fan with power source to cool extruder permanently if you use this option.

Another excellent tutorial for flashing and installation is here from Jake : http://voltivo.com/forum/davinci-peersupport/501-da-vinci-setup-guide-from-installation-to-wireless-printing but Arduino ide version described is not correct for latest firmware version, use the one mentioned above.

Or a great video done by Daniel Gonos: https://www.youtube.com/watch?v=rjuCvlnpB7M but Arduino ide version described is not correct for latest firmware version, use the one mentioned above.

Any installation issue ? check the

the answer is in there.


TODO or Questions ?


Implemented

  • 0.92.10 Repetier based
  • Standard GCODE commands
  • Single/Dual extruders support DaVinci 1.0/A, 2.0/A all generations, AiO but no scanner support because no application
  • Single Fan / Dual fans support according printer configuration
  • Repurpose of second fan usage to be controlled by M106/M107 commands on Da Vinci 2.0/A, 1.0/A need additional fan
  • Sound and Lights management, including powersaving function (light can be managed remotely by GCODE)
  • Cleaning Nozzle(s) by menu and by GCODE for 1.0, 2.0 and AiO
  • Load / Unload filament by menu
  • Filament Sensor support (auto loading / alert if no filament when printing)
  • Auto Z-probe / average Z position calculation
  • Manual Leveling
  • Dripbox cleaning for 1.0/2.0
  • Customized Menu UI with Advanced/Easy mode (switch in "Settings/Mode" or using Up key/Right key/ Ok key in same time)
  • Loading FailSafe settings
  • Emergency stop (Left key/Down key/Ok key in same time)
  • Increase extruder temperature range to 270C and bed to 130C
  • Add temperature control on extruder to avoid movement if too cold
  • Add fast switch (1/10/100mm) for manual position/extrusion
  • Command for bed down
  • Several fixes from original FW
  • Watchdog
  • Basic Wifi support for module ESP8266 (https://github.com/luc-github/ESP8266/blob/master/README.md#result-of-esp12e-on-davinci)
  • Customized thermistor tables for bed and extruder(s) as Davinci boards do not follow design of others 3D printer boards so standard tables do not work properly check here
  • Multilanguage at runtime (EN/FR/GE/IT/NL/SW) more to come if get help : check here
  • More to come ....

How to test Watchdog ?

  • Connect repetier host and send M281 command.
    This will generate a timeout after showing "Triggering watchdog. If activated, the printer will reset." in serial terminal.
    If watchdog is enabled properly and working the printer will reset and restart.
    If not, you should have "Watchdog feature was not compiled into this version!" in serial terminal and printer will not automaticaly restart.

Current menu (not up to date):

Easy:
Advanced :

Donation:

Every support is welcome: PayPal – The safer, easier way to pay online.
Especially if need to buy new printer to add FW support.

repetier-firmware-4-davinci's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

repetier-firmware-4-davinci's Issues

Cannot control the printer via Repetier on 0.92

Hi,

I cannot control the printer via Repetier-host, but I am able to do basic movements on the extruder using Pronterface.

In Repetier-host, I am able to configure everything and select the correct com port, but that's about it.

If I click on Manual Control and thereafter click on the connect button, the status changes from disconnected to idle and it says "8 commands waiting".

Any ideas what this could be related to?

Be able to disable decoupled test feature

If some printer moding has not correct design, the result is air flow is not managed properly, this can generate the target temperature is not reached but lower off few degres, which generate decoupled test error.
Add a flag to disable decoupled test with warning as it means to decrease the safety control

Allow to have thermistors tables on SDCard instead of FW

This will allow people who update/modify extruder/bed to keep their personnal tables when they update FW
If table file is found on SD Card it will overide the default one, may be also add a command to generate the file with default values, or do storage on EEPROM may be more easy

Add temperature profil for extruder

This would be linked to Preheat bed/extruder and used in bed leveling
About load filament question is open: if change filament from ABS to PLA need another entry than unload/load but change filament to use the correct temperature to unload then load and change profile

like:
if ABS->PLA
profile = ABS
1 - unload : temperature = ABS
2 - load : temperature = ABS, to purge ABS while loading PLA
3 - change profile to PLA

if PLA ->ABS
1 - unload : temperature = PLA
2 - load : temperature = ABS
3 - change profile to ABS

Preheat :
1 extruder : follow profile ->Bed/Extruder
2 extruder : follow profile for extruder, follow hotest bed temperature profile for bed

Bed leveling / cleaning nozzle : they follow preheat

Pause SD print moves carriage out of reach

When pausing a SD print, the carriage moves to the front right which is very difficult to get at. For pause print could the carriage be moved to either x/y home or the clean nozzle position? This would allow for both nozzle cleaning and filament change mid print. Thanks.

Simplify 3D stop randomly to print then resume after few seconds

When this happen on serial monitor I see bunch of "wait" commands and on LCD the buffer decreasing, Can navigate in printer menu when this happen - so printer is not frozen and this does not trigger the watchdog
After few seconds print resume, I did not observed any crash neiter print failure but, seems weird.
This never happened with repetier host so far
I have set same setting for communication in S3D than for repetier
202 cache / Hw flow control / baud rate 230400

not sure how to address this

USBCore.cpp

Must you use this file?
What is it?

Thank :)

compile fails but only when EEPROM_MODE 0

When EEPROM_MODE is set to 1, compile works fine (Mac OS X 10.7.5 Arduino 1.5.8) but change the value to zero and the following errors appear

Arduino: 1.5.8 (Mac OS X), Board: "Arduino Due (Native USB Port)"

In file included from /var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Repetier.h:332:0,
from /var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:22:
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeX1 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:33:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeX1,"Manual-probe X1")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeY1 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:34:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeY1,"Manual-probe Y1")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeX2 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:35:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeX2,"Manual-probe X2")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeY2 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:36:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeY2,"Manual-probe Y2")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeX3 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:37:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeX3,"Manual-probe X3")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeY3 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:38:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeY3,"Manual-probe Y3")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeX4 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:39:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeX4,"Manual-probe X4")
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/HAL.h:71:48: error: 'const char Com::tManualProbeY4 []' is not a static member of 'class Com'
#define FSTRINGVALUE(var,value) const char var[] PROGMEM = value;
^
/var/folders/fj/_3y948796_b3ms2wjsk0kzp40000gn/T/build2022692941532461976.tmp/Communication.cpp:40:1: note: in expansion of macro 'FSTRINGVALUE'
FSTRINGVALUE(Com::tManualProbeY4,"Manual-probe Y4")
^
Error compiling.

Davinci 1.0 periodically restarts after installation of 0.92

After flashing the EEPROM and uploading 0.92 onto my Davinci 1.0, I am able to see that the firmware has successfully installed on the printer, but the issue that I am experiencing is that the printer restarts every 25 seconds.

So whether the printer is idling or whether I am in a menu, it still restarts.

I have one of the newer boards that had 1.1j as the default firmware on it.

Any ideas?

decompressing compressed gcode in firmware.

decompress archived gcode file on sd card. otherwise sd uploads take forever and everyone would need a transend wifi sd card, or the swap method is required to bypass the slow spi data rates.

Loading left filament on 2.0 on left dripbox

When loading new filament into the left extruder while the unit is at home position, the unit stays at the home position. This causes the new filament to dump out between the print bed and the right extruder's dripbox.
Luckily there is a straight opening from the left head to the base of the printer, but it would be more convenient for the old filament to go into the proper location.

Safeguard to avoid crashing into the Z endstop

I've had this kind of crash a few times on my 1.0. If you manually home the X and Y axis in the wrong order (first Y, then X), chances are you'll end up with the extruder's fan slamming into the Z-endstop. Same thing if you try to home Y with the head more or less lined up with the sensor. This is a very unfortunate design overlook, but I guess it could be fixed in the firmware.

I believe something like this was already in the early versions of the firmware (with the ENDSTOP_Y_BACK_ON_HOME thing), but it had the side-effect of not letting the head home in the right position. What if instead we'd forbid the printer head from moving into negative Y coordinates at any time unless X is in the negative too. So homing Y and then X should result in the head moving only up to Y0, and then X-HOME. Another approach would be to simply forbid any X move (around the position of the sensor) while Y is in the negative. Or rather than forbid the movement, perform it but dodging the Z-home sensor.

Does this sound doable or crazy?

Unknown command:Nxxx M107

Back to business with my davinci 1.0 loaded with Repetier 0.92 (latest version from master), and I see the following messages in the console when starting a print job from Repetier Host:

23:41:28.613 : X:-33.00 Y:-12.00 Z:0.000 E:0.0000
23:41:28.641 : Unknown command:N153 M107
23:54:11.151 : Unknown command:N187 M107
23:54:11.153 : Printing layer 1 of 60

00:25:31.478 : X:-33.00 Y:-12.00 Z:0.000 E:-3.0000
00:25:31.483 : Unknown command:N6707 M107

00:34:12.212 : X:-33.00 Y:-12.00 Z:0.000 E:0.0000
00:34:12.217 : Unknown command:N70 M107
00:34:21.686 : Unknown command:N100 M107

Don't recall ever seen these before, with 0.91.

Extruder cannot meet target temperature and generate a decouple issue

This is for record if anyone has this issue :
After several days without issue - got my left extruder generate several decouple issue
the extruder stick to 223 instead of 225 or 230 and then do some crazy jump to 247 then 210 then decouple
Issue happened after starting printing or when heating randomly.

the sensor connector was loose on the side of X carriage and generate wrong signal - just push it and it clipsed back to original position - then no more issue

Bed temperaure not controlled

Just noticed a strange issue with my 1.0 using 0.92. Was doing a print with the bed set at 90C, but over an hour it slowly climbed to 105 and the fail safe disconnected the sensors
Just did a test with the maintenance menu to preheat to table and bed. Ive tried both BangBang and Dead Time. Looking at the Repetier temperature graphs, you can see the extruder temperature is controlled, but the bed temps just slowly keeps rising. The graphs also show, if you look at the option to show power to the extruder and bed, that, no matter what the temperature is, the bed is still being supplied power, even when the temperature is well above the set point ie set temp was 90C , but at 95C the bed was still being powered. Haven't check with previous versions to see if I have the same issue. Maybe Ive accidentally altered something without knowing

Hotend Cleaning before printing.

it does not know where the cleaning fins are on my davinci 1.0 it goes around them before printing. really annoying when trying to print PLA.

Missing Pin for 2.0A support for ORIG_E0_ENABLE_PIN

still need to get the missing pin allowing to disable the left extruder motor on 2.0A to avoid getting hot
I have modified userpins.h

   #if MODEL==0    
   #define ORIG_E0_ENABLE_PIN     128   
   #else   
   #define ORIG_E0_ENABLE_PIN     124 // no idea if it is good value but can avoid conflict with ORIG_Z_MIN_PIN for 2.0A, another value to try is 85    
   #endif   
   #endif   

now need to test unused pins, I suggest to start by 124, then 85, then all free ones in pinout.xlsx
if left motor is cold when printer is idle, then pin is correct
another solution is to use bgm test sketch to test the pins

Davinci 1.0 Crashing / Resetting Mid Print

I have a Davinci 1.0 that worked 100% fine on Repetier .91. After upgrading to .92 I am having major issues with the printer crashing mid job. The LCD back light turns off then the printer immediately restarts and disconnects from my computer with no possibility of resuming. Does not happen after specific layers but after about 20 minutes to 45 minutes into the print. Cannot get a full successful print now. Ideas?

Edit: Not a restart loop like others are stating happening every few seconds, but possibly a watchdog issue? I am unfamiliar with the function. Sorry if this is in fact a repeat issue.

Remove unnecessary Homing

Now every Axis have an home flag instead of general one, and all home flags are reset if steppers are disabled, so confidence is 100% home flag are reliable now as no way to override them anymore.

so in several functions should not be necessary to home systematically, but home only when necessary.

Printer is not recognised in Windows after install of 0.92 on Davinci 1.0

Issue:

  • I have uploaded 0.92 on to my Davinci 1.0 and the printer isn't recognised in Windows anymore.
  • Before the upload, the device showed up as a Bossa... but now it just says Unknown Device.
  • I also verified that the firmware has successfully installed on the printer by cycling through the menus on the printer itself.

Steps taken to try to resolve the communication issue:

  • I had installed the Sam-ba and Due drivers but none seem to resolve the "Unknown Device" issue.

Any ideas?

Error compiling

I pulled down the firmware this morning and tried to compile in Arduino 1.5.8 and got this error.

Arduino: 1.5.8 (Windows 7), Board: "Arduino Due (Native USB Port)"

HAL.cpp: In static member function 'static void HAL::setupSdEeprom()':
HAL.cpp:69:8: error: 'class SDCard' has no member named 'setupEeprom'
sd.setupEeprom(sdEepromImage, SDEEPROM_SIZE);
^
HAL.cpp: In static member function 'static bool HAL::syncSdEeprom()':
HAL.cpp:78:19: error: 'class SDCard' has no member named 'syncEeprom'
return sd.syncEeprom();
^
HAL.cpp: In static member function 'static void HAL::resetHardware()':
HAL.cpp:257:21: error: 'playsound' was not declared in this scope
playsound (1000,400);
^
Error compiling.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

Any clues? I did copy the files usbcore and variants as instructed.

Printer is not responding correctly to commands after a killed print using M50

I've seen this bug several times already, as I'm experimenting with the new E3D hot-end and that involves many test prints that often get cancelled.

I think I can repro it pretty much 100% with the following steps:

  • Start a print from RH.
  • After a while hit the Kill Print button in RH.
  • Keep the extruder turned on to maintain the temp.
  • Use the manual extrusion button in RH to extrude some filament.

At this point, rather than extruded filament, the print head starts moving slowly on the Y axis and towards the home position. I haven't tried much but I believe that things get very messy from there, as in some gcode commands no longer do what they should. I remember once that the head ended up moving in the opposite direction than it was commanded.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.