Commit Graph

80 Commits

Author SHA1 Message Date
Scott Bezek
ae28d523e0
Protobuf serial protocol (#101)
- Firmware
  - Refactor all code to use a log interface rather than `Serial` directly
  - Moved platformio.ini to root, so you can load the entire repo in VS Code and still use platformio
  - Reduced graphic buffer bit depth to 8 bits (short on RAM :( )
  - Implemented threadsafe log interface in interface_task (using a queue for posting log message)
  - Created serial protocol interface and 2 implementations - plaintext (default) and protobuf (selected by sending a NULL byte)
  - Protobuf protocol is roughly the same architecture as Splitflap's:
    - PacketSerial (cobs) framing with NULL delimiters
    - CRC32 checksums for packets
    - nanopb generated code for encoding/decoding (generated firmware code is checked in, since it should change less frequently and this reduces burden to build the project from scratch)
- Software
  - Typescript example host-side code:
    - smartknobjs-proto
      - Autogenerated types/encoding/decoding protobuf code (using protobufjs)
    - smartknobjs
      - Helper library for interfacing the with smartknob via serial/protobuf. Implements basic outgoing queue (with retries and ACK checking) and message callback for responding to messages from the SmartKnob
    - example
      - Basic demo CLI app that uses smartknobjs to connect to the smartknob, send a haptic config, and print state changes and log messages to the console
2022-10-22 17:27:35 -07:00
Scott Bezek
aec9799e10 Fix placeholder replacement for kikit gerber exports 2022-10-10 22:22:09 -07:00
Scott Bezek
7189eaf751 Add alternative MT6701 LCSC/JLC part number 2022-10-10 22:17:32 -07:00
Scott Bezek
04475a8810 Add BOM entries and note for new LDO
Also clean up PCB:
- Make LDOs mirror each other on board
- Custom footprints with silkscreen "in" "gnd" "out" labels
2022-10-10 21:11:22 -07:00
James
935a2d2119
Adding second footprint for 3V3 voltage regulator (#98)
The voltage regulator that was originally used isn't available at the moment. To provide more options, a second footprint was added to the PCB for an alternative regulator that has a different pinout. Important to note that only one regulator should be used.

Also, adjusted .gitignore for Mac files and KiCad auto-generated backups.
2022-10-10 20:26:51 -07:00
Scott Bezek
8a5d58f25b
Add discord invite link to README 2022-10-10 13:49:46 -07:00
Scott Bezek
8241473226 Remove old PIO target from CI 2022-10-05 22:33:43 -07:00
Scott Bezek
b286cfabe1 Firmware cleanup 2022-10-04 22:21:51 -07:00
Scott Bezek
3bee19df93
Migrate to KiCad 6 (#96)
- Updated view_base and view_screen KiCad projects to v6 files
  - Updated footprints to v6 versions
  - Fixed all DRC errors and most warnings
- Updated CI
  - Run on Ubuntu 22.04 runner
  - Updated KiBot and KiKit versions
  - Use KiBot for 3d rendering now instead of custom scripts
  - Switched to using KiCad text variables for replacement rather than raw text find&replace
- Misc design updates
  - Exposed bottom-side thermal pad underneath TMC6300 to make it easier to possibly hand-solder
  - Separated GND and GNDA nets, replaced connection with a net-tie, and updated corresponding copper fills around HX711
2022-10-02 21:40:10 -07:00
Scott Bezek
710fbcdc67 Motor is available from SparkFun 2022-09-26 22:01:11 -07:00
Scott Bezek
72808f8af3
Update readme - link to new wiki, new video, etc 2022-06-26 11:25:00 -07:00
Scott Bezek
604f21dcb6 Fix compilation error if SK_ALS=0 but PIN_SDA and PIN_SCL are set 2022-05-27 18:57:07 -07:00
Christoph Gysin
0b38eac75d
Add link to issue #16 (#68) 2022-05-04 06:44:32 -07:00
Scott Bezek
e35319af6d Increase motor task stack
Avoid accidental stack overflows from small stack.

Updates #37
Updates #50
2022-04-07 10:20:24 -07:00
Scott Bezek
21031d13af
Add PlatformIO Github Actions workflow (#55)
And add badges for both electronics and pio actions to README

Updates #49
2022-04-06 22:07:48 -07:00
Scott Bezek
45fd9f4e3e Cleanup old pio envs, fix some compilation issues with compile flags
Removed some legacy platformio envs that are not actively being maintained. But also fixed some bugs with different build flags that caused compilation issues.

Fixes #49
2022-04-06 21:53:41 -07:00
Scott Bezek
5c2a10428a
Update kikit to 1.0.4
To fix breaking change from transitive dependency `click`. More info: https://github.com/yaqwsx/KiKit/releases/tag/v1.0.4
2022-03-31 12:44:07 -07:00
Scott Bezek
a30e94cf4b
Update README.md
Some updates and clarifications on the motor situation and current project status
2022-03-31 12:33:29 -07:00
Scott Bezek
59420c6da9
Update readme - motors are no longer available :( 2022-03-24 09:56:15 -07:00
Scott Bezek
3616cee8b8 Move C10 slightly so that paste/stencil matches v0.2 2022-03-16 11:21:22 -07:00
Scott Bezek
1f7bf8a92a Extract release version number from tag, if applicable 2022-03-14 21:59:03 -07:00
Scott Bezek
916854c611 Fix LCD footprint lib path and hide LCD 3d model by default in kicad 3d rendering 2022-03-14 18:06:52 -07:00
Scott Bezek
3cfbd3501d
Update README.md
Add notes about artifacts being auto-generated and untested. Also add link to potential other motor listing. Updates #16
2022-03-14 18:01:54 -07:00
Scott Bezek
deee357036 Add testpoints for RX and TX
Updates #14
2022-03-14 17:35:03 -07:00
Scott Bezek
db3b3c256f Add alignment holes, update board outline - shorter slots
Fixes #7
2022-03-14 17:28:30 -07:00
Scott Bezek
fed7f36ce1
Update README.md 2022-03-13 17:14:47 -07:00
Scott Bezek
637057dd1f
Generate merged BOM (#15)
Also add more bom-only items to the schematic
2022-03-13 17:04:22 -07:00
Scott Bezek
5316810d83 Remove "service loop" silkscreen marks from screen pcb
Service loops weren't really feasible/helpful, so don't recommend them via the silkscreen. Fixes #10

Also added testpoints (or could be solder points) for all signals on the top side of the screen PCB. Fixes #11
2022-03-13 15:11:21 -07:00
Scott Bezek
aea7efc3d0 Add a bunch of part numbers to BOM 2022-03-13 12:50:26 -07:00
Scott Bezek
91498a1da0 More helpful tips in the README 2022-03-11 18:29:02 -08:00
Scott Bezek
8a7c3e3a61 Update README 2022-03-11 15:45:43 -08:00
Scott Bezek
48dcff506d
Update README.md 2022-03-11 10:01:21 -08:00
Scott Bezek
a79b2dfb3a
Update README.md 2022-03-11 08:00:12 -08:00
Scott Bezek
0a09f3a279
Update README.md 2022-03-10 19:39:41 -08:00
Scott Bezek
1a6c5ff090 Fix HX711 analog supply, fix 3.3v regulator
Fixes #8
Fixes #3
2022-03-10 19:18:51 -08:00
Scott Bezek
b47fcf7da4
Firmware updates - sensors, calibration, View support, etc (#9)
- Modify TLV493d library to expose frame counter in order to check for lockup, and implement auto-reset in tlv_sensor in case of lockup
 - Implement MT6701 SimpleFOC sensor
 - Make display optional
 - Add optional LED, strain, ALS support
 - Connect ALS to LED and display brightness
 - Hardcoded strain gauge thresholds and haptic feedback
2022-03-10 19:05:49 -08:00
Scott Bezek
9e2725f850 Add link to 15mm adapter 2022-02-23 16:19:27 -08:00
Scott Bezek
8148571e1f More CAD links 2022-02-18 16:55:37 -08:00
Scott Bezek
de2dc87b16 Add more motor CAD links 2022-02-18 16:34:09 -08:00
Scott Bezek
8c52505bae Add CAD readme 2022-02-18 16:05:55 -08:00
Scott Bezek
a6850aed7f Change View Base to v0.2 2022-02-16 09:09:24 -08:00
Scott Bezek
48ab735a93 View base: Fix GND fill under TMC6300 2022-02-16 09:07:05 -08:00
Scott Bezek
16c9d597f9 Clean up schematic 2022-02-15 15:41:44 -08:00
Scott Bezek
fc825098ab 3d rendering improvements 2022-02-15 13:41:08 -08:00
Scott Bezek
e2076d2eda Remove paste from USB-C pads
USB-C connector will be soldered separately from main top reflow, since it hangs below the board.
2022-02-15 13:09:32 -08:00
Scott Bezek
f6338c9ffb Tweak PCB 3d renders 2022-02-15 13:05:24 -08:00
Scott Bezek
417ca2c263 View screen pcb: move solderpads to bottom to avoid shorting on metal LCD shield 2022-02-15 12:16:43 -08:00
Scott Bezek
a20609e364 Disable raytracing on renders 2022-02-15 10:37:12 -08:00
Scott Bezek
56feeb484c
Fab automation (#2)
- Use KiKit for fab automation
- Add splitflap scripts for exporting pcb pdfs, and switch to splitflap script for 3d rendering (for consistency with fab automation)
- Added support in 3d rendering scripts for soldermask & silkscreen colors, option to skip virtual components
- Added silkscreen to base and screen pcbs for commit and date info
2022-02-15 01:27:38 -08:00
Scott Bezek
8957d8b28e
KiBot electronics automation (#1)
Basic KiBot artifact generation - schematic, bom, and pbc renders
2022-02-14 19:31:39 -08:00