Commit Graph

15 Commits

Author SHA1 Message Date
Grigorii Merkushev
8700af8a24
Fine tuning for esp32s3 (#143)
- exposed strain SCK and DO
- use 12 bit PWM (instead of 16 bit) for screen brightness on s3
- added option to use uart serial for s3
- bump nanopb/Nanopb @ 0.4.7
- fixed SPI bus alias and DMA channel for s3

---------

Co-authored-by: Scott Bezek <scottbez1@gmail.com>
2023-11-13 22:42:44 -08:00
Scott Bezek
1e2b1983c2 Fix GitHub Actions path filters w/ globs 2023-07-09 17:40:41 -07:00
Scott Bezek
1d2458b28a
Web Serial library and demo (#125)
- reworked smartknobjs into separate smartknobjs-node and
smartknobjs-webserial packages
- configured CI to build and deploy webserial example to
https://scottbez1.github.io/smartknob/
2023-06-20 00:13:25 -07:00
Scott Bezek
d64cc55432 Add missing partition file and update GH actions to run nanofoc build 2023-06-16 09:21:13 -07:00
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
8241473226 Remove old PIO target from CI 2022-10-05 22:33:43 -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
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
1f7bf8a92a Extract release version number from tag, if applicable 2022-03-14 21:59:03 -07: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